From Vasanth.Venkatachalam at amd.com Tue Apr 2 07:50:10 2013 From: Vasanth.Venkatachalam at amd.com (Venkatachalam, Vasanth) Date: Tue, 2 Apr 2013 14:50:10 +0000 Subject: graal checkins Message-ID: <5DD1503F815BD14889DC81D28643E3A732A19693@sausexdag06.amd.com> Hi, I'm working on an HSAIL backend for Graal and am trying to decide how often I should be pulling changes from http://hg.openjdk.graal.net/graal/graal to keep my local repository up to date. I found that at least twice this month major API changes were checked in which required me to do extensive work to update my code to agree with these changes. Is there a specific day of the week when check-ins are scheduled, or does a notice get sent out whenever a major change is about to be checked in? I am getting changeset messages, but it looks there was a check-in just this Friday and I saw no notice sent out. Vasanth From doug.simon at oracle.com Tue Apr 2 08:47:00 2013 From: doug.simon at oracle.com (Doug Simon @ Oracle) Date: Tue, 2 Apr 2013 17:47:00 +0200 Subject: graal checkins In-Reply-To: <5DD1503F815BD14889DC81D28643E3A732A19693@sausexdag06.amd.com> References: <5DD1503F815BD14889DC81D28643E3A732A19693@sausexdag06.amd.com> Message-ID: <6F558B1F-1508-4866-B131-F4299D62DC17@oracle.com> Hi Vasanth, We have a cronjob propagate changes from our internal repository to the OpenJDK repository once a week at 3am (CET) on Sunday. We currently use this delay to give ourselves a chance from prevent/fixing "unsavory" changesets getting out. On Apr 2, 2013, at 4:50 PM, "Venkatachalam, Vasanth" wrote: > Hi, > > I'm working on an HSAIL backend for Graal and am trying to decide how often I should be pulling changes from http://hg.openjdk.graal.net/graal/graal to keep my local repository up to date. I found that at least twice this month major API changes were checked in which required me to do extensive work to update my code to agree with these changes. A good way to mitigate disruption to your workflow is to look through the 'hg incoming' changesets before pulling. If you see something that you suspect will cause a headache, please send a message to this list and we'll do our best to explain the changes in more detail as well as hopefully give tips on how to minimize disruption if/when you integrate them. > Is there a specific day of the week when check-ins are scheduled, or does a notice get sent out whenever a major change is about to be checked in? I am getting changeset messages, but it looks there was a check-in just this Friday and I saw no notice sent out. At the moment, we don't send out change messages apart from what's in the changeset descriptions. -Doug From christian.thalinger at oracle.com Tue Apr 2 13:57:19 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 2 Apr 2013 13:57:19 -0700 Subject: PATCH: make BasicPTXTest's main more flexible Message-ID: <7B489532-C1F7-47C8-9897-BC677EC24ABB@oracle.com> Could we push this patch? It makes it easier to run newly added methods from the command line (and print the code). -- Chris diff --git a/graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java b/graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java --- a/graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java +++ b/graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java @@ -22,6 +22,8 @@ */ package com.oracle.graal.compiler.ptx.test; +import java.lang.reflect.Method; + import org.junit.*; import com.oracle.graal.api.code.*; @@ -90,7 +92,12 @@ public static void main(String[] args) { BasicPTXTest basicPTXTest = new BasicPTXTest(); - System.out.println("testAddSnippet: \n" + new String(basicPTXTest.test("testAddSnippet").getTargetCode())); - System.out.println("testArraySnippet: \n" + new String(basicPTXTest.test("testArraySnippet").getTargetCode())); + Method[] methods = BasicPTXTest.class.getMethods(); + for (Method m : methods) { + if (m.getAnnotation(Test.class) != null) { + String name = m.getName() + "Snippet"; + System.out.println(name + ": \n" + new String(basicPTXTest.test(name).getTargetCode())); + } + } } } From doug.simon at oracle.com Tue Apr 2 14:15:53 2013 From: doug.simon at oracle.com (Doug Simon @ Oracle) Date: Tue, 2 Apr 2013 23:15:53 +0200 Subject: PATCH: make BasicPTXTest's main more flexible In-Reply-To: <7B489532-C1F7-47C8-9897-BC677EC24ABB@oracle.com> References: <7B489532-C1F7-47C8-9897-BC677EC24ABB@oracle.com> Message-ID: <895C2DF5-67B0-4D75-B136-C165567F2891@oracle.com> I'll integrate it now and push it through to the OpenJDK repository. On Apr 2, 2013, at 10:57 PM, Christian Thalinger wrote: > Could we push this patch? It makes it easier to run newly added methods from the command line (and print the code). > > -- Chris > > diff --git a/graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java b/graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java > --- a/graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java > +++ b/graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java > @@ -22,6 +22,8 @@ > */ > package com.oracle.graal.compiler.ptx.test; > > +import java.lang.reflect.Method; > + > import org.junit.*; > > import com.oracle.graal.api.code.*; > @@ -90,7 +92,12 @@ > > public static void main(String[] args) { > BasicPTXTest basicPTXTest = new BasicPTXTest(); > - System.out.println("testAddSnippet: \n" + new String(basicPTXTest.test("testAddSnippet").getTargetCode())); > - System.out.println("testArraySnippet: \n" + new String(basicPTXTest.test("testArraySnippet").getTargetCode())); > + Method[] methods = BasicPTXTest.class.getMethods(); > + for (Method m : methods) { > + if (m.getAnnotation(Test.class) != null) { > + String name = m.getName() + "Snippet"; > + System.out.println(name + ": \n" + new String(basicPTXTest.test(name).getTargetCode())); > + } > + } > } > } > From christian.thalinger at oracle.com Tue Apr 2 14:18:06 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 2 Apr 2013 14:18:06 -0700 Subject: PATCH: make BasicPTXTest's main more flexible In-Reply-To: <895C2DF5-67B0-4D75-B136-C165567F2891@oracle.com> References: <7B489532-C1F7-47C8-9897-BC677EC24ABB@oracle.com> <895C2DF5-67B0-4D75-B136-C165567F2891@oracle.com> Message-ID: <54FF6250-7892-4D09-B910-1CAFC24A9B14@oracle.com> On Apr 2, 2013, at 2:15 PM, Doug Simon @ Oracle wrote: > I'll integrate it now and push it through to the OpenJDK repository. Thank you. -- Chris > > On Apr 2, 2013, at 10:57 PM, Christian Thalinger wrote: > >> Could we push this patch? It makes it easier to run newly added methods from the command line (and print the code). >> >> -- Chris >> >> diff --git a/graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java b/graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java >> --- a/graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java >> +++ b/graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java >> @@ -22,6 +22,8 @@ >> */ >> package com.oracle.graal.compiler.ptx.test; >> >> +import java.lang.reflect.Method; >> + >> import org.junit.*; >> >> import com.oracle.graal.api.code.*; >> @@ -90,7 +92,12 @@ >> >> public static void main(String[] args) { >> BasicPTXTest basicPTXTest = new BasicPTXTest(); >> - System.out.println("testAddSnippet: \n" + new String(basicPTXTest.test("testAddSnippet").getTargetCode())); >> - System.out.println("testArraySnippet: \n" + new String(basicPTXTest.test("testArraySnippet").getTargetCode())); >> + Method[] methods = BasicPTXTest.class.getMethods(); >> + for (Method m : methods) { >> + if (m.getAnnotation(Test.class) != null) { >> + String name = m.getName() + "Snippet"; >> + System.out.println(name + ": \n" + new String(basicPTXTest.test(name).getTargetCode())); >> + } >> + } >> } >> } >> > From christian.thalinger at oracle.com Tue Apr 2 14:45:14 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 2 Apr 2013 14:45:14 -0700 Subject: PATCH: Parameter ambiguous in SnippetTemplate Message-ID: <07A8E780-A6D2-4749-822C-6EA980A5D989@oracle.com> I know I'm doing stuff different than others but this file didn't compile for me because Parameter was ambiguous. Two ways to fix it: either change the imports or use Snippet.Parameter. -- Chris diff --git a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java @@ -22,7 +22,8 @@ */ package com.oracle.graal.replacements; -import java.lang.reflect.*; +import java.lang.reflect.Array; +import java.lang.reflect.Modifier; import java.util.*; import java.util.Map.Entry; import java.util.concurrent.*; From Vasanth.Venkatachalam at amd.com Wed Apr 3 13:15:15 2013 From: Vasanth.Venkatachalam at amd.com (Venkatachalam, Vasanth) Date: Wed, 3 Apr 2013 20:15:15 +0000 Subject: lambda support for Graal Message-ID: <5DD1503F815BD14889DC81D28643E3A732A19DC8@sausexdag06.amd.com> Hi, Can someone explain what the plans for adding support to compile JDK8 lambda expressions? We'll need this functionality soon for the work we're doing, namely generating HSAIL for parallelizable Java code marked with lambdas. Vasanth From doug.simon at oracle.com Wed Apr 3 13:42:20 2013 From: doug.simon at oracle.com (Doug Simon @ Oracle) Date: Wed, 3 Apr 2013 22:42:20 +0200 Subject: lambda support for Graal In-Reply-To: <5DD1503F815BD14889DC81D28643E3A732A19DC8@sausexdag06.amd.com> References: <5DD1503F815BD14889DC81D28643E3A732A19DC8@sausexdag06.amd.com> Message-ID: On Apr 3, 2013, at 10:15 PM, "Venkatachalam, Vasanth" wrote: > Hi, > > Can someone explain what the plans for adding support to compile JDK8 lambda expressions? We have no current plans for adding this support. As far as I am aware, we have not yet looked into what compiler support is needed for lambda expressions. Is it only a matter of supporting invokedynamic and MethodHandles? > We'll need this functionality soon for the work we're doing, namely generating HSAIL for parallelizable Java code marked with lambdas. How does this marking show up in the class file/bytecode? It may be possible to do some kind of pattern matching. -Doug From forax at univ-mlv.fr Wed Apr 3 13:41:30 2013 From: forax at univ-mlv.fr (Remi Forax) Date: Wed, 03 Apr 2013 22:41:30 +0200 Subject: lambda support for Graal In-Reply-To: <5DD1503F815BD14889DC81D28643E3A732A19DC8@sausexdag06.amd.com> References: <5DD1503F815BD14889DC81D28643E3A732A19DC8@sausexdag06.amd.com> Message-ID: <515C93FA.4070401@univ-mlv.fr> On 04/03/2013 10:15 PM, Venkatachalam, Vasanth wrote: > Hi, > > Can someone explain what the plans for adding support to compile JDK8 lambda expressions? > > We'll need this functionality soon for the work we're doing, namely generating HSAIL for parallelizable Java code marked with lambdas. > > Vasanth Hi Vasanth, a lambda EG member here, detecting the creation of a lambda is easy, you just have to lookup up an invokedynamic that use the LambdaMetaFactory as bootstrap method. So there is no need to have a support of invokedynamic in Graal, detecting this peculiar pattern is enough. [http://cr.openjdk.java.net/~briangoetz/lambda/lambda-translation.html] The bootstrap arguments of the bootstrap method will give you the code of the lambda, I suppose that you need to re-build an AST (or a kind of) from the code of the lambda. cheers, R?mi From christian.thalinger at oracle.com Wed Apr 3 17:00:49 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 3 Apr 2013 17:00:49 -0700 Subject: lambda support for Graal In-Reply-To: References: <5DD1503F815BD14889DC81D28643E3A732A19DC8@sausexdag06.amd.com> Message-ID: On Apr 3, 2013, at 1:42 PM, Doug Simon @ Oracle wrote: > > On Apr 3, 2013, at 10:15 PM, "Venkatachalam, Vasanth" wrote: > >> Hi, >> >> Can someone explain what the plans for adding support to compile JDK8 lambda expressions? > > We have no current plans for adding this support. As far as I am aware, we have not yet looked into what compiler support is needed for lambda expressions. Is it only a matter of supporting invokedynamic and MethodHandles? I'm going to work on this. Next week I have a call with Thomas to figure out what is required. -- Chris > >> We'll need this functionality soon for the work we're doing, namely generating HSAIL for parallelizable Java code marked with lambdas. > > How does this marking show up in the class file/bytecode? It may be possible to do some kind of pattern matching. > > -Doug From christian.thalinger at oracle.com Thu Apr 4 11:09:24 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 4 Apr 2013 11:09:24 -0700 Subject: lambda support for Graal In-Reply-To: <515CDCE4.3040709@gmx.at> References: <5DD1503F815BD14889DC81D28643E3A732A19DC8@sausexdag06.amd.com> <515CDCE4.3040709@gmx.at> Message-ID: <03E32160-65D0-44F9-8015-6A2269B5D709@oracle.com> On Apr 3, 2013, at 6:52 PM, Andreas Woess wrote: > Not much really. I've done some experimental hacking on that a while ago > (and can provide you with a patch as a starting point). The main task is > probably implementing the MH intrinsics in Graal, so that the methods > are inlined. Please. A patch would be great. -- Chris > > - andreas > > On 2013-04-04 02:00, Christian Thalinger wrote: >> On Apr 3, 2013, at 1:42 PM, Doug Simon @ Oracle wrote: >> >>> On Apr 3, 2013, at 10:15 PM, "Venkatachalam, Vasanth" wrote: >>> >>>> Hi, >>>> >>>> Can someone explain what the plans for adding support to compile JDK8 lambda expressions? >>> We have no current plans for adding this support. As far as I am aware, we have not yet looked into what compiler support is needed for lambda expressions. Is it only a matter of supporting invokedynamic and MethodHandles? >> I'm going to work on this. Next week I have a call with Thomas to figure out what is required. >> >> -- Chris >> >>>> We'll need this functionality soon for the work we're doing, namely generating HSAIL for parallelizable Java code marked with lambdas. >>> How does this marking show up in the class file/bytecode? It may be possible to do some kind of pattern matching. >>> >>> -Doug > From Gary.Frost at amd.com Thu Apr 4 11:33:10 2013 From: Gary.Frost at amd.com (Frost, Gary) Date: Thu, 4 Apr 2013 18:33:10 +0000 Subject: lambda support for Graal In-Reply-To: <03E32160-65D0-44F9-8015-6A2269B5D709@oracle.com> References: <5DD1503F815BD14889DC81D28643E3A732A19DC8@sausexdag06.amd.com> <515CDCE4.3040709@gmx.at> <03E32160-65D0-44F9-8015-6A2269B5D709@oracle.com> Message-ID: Christian When you say 'so the methods are inlined' below, do you mean the lambda$$XX(args) method getting inlined at the call site? If so, for our Sumatra/Graal experiments we would prefer if these were not inlined ;) At present our experiments are dependent on intercepting the call site and dispatching to the GPU. If this were heavily inlined we would need a way to detect it and un-inline (outline? ;)) So given class MyClass{ void m(){ T capture; XXXX.parallel().forEach(arg1, arg2 -> { /* uses capture */}); } } Javac creates a synthetic method added at the call site class MyClass{ void m(){ T capture; XXXX.parallel().forEach(arg1, arg2 -> { /* uses capture */}); } private synthetic lambda$$(capture, arg1, arg2){ /* lambda code using capture */ } } And some 'magic' Bootstrapclass/method handle stuff to create an object which allows us to combine the reference to this new method as well as the args and the captured values from the call to the implementation of forEach(...) Is your intent to try to inline the actual lambda$$ method above? Certainly for Sumatra we would like to opt-out of the inlining of the lambda$$() at this stage. Gary -----Original Message----- From: graal-dev-bounces at openjdk.java.net [mailto:graal-dev-bounces at openjdk.java.net] On Behalf Of Christian Thalinger Sent: Thursday, April 04, 2013 1:09 PM To: Andreas Woess Cc: graal-dev at openjdk.java.net Subject: Re: lambda support for Graal On Apr 3, 2013, at 6:52 PM, Andreas Woess wrote: > Not much really. I've done some experimental hacking on that a while > ago (and can provide you with a patch as a starting point). The main > task is probably implementing the MH intrinsics in Graal, so that the > methods are inlined. Please. A patch would be great. -- Chris > > - andreas > > On 2013-04-04 02:00, Christian Thalinger wrote: >> On Apr 3, 2013, at 1:42 PM, Doug Simon @ Oracle wrote: >> >>> On Apr 3, 2013, at 10:15 PM, "Venkatachalam, Vasanth" wrote: >>> >>>> Hi, >>>> >>>> Can someone explain what the plans for adding support to compile JDK8 lambda expressions? >>> We have no current plans for adding this support. As far as I am aware, we have not yet looked into what compiler support is needed for lambda expressions. Is it only a matter of supporting invokedynamic and MethodHandles? >> I'm going to work on this. Next week I have a call with Thomas to figure out what is required. >> >> -- Chris >> >>>> We'll need this functionality soon for the work we're doing, namely generating HSAIL for parallelizable Java code marked with lambdas. >>> How does this marking show up in the class file/bytecode? It may be possible to do some kind of pattern matching. >>> >>> -Doug > From christian.thalinger at oracle.com Thu Apr 4 15:11:28 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 4 Apr 2013 15:11:28 -0700 Subject: lambda support for Graal In-Reply-To: References: <5DD1503F815BD14889DC81D28643E3A732A19DC8@sausexdag06.amd.com> <515CDCE4.3040709@gmx.at> <03E32160-65D0-44F9-8015-6A2269B5D709@oracle.com> Message-ID: <38690D9F-58E0-48A6-B199-2FEA6DDA7BA2@oracle.com> On Apr 4, 2013, at 11:33 AM, "Frost, Gary" wrote: > Christian > > When you say 'so the methods are inlined' below, do you mean the lambda$$XX(args) method getting inlined at the call site? Well, Andreas said that ;-) > > If so, for our Sumatra/Graal experiments we would prefer if these were not inlined ;) > > At present our experiments are dependent on intercepting the call site and dispatching to the GPU. If this were heavily inlined we would need a way to detect it and un-inline (outline? ;)) If the invokedynamic support is in Graal then invokedynamic call sites will be inlined. I'm not a Lambda expert but I thought invokedynamic is only used to set up the lambda and not actually call it (someone will correct me). How are you handling the invokedynamic instruction right now? -- Chris > > So given > class MyClass{ > void m(){ > T capture; > XXXX.parallel().forEach(arg1, arg2 -> { /* uses capture */}); > } > } > > Javac creates a synthetic method added at the call site > > class MyClass{ > void m(){ > T capture; > XXXX.parallel().forEach(arg1, arg2 -> { /* uses capture */}); > } > private synthetic lambda$$(capture, arg1, arg2){ > /* lambda code using capture */ > } > } > > And some 'magic' Bootstrapclass/method handle stuff to create an object which allows us to combine the reference to this new method as well as the args and the captured values from the call to the implementation of forEach(...) > > Is your intent to try to inline the actual lambda$$ method above? > > Certainly for Sumatra we would like to opt-out of the inlining of the lambda$$() at this stage. > > Gary > > -----Original Message----- > From: graal-dev-bounces at openjdk.java.net [mailto:graal-dev-bounces at openjdk.java.net] On Behalf Of Christian Thalinger > Sent: Thursday, April 04, 2013 1:09 PM > To: Andreas Woess > Cc: graal-dev at openjdk.java.net > Subject: Re: lambda support for Graal > > > On Apr 3, 2013, at 6:52 PM, Andreas Woess wrote: > >> Not much really. I've done some experimental hacking on that a while >> ago (and can provide you with a patch as a starting point). The main >> task is probably implementing the MH intrinsics in Graal, so that the >> methods are inlined. > > Please. A patch would be great. > > -- Chris > >> >> - andreas >> >> On 2013-04-04 02:00, Christian Thalinger wrote: >>> On Apr 3, 2013, at 1:42 PM, Doug Simon @ Oracle wrote: >>> >>>> On Apr 3, 2013, at 10:15 PM, "Venkatachalam, Vasanth" wrote: >>>> >>>>> Hi, >>>>> >>>>> Can someone explain what the plans for adding support to compile JDK8 lambda expressions? >>>> We have no current plans for adding this support. As far as I am aware, we have not yet looked into what compiler support is needed for lambda expressions. Is it only a matter of supporting invokedynamic and MethodHandles? >>> I'm going to work on this. Next week I have a call with Thomas to figure out what is required. >>> >>> -- Chris >>> >>>>> We'll need this functionality soon for the work we're doing, namely generating HSAIL for parallelizable Java code marked with lambdas. >>>> How does this marking show up in the class file/bytecode? It may be possible to do some kind of pattern matching. >>>> >>>> -Doug >> > > > From morris.meyer at oracle.com Fri Apr 5 10:46:16 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Fri, 05 Apr 2013 13:46:16 -0400 Subject: RFR(M): Graal PTX enhancements Message-ID: <515F0DE8.4050104@oracle.com> Folks, Could I get a review of my recent PTX enhancements to Graal? I've changed the tests to have a base class, extended the assembler, and have taken the test coverage of PTX from 2 to 23 tests. Thanks in advance, --morris meyer WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 From Vasanth.Venkatachalam at amd.com Fri Apr 5 11:36:52 2013 From: Vasanth.Venkatachalam at amd.com (Venkatachalam, Vasanth) Date: Fri, 5 Apr 2013 18:36:52 +0000 Subject: testArraySnippet Message-ID: <5DD1503F815BD14889DC81D28643E3A732A1A521@sausexdag06.amd.com> Hi, I was playing with your testArraySnippet in BasicPTXTest which returns the zero-th element of an array. If instead of returning the 0th element, I modify the test case like this to return the ith element: public static int testArraySnippet(int[]array, int i) { return array[i]; } I get the error below. It looks like the issues is that base register for the address computation in prepareAddress is a null object, so the emitAdd is throwing an exception. This seems to be an issue in the PTX test as well as my HSAIL test which is modeled after the PTX test. Are there plans to fix it, or do people have ideas for what needs to be fixed here? t com.oracle.graal.graph.GraalInternalError.shouldNotReachHere(GraalInternalError.java:46) at com.oracle.graal.compiler.hsail.HSAILLIRGenerator.emitAdd(HSAILLIRGenerator.java:296) at com.oracle.graal.compiler.hsail.HSAILLIRGenerator.prepareAddress(HSAILLIRGenerator.java:189) at com.oracle.graal.compiler.hsail.HSAILLIRGenerator.emitLoad(HSAILLIRGenerator.java:200) at com.oracle.graal.compiler.hsail.HSAILLIRGenerator.emitLoad(HSAILLIRGenerator.java:1) at com.oracle.graal.nodes.extended.IndexedLocationNode.generateLoad(IndexedLocationNode.java:90) at com.oracle.graal.nodes.extended.FloatingReadNode.generate(FloatingReadNode.java:56) at com.oracle.graal.compiler.gen.LIRGenerator.emitNode(LIRGenerator.java:423) at com.oracle.graal.compiler.hsail.HSAILLIRGenerator.emitNode(HSAILLIRGenerator.java:81) at com.oracle.graal.compiler.gen.LIRGenerator.doRoot(LIRGenerator.java:418) From christian.thalinger at oracle.com Fri Apr 5 14:42:55 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 5 Apr 2013 14:42:55 -0700 Subject: RFR(M): Graal PTX enhancements In-Reply-To: <515F0DE8.4050104@oracle.com> References: <515F0DE8.4050104@oracle.com> Message-ID: On Apr 5, 2013, at 10:46 AM, Morris Meyer wrote: > Folks, > > Could I get a review of my recent PTX enhancements to Graal? I've changed the tests to have a base class, extended the assembler, and have taken the test coverage of PTX from 2 to 23 tests. > > Thanks in advance, > > --morris meyer > > WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 This is great! Looking at: graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java it seems we need to turn off "Organize imports" in our favorite editor. Also indenting seems to be an issue. I know the answer is "use the mx script to create the IDE configuration" but no everybody is using Eclipse or Netbeans. We need to find a way to keep this consistent without the help of an IDE (maybe Mercurial push hooks?). graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXCompilerBase.java: Can we name the test base class PTXTestBase? Otherwise this looks good to me. -- Chris From morris.meyer at oracle.com Fri Apr 5 15:09:42 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Fri, 5 Apr 2013 18:09:42 -0400 Subject: RFR(M): Graal PTX enhancements In-Reply-To: References: <515F0DE8.4050104@oracle.com> Message-ID: Thanks for the review. Actually with JavaFX, explicit class declarations were part of our check-in procedures. I put the changes into PTXLIRGenerator as IMHO it helps folks just looking at the source to see what makes up the class. Will change the class to PTXTestBase and look after the indenting. --mm On Apr 5, 2013, at 5:42 PM, Christian Thalinger wrote: > > On Apr 5, 2013, at 10:46 AM, Morris Meyer wrote: > >> Folks, >> >> Could I get a review of my recent PTX enhancements to Graal? I've changed the tests to have a base class, extended the assembler, and have taken the test coverage of PTX from 2 to 23 tests. >> >> Thanks in advance, >> >> --morris meyer >> >> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 > > This is great! > > Looking at: > > graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java > > it seems we need to turn off "Organize imports" in our favorite editor. Also indenting seems to be an issue. > > I know the answer is "use the mx script to create the IDE configuration" but no everybody is using Eclipse or Netbeans. We need to find a way to keep this consistent without the help of an IDE (maybe Mercurial push hooks?). > > graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXCompilerBase.java: > > Can we name the test base class PTXTestBase? > > Otherwise this looks good to me. > > -- Chris From morris.meyer at oracle.com Fri Apr 5 16:18:09 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Fri, 05 Apr 2013 19:18:09 -0400 Subject: RFR(M): Graal PTX enhancements In-Reply-To: References: <515F0DE8.4050104@oracle.com> Message-ID: <515F5BB1.5010707@oracle.com> Folks There is an updated webrev with Christian's review changes here: WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.02 --morris On 4/5/13 6:09 PM, Morris Meyer wrote: > Thanks for the review. > > Actually with JavaFX, explicit class declarations were part of our check-in procedures. I put the changes into PTXLIRGenerator as IMHO it helps folks just looking at the source to see what makes up the class. > > Will change the class to PTXTestBase and look after the indenting. > > --mm > > > On Apr 5, 2013, at 5:42 PM, Christian Thalinger wrote: > >> On Apr 5, 2013, at 10:46 AM, Morris Meyer wrote: >> >>> Folks, >>> >>> Could I get a review of my recent PTX enhancements to Graal? I've changed the tests to have a base class, extended the assembler, and have taken the test coverage of PTX from 2 to 23 tests. >>> >>> Thanks in advance, >>> >>> --morris meyer >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 >> This is great! >> >> Looking at: >> >> graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java >> >> it seems we need to turn off "Organize imports" in our favorite editor. Also indenting seems to be an issue. >> >> I know the answer is "use the mx script to create the IDE configuration" but no everybody is using Eclipse or Netbeans. We need to find a way to keep this consistent without the help of an IDE (maybe Mercurial push hooks?). >> >> graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXCompilerBase.java: >> >> Can we name the test base class PTXTestBase? >> >> Otherwise this looks good to me. >> >> -- Chris From doug.simon at oracle.com Sat Apr 6 18:00:39 2013 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Sun, 07 Apr 2013 01:00:39 +0000 Subject: hg: graal/graal: 69 new changesets Message-ID: <20130407010412.4B15F48116@hg.openjdk.java.net> Changeset: a80bf36c6a1e Author: Christian Humer Date: 2013-04-01 11:52 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a80bf36c6a1e Refactor to shared template method signature comparison. ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/RuntimeStringTest.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/TypeSystemTest.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/ExecutableTypeMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/GenericParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/MethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/ShortCircuitParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationListenerParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ParameterSpec.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/Template.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/TemplateMethod.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/GuardParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/TypeCastParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/TypeCheckParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/TypeSystemData.java Changeset: 54e227b2e199 Author: Christian Humer Date: 2013-04-01 12:14 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/54e227b2e199 Refactored ParameterSpec constructors. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/ExecutableTypeMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/GenericParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/MethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/ShortCircuitParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationListenerParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ParameterSpec.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/GuardParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/TypeCastParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/TypeCheckParser.java Changeset: ce6e8672f798 Author: Christian Humer Date: 2013-04-01 12:19 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ce6e8672f798 Renamed node method parser base class. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/ExecutableTypeMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/GenericParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/ShortCircuitParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationListenerParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ParameterSpec.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/GuardParser.java Changeset: 8a1115c92271 Author: Christian Humer Date: 2013-04-01 21:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8a1115c92271 Implemented codegen guard definitions can now omit unused parameters. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/Log.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/ExecutableTypeMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/GenericParser.java - graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/MethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeData.java + graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/MethodSpec.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ParameterSpec.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/TemplateMethod.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/TemplateMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/GuardData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/GuardParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/TypeCastParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/TypeCheckParser.java Changeset: 6ef9fc7375c7 Author: Christian Humer Date: 2013-04-01 21:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6ef9fc7375c7 Updated codegen tests for guards and builtins. + graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/BinaryNodeTest.java - graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/BinaryOperationTest.java + graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/BuiltinTest.java + graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/GuardsTest.java - graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/RuntimeStringTest.java + graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/TestHelper.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/TypeSystemTest.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/package-info.java Changeset: 19978b870b5f Author: Christian Humer Date: 2013-04-01 21:47 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/19978b870b5f Disabled log. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/Log.java Changeset: 5a3703970e3f Author: Doug Simon Date: 2013-04-02 11:53 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5a3703970e3f share debug environment across multiple tests ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java Changeset: 5a40a5509bac Author: Bernhard Urban Date: 2013-04-02 12:14 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5a40a5509bac unsafeCast: anchor cast after initialization of an object ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java Changeset: c423a5fd8ac7 Author: Roland Schatz Date: 2013-04-02 11:47 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c423a5fd8ac7 Cull frame states before lowering. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Changeset: 4d75c3833c54 Author: Roland Schatz Date: 2013-04-02 11:48 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4d75c3833c54 Canonicalize (a + b) - b and (a - b) + b. ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerAddNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerSubNode.java Changeset: db2b8fbbf8fc Author: Roland Schatz Date: 2013-04-02 12:57 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/db2b8fbbf8fc Merge. Changeset: 32f9ec7963f9 Author: Roland Schatz Date: 2013-04-02 14:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/32f9ec7963f9 Fix bug in integer canonicalization. ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerAddNode.java Changeset: 1f83d8994b7a Author: Bernhard Urban Date: 2013-04-02 14:08 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1f83d8994b7a unsafeCast: remove anchor node in NewObjectSnippets as it is unnecessary due to the dependency to `result'. also remove a javadoc tag in a comment ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CheckCastSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java Changeset: 1d12b11e80c0 Author: Doug Simon Date: 2013-04-02 23:18 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1d12b11e80c0 made it easier to run newly added PTX test methods from the command line ! graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java Changeset: f00f02691677 Author: Doug Simon Date: 2013-04-03 00:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f00f02691677 resolved ambiguity for Parameter class when developing against JDK8 ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Changeset: c7672a325faf Author: Doug Simon Date: 2013-04-03 10:08 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c7672a325faf search for classes containing annotations returns source file as well as class name ! mx/commands.py ! mxtool/mx.py Changeset: 056966f39a36 Author: Christian Haeubl Date: 2013-03-26 14:35 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/056966f39a36 changed parameters of InliningPhase ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java Changeset: 9f9aaa65294e Author: Christian Haeubl Date: 2013-03-26 15:35 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/9f9aaa65294e fixed -XX:+PrintDeoptimizationDetails in debug/fastdebug build ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/vframeArray.cpp Changeset: 5407d1dd6450 Author: Christian Haeubl Date: 2013-03-27 10:36 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/5407d1dd6450 API to access nullness profiling information for instanceof, checkcast, and aastore increased maximum interpreter code size to support Java debugging on Windows ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/DefaultProfilingInfo.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/MetaUtil.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ProfilingInfo.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMethodData.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMethodDataAccessor.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotProfilingInfo.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java ! src/cpu/x86/vm/templateInterpreter_x86.hpp Changeset: 6c4db417385a Author: Christian Haeubl Date: 2013-03-27 17:25 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/6c4db417385a added API to reset the profiling information for a method added some test cases that check the recorded profiling information ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaMethod.java + graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ProfilingInfoTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java ! src/share/vm/graal/graalCompilerToVM.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp Changeset: 02ef91b94656 Author: Christian Haeubl Date: 2013-03-28 12:55 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/02ef91b94656 finished ProfilingInfo testcases ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ProfilingInfoTest.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java Changeset: cd9e8dd9f488 Author: Christian Haeubl Date: 2013-03-28 12:58 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/cd9e8dd9f488 Merge. - graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/Alias.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ArrayWriteBarrier.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentThread.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/FieldWriteBarrier.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotCurrentRawThreadNode.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java - graal/com.oracle.graal.replacements/src/META-INF/services/com.oracle.graal.replacements.ReplacementsProvider - graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/AliasResolutionPhase.java ! src/share/vm/graal/graalCompilerToVM.cpp Changeset: c213fc99e2a8 Author: Christian Haeubl Date: 2013-03-28 13:01 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/c213fc99e2a8 checkstyle fixes ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java Changeset: 91c79e13b9cf Author: Christian Haeubl Date: 2013-03-28 13:38 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/91c79e13b9cf minor C1/C2 fix ! src/share/vm/oops/methodData.cpp Changeset: d343737786fe Author: Christian Haeubl Date: 2013-03-28 17:11 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d343737786fe changed profiling of exceptions so that the ExceptionSeen flag also works without GRAALVM ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMethodData.java ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/runtime/deoptimization.hpp Changeset: 6d884611d4c1 Author: Christian Haeubl Date: 2013-04-03 14:41 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6d884611d4c1 Merge. - graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/MonitorValue.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1WriteBarrierPost.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1WriteBarrierPre.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialWriteBarrierPost.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SafeAccessNode.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SafeReadNode.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/SafeWriteNode.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java - graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/BinaryOperationTest.java - graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/RuntimeStringTest.java - graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/MethodParser.java ! src/cpu/x86/vm/templateInterpreter_x86.hpp Changeset: 832b9a115a2d Author: Christian Haeubl Date: 2013-04-03 15:01 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/832b9a115a2d style fixes ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java Changeset: c1c0ca020d98 Author: Bernhard Urban Date: 2013-04-03 16:56 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c1c0ca020d98 mx/unittest: make it more portable across systems unix and windows use different characters for path seperation (':' vs. ';') ! mx/commands.py Changeset: 516e35a8eed8 Author: Lukas Stadler Date: 2013-03-28 17:37 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/516e35a8eed8 rename early read elimination option and enable it ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/IterativeInliningTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PEAReadEliminationTest.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeAnalysisPhase.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Changeset: 10163579bbae Author: Lukas Stadler Date: 2013-04-03 16:47 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/10163579bbae Merge ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java Changeset: d8f28e2e2b49 Author: Lukas Stadler Date: 2013-04-04 10:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d8f28e2e2b49 make read elimination configurable (for tests) ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/EscapeAnalysisTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/IterativeInliningTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PEAReadEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PartialEscapeAnalysisTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/IterativeInliningPhase.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeAnalysisPhase.java Changeset: 00a548fdf821 Author: Lukas Stadler Date: 2013-04-04 10:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/00a548fdf821 Merge Changeset: 7c00d66b81bb Author: Christian Haeubl Date: 2013-04-04 11:57 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7c00d66b81bb added JUnit 4.11 support to ProfilingInfoTest also a workaround for a difference between ecj and javac regarding static imports tested-by: Bernhard Urban ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ProfilingInfoTest.java Changeset: ac49da6eeed6 Author: Christian Wirth Date: 2013-04-04 13:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ac49da6eeed6 on building 'server0', return ! mx/commands.py Changeset: 33c8ff9c5cc1 Author: Christian Wirth Date: 2013-04-04 13:55 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/33c8ff9c5cc1 Merged Changeset: 75db7afee829 Author: Doug Simon Date: 2013-04-03 21:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/75db7afee829 implemented lazy installation of replacements (GRAAL-137) + graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/MacroSubstitution.java + graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/Replacements.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotRuntimeCallTarget.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CheckCastSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotInstalledCodeIntrinsics.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/InstanceOfSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MonitorSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewArrayStub.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java ! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64ConvertSnippets.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/GraalMethodSubstitutions.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/InstanceOfSnippetsTemplates.java - graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/MacroSubstitution.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsInstaller.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsProvider.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java ! make/build-graal.xml ! mx/projects Changeset: 77de2f3df379 Author: Doug Simon Date: 2013-04-03 21:53 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/77de2f3df379 renames: [HotSpot]ReplacementsInstaller -> [HotSpot]ReplacementsImpl ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotReplacementsImpl.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotReplacementsInstaller.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/PointerTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/WordTest.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java < graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsInstaller.java Changeset: b648515abd0a Author: Doug Simon Date: 2013-04-03 21:55 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b648515abd0a fixed compiler warnings ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectSubstitutions.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/SystemSubstitutions.java Changeset: f32fa4cdfbb1 Author: Doug Simon Date: 2013-04-03 22:52 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f32fa4cdfbb1 fixed concurrency issues in ReplacementsImpl ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotReplacementsImpl.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Changeset: a5ad23f6f9ca Author: Doug Simon Date: 2013-04-04 14:28 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a5ad23f6f9ca fixed more concurrency issues in ReplacementsImpl ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/PointerTest.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/WordTest.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Changeset: c50bfedfb704 Author: Doug Simon Date: 2013-04-04 14:29 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c50bfedfb704 Merge. Changeset: c4bca84d86d7 Author: Doug Simon Date: 2013-04-04 15:05 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c4bca84d86d7 ensure generated Jar.launch files have the same format as that produced when refreshing in Eclipse ! mxtool/mx.py Changeset: b6491ee579d3 Author: Lukas Stadler Date: 2013-04-04 15:31 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b6491ee579d3 remove UNKNOWN_LOCATION ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/AESCryptSubstitutions.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopySnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CipherBlockChainingSubstitutions.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotSnippetUtils.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ThreadSubstitutions.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FloatingReadPhase.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/PointerTest.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java Changeset: 54a373881da6 Author: Lukas Stadler Date: 2013-04-04 16:58 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/54a373881da6 Merge - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotReplacementsInstaller.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/PointerTest.java - graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/MacroSubstitution.java - graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsInstaller.java Changeset: ac4dbfecec8f Author: Doug Simon Date: 2013-04-05 01:12 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ac4dbfecec8f passed a Replacements object to inlining utility methods that need one instead of the GraalRuntime API ! graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/BoxingEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/DegeneratedLoopsTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/IfBoxingEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/InvokeExceptionTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/InvokeHintsTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MemoryScheduleTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MonitorGraphTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/backend/AllocatorTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/EscapeAnalysisTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/IterativeInliningTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PEAReadEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PartialEscapeAnalysisTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/inlining/InliningTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/MethodSubstitutionTest.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/IterativeInliningPhase.java Changeset: ce5750014c3d Author: Doug Simon Date: 2013-04-05 01:22 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ce5750014c3d moved Replacements and MacroSubstitution from the graal.api.replacements project to graal.nodes project and reversed the dependency between these two projects (the latter now/again depends on the former) - graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/MacroSubstitution.java - graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/Replacements.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CheckCastSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotInstalledCodeIntrinsics.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/InstanceOfSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MonitorSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectSubstitutions.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/SystemSubstitutions.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewArrayStub.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/MacroSubstitution.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/Replacements.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java ! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64ConvertSnippets.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/GraalMethodSubstitutions.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/InstanceOfSnippetsTemplates.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsProvider.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/IterativeInliningPhase.java ! make/build-graal.xml ! mx/projects Changeset: 8d6265614e13 Author: Doug Simon Date: 2013-04-05 01:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8d6265614e13 added getReplacements() to LoweringTool ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FloatingReadTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MemoryScheduleTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ReadAfterCheckCast.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LoweringTool.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java Changeset: f2bcc49a1430 Author: Doug Simon Date: 2013-04-05 01:29 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f2bcc49a1430 passed a Replacements object to ArrayCopyNode and ObjectCloneNode instead of using the Graal.getRequiredCapability() API ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java Changeset: 0235a3230877 Author: Doug Simon Date: 2013-04-05 01:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0235a3230877 added test for a compiled exception handler + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/CompiledExceptionHandlerTest.java Changeset: bea614953503 Author: Doug Simon Date: 2013-04-05 01:53 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/bea614953503 split the ExceptionObjectNode into two nodes during lowering; the original node remains to denote the entry to an exception handler and a new LoadExceptionObjectNode is placed after it to load the exception object ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ExceptionObjectNode.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadExceptionObjectNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java Changeset: 1093255fd0d4 Author: Doug Simon Date: 2013-04-05 01:58 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1093255fd0d4 simplified registration of snippets ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Changeset: 3d2c2b68fe93 Author: Doug Simon Date: 2013-04-05 02:33 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3d2c2b68fe93 lower ExceptionObjectNode with a snippet (GRAAL-133) ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotSnippetUtils.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/LoadExceptionObjectSnippets.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ExceptionObjectNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadExceptionObjectNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java Changeset: 586b5e117c44 Author: Christian Humer Date: 2013-04-05 11:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/586b5e117c44 Fixed NodeParser error synchronization was done too late. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java Changeset: 15ae4fd89a75 Author: Doug Simon Date: 2013-04-05 11:56 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/15ae4fd89a75 moved ReplacementsProvider to com.oracle.graal.nodes.spi ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotInstalledCodeIntrinsics.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/ReplacementsProvider.java - graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsProvider.java Changeset: 1b090d7f832d Author: Gilles Duboscq Date: 2013-04-05 14:24 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1b090d7f832d Allow building using a jdk that does not contain man ! mx/commands.py Changeset: 5f8299106dd9 Author: Gilles Duboscq Date: 2013-04-05 15:34 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5f8299106dd9 A server0 "build" needs to create a jdk copy if it does not exist yet The jdk copy should move the default vm, not just copy it ! mx/commands.py Changeset: 45f929dff6c3 Author: Bernhard Urban Date: 2013-04-04 13:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/45f929dff6c3 .hgignore: temporary file generated by mx ! .hgignore Changeset: 39fc99302250 Author: Bernhard Urban Date: 2013-04-04 10:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/39fc99302250 PiNode: use existing dependencies array for anchor also switch order of parameters in constructor in order to match the constructor of UnsafeCast ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConditionalEliminationPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java Changeset: 251b1c84e668 Author: Bernhard Urban Date: 2013-04-05 16:54 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/251b1c84e668 UnsafeCastNode: make it an subclass of PiNode as they have similar properties and usages ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java Changeset: 3d03bc1de46c Author: Bernhard Urban Date: 2013-04-04 13:48 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3d03bc1de46c PiNode: add markerinterface IterableNodeType for fast iteration ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java Changeset: bdfd05a48d8e Author: Bernhard Urban Date: 2013-04-05 16:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/bdfd05a48d8e PiPushable: new interface for nodes that are able to be pushed through a PiNode + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/PiPushable.java Changeset: 193403beca24 Author: Bernhard Urban Date: 2013-04-04 15:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/193403beca24 PiPushable: implementation for ReadNode ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java Changeset: 3bbad4ec6510 Author: Bernhard Urban Date: 2013-04-04 16:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3bbad4ec6510 new phase: PushNodesThroughPi + graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/PushNodesThroughPiTest.java + graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/PushNodesThroughPi.java Changeset: ce271e0d0372 Author: Bernhard Urban Date: 2013-04-05 15:24 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ce271e0d0372 PiPushable: implementation for IsNullNode ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/PushNodesThroughPiTest.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java Changeset: 369710426f74 Author: Bernhard Urban Date: 2013-04-05 15:54 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/369710426f74 PushNodesThroughPi: add metric for pushed nodes ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/PiPushable.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/PushNodesThroughPi.java Changeset: 63400866de15 Author: Bernhard Urban Date: 2013-04-05 16:23 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/63400866de15 pipeline: include PushNodesThroughPi according to % mx vm -G:Meter= | grep NodesPushed 3774 nodes (836 ReadNodes, 2938 IsNullNodes) are pushed. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java Changeset: e18f7f7ce7a9 Author: Doug Simon Date: 2013-04-05 17:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e18f7f7ce7a9 removed unused and unnecessary getCustomStackAreaSize() from CodeCacheProvider ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CodeCacheProvider.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Changeset: bc7bb895e359 Author: Doug Simon Date: 2013-04-05 17:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/bc7bb895e359 incorporated null-seen information into JavaTypeProfile ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/TypeCheckHints.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/JavaTypeProfile.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMethodData.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/TypeCheckTest.java Changeset: d47b52b0ff68 Author: Doug Simon Date: 2013-04-05 18:53 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d47b52b0ff68 fixed discrepancy between a method's name and its semantics ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/TypeCheckHints.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java From christian.thalinger at oracle.com Mon Apr 8 22:01:16 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 8 Apr 2013 22:01:16 -0700 Subject: testArraySnippet In-Reply-To: <5DD1503F815BD14889DC81D28643E3A732A1A521@sausexdag06.amd.com> References: <5DD1503F815BD14889DC81D28643E3A732A1A521@sausexdag06.amd.com> Message-ID: <15DDE259-0567-475D-B209-1EF6915DB794@oracle.com> On Apr 5, 2013, at 11:36 AM, "Venkatachalam, Vasanth" wrote: > Hi, > > I was playing with your testArraySnippet in BasicPTXTest which returns the zero-th element of an array. > > If instead of returning the 0th element, I modify the test case like this to return the ith element: > > public static int testArraySnippet(int[]array, int i) { > > return array[i]; > } > > I get the error below. It looks like the issues is that base register for the address computation in prepareAddress is a null object, so the emitAdd is throwing an exception. > This seems to be an issue in the PTX test as well as my HSAIL test which is modeled after the PTX test. Are there plans to fix it, or do people have ideas for what needs to be fixed here? Morris is currently working on extending the PTX backend. Maybe he knows more about this (or has already fixed it). -- Chris > > t com.oracle.graal.graph.GraalInternalError.shouldNotReachHere(GraalInternalError.java:46) > at com.oracle.graal.compiler.hsail.HSAILLIRGenerator.emitAdd(HSAILLIRGenerator.java:296) > at com.oracle.graal.compiler.hsail.HSAILLIRGenerator.prepareAddress(HSAILLIRGenerator.java:189) > at com.oracle.graal.compiler.hsail.HSAILLIRGenerator.emitLoad(HSAILLIRGenerator.java:200) > at com.oracle.graal.compiler.hsail.HSAILLIRGenerator.emitLoad(HSAILLIRGenerator.java:1) > at com.oracle.graal.nodes.extended.IndexedLocationNode.generateLoad(IndexedLocationNode.java:90) > at com.oracle.graal.nodes.extended.FloatingReadNode.generate(FloatingReadNode.java:56) > at com.oracle.graal.compiler.gen.LIRGenerator.emitNode(LIRGenerator.java:423) > at com.oracle.graal.compiler.hsail.HSAILLIRGenerator.emitNode(HSAILLIRGenerator.java:81) > at com.oracle.graal.compiler.gen.LIRGenerator.doRoot(LIRGenerator.java:418) > From gilwooden at gmail.com Tue Apr 9 04:59:29 2013 From: gilwooden at gmail.com (Gilles Duboscq) Date: Tue, 9 Apr 2013 13:59:29 +0200 Subject: RFR(M): Graal PTX enhancements In-Reply-To: <515F5BB1.5010707@oracle.com> References: <515F0DE8.4050104@oracle.com> <515F5BB1.5010707@oracle.com> Message-ID: There are some System.(out|err).println in various files could you remove them? When there are things like throw GraalInternalError.shouldNotReachHere(), if you need some output you can also use GraalInternalError.shouldNotReachHere(String message) instead of the println Otherwise it looks good On Sat, Apr 6, 2013 at 1:18 AM, Morris Meyer wrote: > Folks > > There is an updated webrev with Christian's review changes here: > > WEBREV - http://cr.openjdk.java.net/~**morris/Graal-PTX-Enhancements.**02 > > --morris > > > On 4/5/13 6:09 PM, Morris Meyer wrote: > >> Thanks for the review. >> >> Actually with JavaFX, explicit class declarations were part of our >> check-in procedures. I put the changes into PTXLIRGenerator as IMHO it >> helps folks just looking at the source to see what makes up the class. >> >> Will change the class to PTXTestBase and look after the indenting. >> >> --mm >> >> >> On Apr 5, 2013, at 5:42 PM, Christian Thalinger < >> christian.thalinger at oracle.**com > wrote: >> >> On Apr 5, 2013, at 10:46 AM, Morris Meyer >>> wrote: >>> >>> Folks, >>>> >>>> Could I get a review of my recent PTX enhancements to Graal? I've >>>> changed the tests to have a base class, extended the assembler, and have >>>> taken the test coverage of PTX from 2 to 23 tests. >>>> >>>> Thanks in advance, >>>> >>>> --morris meyer >>>> >>>> WEBREV - http://cr.openjdk.java.net/~**morris/Graal-PTX-Enhancements.** >>>> 01 >>>> >>> This is great! >>> >>> Looking at: >>> >>> graal/com.oracle.graal.**compiler.ptx/src/com/oracle/** >>> graal/compiler/ptx/**PTXLIRGenerator.java >>> >>> it seems we need to turn off "Organize imports" in our favorite editor. >>> Also indenting seems to be an issue. >>> >>> I know the answer is "use the mx script to create the IDE configuration" >>> but no everybody is using Eclipse or Netbeans. We need to find a way to >>> keep this consistent without the help of an IDE (maybe Mercurial push >>> hooks?). >>> >>> graal/com.oracle.graal.**compiler.ptx.test/src/com/** >>> oracle/graal/compiler/ptx/**test/PTXCompilerBase.java: >>> >>> Can we name the test base class PTXTestBase? >>> >>> Otherwise this looks good to me. >>> >>> -- Chris >>> >> > From duboscq at ssw.jku.at Tue Apr 9 04:59:48 2013 From: duboscq at ssw.jku.at (Gilles Duboscq) Date: Tue, 9 Apr 2013 13:59:48 +0200 Subject: RFR(M): Graal PTX enhancements In-Reply-To: References: <515F0DE8.4050104@oracle.com> <515F5BB1.5010707@oracle.com> Message-ID: There are some System.(out|err).println in various files could you remove them? When there are things like throw GraalInternalError.shouldNotReachHere(), if you need some output you can also use GraalInternalError.shouldNotReachHere(String message) instead of the println Otherwise it looks good On Tue, Apr 9, 2013 at 1:59 PM, Gilles Duboscq wrote: > There are some System.(out|err).println in various files could you remove > them? When there are things like > throw GraalInternalError.shouldNotReachHere(), if you need some output you > can also use GraalInternalError.shouldNotReachHere(String message) instead > of the println > > Otherwise it looks good > > > On Sat, Apr 6, 2013 at 1:18 AM, Morris Meyer wrote: > >> Folks >> >> There is an updated webrev with Christian's review changes here: >> >> WEBREV - http://cr.openjdk.java.net/~**morris/Graal-PTX-Enhancements.**02 >> >> --morris >> >> >> On 4/5/13 6:09 PM, Morris Meyer wrote: >> >>> Thanks for the review. >>> >>> Actually with JavaFX, explicit class declarations were part of our >>> check-in procedures. I put the changes into PTXLIRGenerator as IMHO it >>> helps folks just looking at the source to see what makes up the class. >>> >>> Will change the class to PTXTestBase and look after the indenting. >>> >>> --mm >>> >>> >>> On Apr 5, 2013, at 5:42 PM, Christian Thalinger < >>> christian.thalinger at oracle.**com > >>> wrote: >>> >>> On Apr 5, 2013, at 10:46 AM, Morris Meyer >>>> wrote: >>>> >>>> Folks, >>>>> >>>>> Could I get a review of my recent PTX enhancements to Graal? I've >>>>> changed the tests to have a base class, extended the assembler, and have >>>>> taken the test coverage of PTX from 2 to 23 tests. >>>>> >>>>> Thanks in advance, >>>>> >>>>> --morris meyer >>>>> >>>>> WEBREV - http://cr.openjdk.java.net/~**morris/Graal-PTX-Enhancements.* >>>>> *01 >>>>> >>>> This is great! >>>> >>>> Looking at: >>>> >>>> graal/com.oracle.graal.**compiler.ptx/src/com/oracle/** >>>> graal/compiler/ptx/**PTXLIRGenerator.java >>>> >>>> it seems we need to turn off "Organize imports" in our favorite editor. >>>> Also indenting seems to be an issue. >>>> >>>> I know the answer is "use the mx script to create the IDE >>>> configuration" but no everybody is using Eclipse or Netbeans. We need to >>>> find a way to keep this consistent without the help of an IDE (maybe >>>> Mercurial push hooks?). >>>> >>>> graal/com.oracle.graal.**compiler.ptx.test/src/com/** >>>> oracle/graal/compiler/ptx/**test/PTXCompilerBase.java: >>>> >>>> Can we name the test base class PTXTestBase? >>>> >>>> Otherwise this looks good to me. >>>> >>>> -- Chris >>>> >>> >> > From doug.simon at oracle.com Tue Apr 9 05:09:11 2013 From: doug.simon at oracle.com (Doug Simon @ Oracle) Date: Tue, 9 Apr 2013 14:09:11 +0200 Subject: RFR(M): Graal PTX enhancements In-Reply-To: References: <515F0DE8.4050104@oracle.com> Message-ID: <0ABA3BC9-8DE9-4A5A-B868-FC38623DE756@oracle.com> On Apr 5, 2013, at 11:42 PM, Christian Thalinger wrote: > > On Apr 5, 2013, at 10:46 AM, Morris Meyer wrote: > >> Folks, >> >> Could I get a review of my recent PTX enhancements to Graal? I've changed the tests to have a base class, extended the assembler, and have taken the test coverage of PTX from 2 to 23 tests. >> >> Thanks in advance, >> >> --morris meyer >> >> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 > > This is great! > > Looking at: > > graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java > > it seems we need to turn off "Organize imports" in our favorite editor. Also indenting seems to be an issue. > > I know the answer is "use the mx script to create the IDE configuration" but no everybody is using Eclipse or Netbeans. We need to find a way to keep this consistent without the help of an IDE (maybe Mercurial push hooks?). Any suggestions? It will at least have to be something compatible with the Eclipse formatter. BTW, if need be you can disable/enable the Eclipse formatter for code sections with: // @formatter:off // @formatter:on -Doug From morris.meyer at oracle.com Tue Apr 9 07:47:58 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 9 Apr 2013 10:47:58 -0400 Subject: testArraySnippet In-Reply-To: <15DDE259-0567-475D-B209-1EF6915DB794@oracle.com> References: <5DD1503F815BD14889DC81D28643E3A732A1A521@sausexdag06.amd.com> <15DDE259-0567-475D-B209-1EF6915DB794@oracle.com> Message-ID: I haven't run into that yet. After I send my latest out for review, I can look into this. --mm On Apr 9, 2013, at 1:01 AM, Christian Thalinger wrote: > > On Apr 5, 2013, at 11:36 AM, "Venkatachalam, Vasanth" wrote: > >> Hi, >> >> I was playing with your testArraySnippet in BasicPTXTest which returns the zero-th element of an array. >> >> If instead of returning the 0th element, I modify the test case like this to return the ith element: >> >> public static int testArraySnippet(int[]array, int i) { >> >> return array[i]; >> } >> >> I get the error below. It looks like the issues is that base register for the address computation in prepareAddress is a null object, so the emitAdd is throwing an exception. >> This seems to be an issue in the PTX test as well as my HSAIL test which is modeled after the PTX test. Are there plans to fix it, or do people have ideas for what needs to be fixed here? > > Morris is currently working on extending the PTX backend. Maybe he knows more about this (or has already fixed it). > > -- Chris > >> >> t com.oracle.graal.graph.GraalInternalError.shouldNotReachHere(GraalInternalError.java:46) >> at com.oracle.graal.compiler.hsail.HSAILLIRGenerator.emitAdd(HSAILLIRGenerator.java:296) >> at com.oracle.graal.compiler.hsail.HSAILLIRGenerator.prepareAddress(HSAILLIRGenerator.java:189) >> at com.oracle.graal.compiler.hsail.HSAILLIRGenerator.emitLoad(HSAILLIRGenerator.java:200) >> at com.oracle.graal.compiler.hsail.HSAILLIRGenerator.emitLoad(HSAILLIRGenerator.java:1) >> at com.oracle.graal.nodes.extended.IndexedLocationNode.generateLoad(IndexedLocationNode.java:90) >> at com.oracle.graal.nodes.extended.FloatingReadNode.generate(FloatingReadNode.java:56) >> at com.oracle.graal.compiler.gen.LIRGenerator.emitNode(LIRGenerator.java:423) >> at com.oracle.graal.compiler.hsail.HSAILLIRGenerator.emitNode(HSAILLIRGenerator.java:81) >> at com.oracle.graal.compiler.gen.LIRGenerator.doRoot(LIRGenerator.java:418) > From morris.meyer at oracle.com Tue Apr 9 08:03:43 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 09 Apr 2013 11:03:43 -0400 Subject: RFR(M): Graal PTX enhancements In-Reply-To: References: <515F0DE8.4050104@oracle.com> <515F5BB1.5010707@oracle.com> Message-ID: <51642DCF.6000806@oracle.com> Thanks Gilles, Doug and Christian for the review. Here is my updated webrev addressing those concerns. --mm WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.03 On 4/9/13 7:59 AM, Gilles Duboscq wrote: > There are some System.(out|err).println in various files could you > remove them? When there are things like > throw GraalInternalError.shouldNotReachHere(), if you need some output > you can also use GraalInternalError.shouldNotReachHere(String message) > instead of the println > > Otherwise it looks good > > > On Tue, Apr 9, 2013 at 1:59 PM, Gilles Duboscq > wrote: > > There are some System.(out|err).println in various files could you > remove them? When there are things like > throw GraalInternalError.shouldNotReachHere(), if you need some > output you can also > use GraalInternalError.shouldNotReachHere(String message) instead > of the println > > Otherwise it looks good > > > On Sat, Apr 6, 2013 at 1:18 AM, Morris Meyer > > wrote: > > Folks > > There is an updated webrev with Christian's review changes here: > > WEBREV - > http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.02 > > > --morris > > > On 4/5/13 6:09 PM, Morris Meyer wrote: > > Thanks for the review. > > Actually with JavaFX, explicit class declarations were > part of our check-in procedures. I put the changes into > PTXLIRGenerator as IMHO it helps folks just looking at the > source to see what makes up the class. > > Will change the class to PTXTestBase and look after the > indenting. > > --mm > > > On Apr 5, 2013, at 5:42 PM, Christian Thalinger > > wrote: > > On Apr 5, 2013, at 10:46 AM, Morris Meyer > > wrote: > > Folks, > > Could I get a review of my recent PTX enhancements > to Graal? I've changed the tests to have a base > class, extended the assembler, and have taken the > test coverage of PTX from 2 to 23 tests. > > Thanks in advance, > > --morris meyer > > WEBREV - > http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 > > > This is great! > > Looking at: > > graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java > > it seems we need to turn off "Organize imports" in our > favorite editor. Also indenting seems to be an issue. > > I know the answer is "use the mx script to create the > IDE configuration" but no everybody is using Eclipse > or Netbeans. We need to find a way to keep this > consistent without the help of an IDE (maybe Mercurial > push hooks?). > > graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXCompilerBase.java: > > Can we name the test base class PTXTestBase? > > Otherwise this looks good to me. > > -- Chris > > > > From lukas.stadler at jku.at Tue Apr 9 08:11:12 2013 From: lukas.stadler at jku.at (Lukas Stadler) Date: Tue, 9 Apr 2013 17:11:12 +0200 Subject: Boxing Elimination changes Message-ID: <16F7B71F-5EDD-4A8B-AD20-EBD34BEB7C81@jku.at> Hi everybody, there will be a change soon that removes the BoxingEliminationPhase, because its work is now performed by the PartialEscapeAnalysisPhase. This will have no bearing on most of you, since the old phase isn't part of the normal compilation. In case you have custom code using the BoxingEliminationPhase, you should be fine just letting the PartialEscapeAnalysisPhase do its magic. If there are any problems, please let me know. - Lukas From duboscq at ssw.jku.at Tue Apr 9 08:24:36 2013 From: duboscq at ssw.jku.at (Gilles Duboscq) Date: Tue, 9 Apr 2013 17:24:36 +0200 Subject: RFR(M): Graal PTX enhancements In-Reply-To: <51642DCF.6000806@oracle.com> References: <515F0DE8.4050104@oracle.com> <515F5BB1.5010707@oracle.com> <51642DCF.6000806@oracle.com> Message-ID: It's not so important but there are still some System.err.println (in PTXLIRGenerator.java, PTXCompare.java and PTXControlFlow.java) On Tue, Apr 9, 2013 at 5:03 PM, Morris Meyer wrote: > Thanks Gilles, Doug and Christian for the review. Here is my updated > webrev addressing those concerns. > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.03 > > > On 4/9/13 7:59 AM, Gilles Duboscq wrote: > > There are some System.(out|err).println in various files could you remove > them? When there are things like throw GraalInternalError.shouldNotReachHere(), > if you need some output you can also use GraalInternalError.shouldNotReachHere(String > message) instead of the println > > Otherwise it looks good > > > On Tue, Apr 9, 2013 at 1:59 PM, Gilles Duboscq wrote: > >> There are some System.(out|err).println in various files could you remove >> them? When there are things like >> throw GraalInternalError.shouldNotReachHere(), if you need some output you >> can also use GraalInternalError.shouldNotReachHere(String message) instead >> of the println >> >> Otherwise it looks good >> >> >> On Sat, Apr 6, 2013 at 1:18 AM, Morris Meyer wrote: >> >>> Folks >>> >>> There is an updated webrev with Christian's review changes here: >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.02 >>> >>> --morris >>> >>> >>> On 4/5/13 6:09 PM, Morris Meyer wrote: >>> >>>> Thanks for the review. >>>> >>>> Actually with JavaFX, explicit class declarations were part of our >>>> check-in procedures. I put the changes into PTXLIRGenerator as IMHO it >>>> helps folks just looking at the source to see what makes up the class. >>>> >>>> Will change the class to PTXTestBase and look after the indenting. >>>> >>>> --mm >>>> >>>> >>>> On Apr 5, 2013, at 5:42 PM, Christian Thalinger < >>>> christian.thalinger at oracle.com> wrote: >>>> >>>> On Apr 5, 2013, at 10:46 AM, Morris Meyer >>>>> wrote: >>>>> >>>>> Folks, >>>>>> >>>>>> Could I get a review of my recent PTX enhancements to Graal? I've >>>>>> changed the tests to have a base class, extended the assembler, and have >>>>>> taken the test coverage of PTX from 2 to 23 tests. >>>>>> >>>>>> Thanks in advance, >>>>>> >>>>>> --morris meyer >>>>>> >>>>>> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 >>>>>> >>>>> This is great! >>>>> >>>>> Looking at: >>>>> >>>>> >>>>> graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java >>>>> >>>>> it seems we need to turn off "Organize imports" in our favorite >>>>> editor. Also indenting seems to be an issue. >>>>> >>>>> I know the answer is "use the mx script to create the IDE >>>>> configuration" but no everybody is using Eclipse or Netbeans. We need to >>>>> find a way to keep this consistent without the help of an IDE (maybe >>>>> Mercurial push hooks?). >>>>> >>>>> >>>>> graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXCompilerBase.java: >>>>> >>>>> Can we name the test base class PTXTestBase? >>>>> >>>>> Otherwise this looks good to me. >>>>> >>>>> -- Chris >>>>> >>>> >>> >> > > From thomas.wuerthinger at oracle.com Tue Apr 9 08:36:40 2013 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Tue, 9 Apr 2013 17:36:40 +0200 Subject: RFR(M): Graal PTX enhancements In-Reply-To: References: <515F0DE8.4050104@oracle.com> <515F5BB1.5010707@oracle.com> <51642DCF.6000806@oracle.com> Message-ID: <83B58B9F-6417-482B-A1F2-D59D4961B6FA@oracle.com> Gilles, Could you please add automatic sanity checks regarding System.err.println and System.out.println to our check style configuration (see http://checkstyle.sourceforge.net/config_regexp.html)? Thanks, thomas On Apr 9, 2013, at 5:24 PM, Gilles Duboscq wrote: > It's not so important but there are still some System.err.println (in > PTXLIRGenerator.java, PTXCompare.java and PTXControlFlow.java) > > > On Tue, Apr 9, 2013 at 5:03 PM, Morris Meyer wrote: > >> Thanks Gilles, Doug and Christian for the review. Here is my updated >> webrev addressing those concerns. >> >> --mm >> >> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.03 >> >> >> On 4/9/13 7:59 AM, Gilles Duboscq wrote: >> >> There are some System.(out|err).println in various files could you remove >> them? When there are things like throw GraalInternalError.shouldNotReachHere(), >> if you need some output you can also use GraalInternalError.shouldNotReachHere(String >> message) instead of the println >> >> Otherwise it looks good >> >> >> On Tue, Apr 9, 2013 at 1:59 PM, Gilles Duboscq wrote: >> >>> There are some System.(out|err).println in various files could you remove >>> them? When there are things like >>> throw GraalInternalError.shouldNotReachHere(), if you need some output you >>> can also use GraalInternalError.shouldNotReachHere(String message) instead >>> of the println >>> >>> Otherwise it looks good >>> >>> >>> On Sat, Apr 6, 2013 at 1:18 AM, Morris Meyer wrote: >>> >>>> Folks >>>> >>>> There is an updated webrev with Christian's review changes here: >>>> >>>> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.02 >>>> >>>> --morris >>>> >>>> >>>> On 4/5/13 6:09 PM, Morris Meyer wrote: >>>> >>>>> Thanks for the review. >>>>> >>>>> Actually with JavaFX, explicit class declarations were part of our >>>>> check-in procedures. I put the changes into PTXLIRGenerator as IMHO it >>>>> helps folks just looking at the source to see what makes up the class. >>>>> >>>>> Will change the class to PTXTestBase and look after the indenting. >>>>> >>>>> --mm >>>>> >>>>> >>>>> On Apr 5, 2013, at 5:42 PM, Christian Thalinger < >>>>> christian.thalinger at oracle.com> wrote: >>>>> >>>>> On Apr 5, 2013, at 10:46 AM, Morris Meyer >>>>>> wrote: >>>>>> >>>>>> Folks, >>>>>>> >>>>>>> Could I get a review of my recent PTX enhancements to Graal? I've >>>>>>> changed the tests to have a base class, extended the assembler, and have >>>>>>> taken the test coverage of PTX from 2 to 23 tests. >>>>>>> >>>>>>> Thanks in advance, >>>>>>> >>>>>>> --morris meyer >>>>>>> >>>>>>> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 >>>>>>> >>>>>> This is great! >>>>>> >>>>>> Looking at: >>>>>> >>>>>> >>>>>> graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java >>>>>> >>>>>> it seems we need to turn off "Organize imports" in our favorite >>>>>> editor. Also indenting seems to be an issue. >>>>>> >>>>>> I know the answer is "use the mx script to create the IDE >>>>>> configuration" but no everybody is using Eclipse or Netbeans. We need to >>>>>> find a way to keep this consistent without the help of an IDE (maybe >>>>>> Mercurial push hooks?). >>>>>> >>>>>> >>>>>> graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXCompilerBase.java: >>>>>> >>>>>> Can we name the test base class PTXTestBase? >>>>>> >>>>>> Otherwise this looks good to me. >>>>>> >>>>>> -- Chris >>>>>> >>>>> >>>> >>> >> >> From christian.thalinger at oracle.com Tue Apr 9 10:14:13 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 9 Apr 2013 10:14:13 -0700 Subject: RFR(M): Graal PTX enhancements In-Reply-To: <0ABA3BC9-8DE9-4A5A-B868-FC38623DE756@oracle.com> References: <515F0DE8.4050104@oracle.com> <0ABA3BC9-8DE9-4A5A-B868-FC38623DE756@oracle.com> Message-ID: <7545A2DC-2340-43E3-B489-B69DCF983BD9@oracle.com> On Apr 9, 2013, at 5:09 AM, Doug Simon @ Oracle wrote: > > On Apr 5, 2013, at 11:42 PM, Christian Thalinger wrote: > >> >> On Apr 5, 2013, at 10:46 AM, Morris Meyer wrote: >> >>> Folks, >>> >>> Could I get a review of my recent PTX enhancements to Graal? I've changed the tests to have a base class, extended the assembler, and have taken the test coverage of PTX from 2 to 23 tests. >>> >>> Thanks in advance, >>> >>> --morris meyer >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 >> >> This is great! >> >> Looking at: >> >> graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java >> >> it seems we need to turn off "Organize imports" in our favorite editor. Also indenting seems to be an issue. >> >> I know the answer is "use the mx script to create the IDE configuration" but no everybody is using Eclipse or Netbeans. We need to find a way to keep this consistent without the help of an IDE (maybe Mercurial push hooks?). > > Any suggestions? It will at least have to be something compatible with the Eclipse formatter. How about running the Eclipse formatter itself? $ ./eclipse -nosplash -application org.eclipse.jdt.core.JavaCodeFormatter No configuration file specified. Usage: eclipse -application org.eclipse.jdt.core.JavaCodeFormatter [ OPTIONS ] -config Java source files and/or directories to format. Only files ending with .java will be formatted in the given directory. -config Use the formatting style from the specified properties file. Refer to the help documentation to find out how to generate this file. OPTIONS: -help Display this message. -quiet Only print error messages. -verbose Be verbose about the formatting job. Or without the eclipse launcher executable: $ java -XstartOnFirstThread -jar plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar -application org.eclipse.jdt.core.JavaCodeFormatter I suppose there is a config file already somewhere. -- Chris > > BTW, if need be you can disable/enable the Eclipse formatter for code sections with: > > // @formatter:off > > > > // @formatter:on > > -Doug From morris.meyer at oracle.com Tue Apr 9 11:02:49 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 09 Apr 2013 14:02:49 -0400 Subject: RFR(M): Graal PTX enhancements In-Reply-To: References: <515F0DE8.4050104@oracle.com> <515F5BB1.5010707@oracle.com> <51642DCF.6000806@oracle.com> Message-ID: <516457C9.7080102@oracle.com> Gilles, Fixed in this updated version. Thanks much. --mm WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.04 On 4/9/13 11:24 AM, Gilles Duboscq wrote: > It's not so important but there are still some System.err.println (in > PTXLIRGenerator.java, PTXCompare.java and PTXControlFlow.java) > > > On Tue, Apr 9, 2013 at 5:03 PM, Morris Meyer > wrote: > > Thanks Gilles, Doug and Christian for the review. Here is my > updated webrev addressing those concerns. > > --mm > > WEBREV - > http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.03 > > > > On 4/9/13 7:59 AM, Gilles Duboscq wrote: >> There are some System.(out|err).println in various files could >> you remove them? When there are things like >> throw GraalInternalError.shouldNotReachHere(), if you need some >> output you can also >> use GraalInternalError.shouldNotReachHere(String message) instead >> of the println >> >> Otherwise it looks good >> >> >> On Tue, Apr 9, 2013 at 1:59 PM, Gilles Duboscq >> > wrote: >> >> There are some System.(out|err).println in various files >> could you remove them? When there are things like >> throw GraalInternalError.shouldNotReachHere(), if you need >> some output you can also >> use GraalInternalError.shouldNotReachHere(String message) >> instead of the println >> >> Otherwise it looks good >> >> >> On Sat, Apr 6, 2013 at 1:18 AM, Morris Meyer >> > wrote: >> >> Folks >> >> There is an updated webrev with Christian's review >> changes here: >> >> WEBREV - >> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.02 >> >> >> --morris >> >> >> On 4/5/13 6:09 PM, Morris Meyer wrote: >> >> Thanks for the review. >> >> Actually with JavaFX, explicit class declarations >> were part of our check-in procedures. I put the >> changes into PTXLIRGenerator as IMHO it helps folks >> just looking at the source to see what makes up the >> class. >> >> Will change the class to PTXTestBase and look after >> the indenting. >> >> --mm >> >> >> On Apr 5, 2013, at 5:42 PM, Christian Thalinger >> > > wrote: >> >> On Apr 5, 2013, at 10:46 AM, Morris Meyer >> > > wrote: >> >> Folks, >> >> Could I get a review of my recent PTX >> enhancements to Graal? I've changed the >> tests to have a base class, extended the >> assembler, and have taken the test coverage >> of PTX from 2 to 23 tests. >> >> Thanks in advance, >> >> --morris meyer >> >> WEBREV - >> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 >> >> >> This is great! >> >> Looking at: >> >> graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java >> >> it seems we need to turn off "Organize imports" >> in our favorite editor. Also indenting seems to >> be an issue. >> >> I know the answer is "use the mx script to create >> the IDE configuration" but no everybody is using >> Eclipse or Netbeans. We need to find a way to >> keep this consistent without the help of an IDE >> (maybe Mercurial push hooks?). >> >> graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXCompilerBase.java: >> >> Can we name the test base class PTXTestBase? >> >> Otherwise this looks good to me. >> >> -- Chris >> >> >> >> > > From thomas.wuerthinger at oracle.com Tue Apr 9 11:14:32 2013 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Tue, 9 Apr 2013 20:14:32 +0200 Subject: RFR(M): Graal PTX enhancements In-Reply-To: <516457C9.7080102@oracle.com> References: <515F0DE8.4050104@oracle.com> <515F5BB1.5010707@oracle.com> <51642DCF.6000806@oracle.com> <516457C9.7080102@oracle.com> Message-ID: Morris, Looks good. Here are some comments: - In PTXLIRGenerator.emitConvert: I think you do not need the switch statement as in all cases, you are just passing on the operation to the created LIR instruction. Are L2I and I2C really so different that they are the only ones needing an Unary1Op? - In the ControlTest class: There are several lines commented out. Please either uncomment them or remove them from the patch. We have the policy that there should not be any commented out code in the repository. - In the PTXTestBase class: Why are you using an @Ignore annotation on the class? I think we should run the PTX test as soon as possible together with our regular unit tests, only ignoring the ones we know to fail. - In the PTXPhase class: Maybe you can add a comment why it is safe to assume all object parameters as non-null for PTX kernels - and this is the purpose of this phase. Thanks, thomas On Apr 9, 2013, at 8:02 PM, Morris Meyer wrote: > Gilles, > > Fixed in this updated version. Thanks much. > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.04 > > On 4/9/13 11:24 AM, Gilles Duboscq wrote: >> It's not so important but there are still some System.err.println (in PTXLIRGenerator.java, PTXCompare.java and PTXControlFlow.java) >> >> >> On Tue, Apr 9, 2013 at 5:03 PM, Morris Meyer > wrote: >> >> Thanks Gilles, Doug and Christian for the review. Here is my >> updated webrev addressing those concerns. >> >> --mm >> >> WEBREV - >> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.03 >> >> >> >> On 4/9/13 7:59 AM, Gilles Duboscq wrote: >>> There are some System.(out|err).println in various files could >>> you remove them? When there are things like >>> throw GraalInternalError.shouldNotReachHere(), if you need some >>> output you can also >>> use GraalInternalError.shouldNotReachHere(String message) instead >>> of the println >>> >>> Otherwise it looks good >>> >>> >>> On Tue, Apr 9, 2013 at 1:59 PM, Gilles Duboscq >>> > wrote: >>> >>> There are some System.(out|err).println in various files >>> could you remove them? When there are things like >>> throw GraalInternalError.shouldNotReachHere(), if you need >>> some output you can also >>> use GraalInternalError.shouldNotReachHere(String message) >>> instead of the println >>> >>> Otherwise it looks good >>> >>> >>> On Sat, Apr 6, 2013 at 1:18 AM, Morris Meyer >>> > wrote: >>> >>> Folks >>> >>> There is an updated webrev with Christian's review >>> changes here: >>> >>> WEBREV - >>> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.02 >>> >>> >>> --morris >>> >>> >>> On 4/5/13 6:09 PM, Morris Meyer wrote: >>> >>> Thanks for the review. >>> >>> Actually with JavaFX, explicit class declarations >>> were part of our check-in procedures. I put the >>> changes into PTXLIRGenerator as IMHO it helps folks >>> just looking at the source to see what makes up the >>> class. >>> >>> Will change the class to PTXTestBase and look after >>> the indenting. >>> >>> --mm >>> >>> >>> On Apr 5, 2013, at 5:42 PM, Christian Thalinger >>> >> > wrote: >>> >>> On Apr 5, 2013, at 10:46 AM, Morris Meyer >>> >> > wrote: >>> >>> Folks, >>> >>> Could I get a review of my recent PTX >>> enhancements to Graal? I've changed the >>> tests to have a base class, extended the >>> assembler, and have taken the test coverage >>> of PTX from 2 to 23 tests. >>> >>> Thanks in advance, >>> >>> --morris meyer >>> >>> WEBREV - >>> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 >>> >>> >>> This is great! >>> >>> Looking at: >>> >>> graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java >>> >>> it seems we need to turn off "Organize imports" >>> in our favorite editor. Also indenting seems to >>> be an issue. >>> >>> I know the answer is "use the mx script to create >>> the IDE configuration" but no everybody is using >>> Eclipse or Netbeans. We need to find a way to >>> keep this consistent without the help of an IDE >>> (maybe Mercurial push hooks?). >>> >>> graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXCompilerBase.java: >>> >>> Can we name the test base class PTXTestBase? >>> >>> Otherwise this looks good to me. >>> >>> -- Chris >>> >>> >>> >>> >> >> > From doug.simon at oracle.com Tue Apr 9 11:28:01 2013 From: doug.simon at oracle.com (Doug Simon) Date: Tue, 9 Apr 2013 20:28:01 +0200 Subject: RFR(M): Graal PTX enhancements In-Reply-To: <7545A2DC-2340-43E3-B489-B69DCF983BD9@oracle.com> References: <515F0DE8.4050104@oracle.com> <0ABA3BC9-8DE9-4A5A-B868-FC38623DE756@oracle.com> <7545A2DC-2340-43E3-B489-B69DCF983BD9@oracle.com> Message-ID: <2780E49A-34F1-4C32-9647-310118FF9FD7@oracle.com> On Apr 9, 2013, at 7:14 PM, Christian Thalinger wrote: > > On Apr 9, 2013, at 5:09 AM, Doug Simon @ Oracle wrote: > >> >> On Apr 5, 2013, at 11:42 PM, Christian Thalinger wrote: >> >>> >>> On Apr 5, 2013, at 10:46 AM, Morris Meyer wrote: >>> >>>> Folks, >>>> >>>> Could I get a review of my recent PTX enhancements to Graal? I've changed the tests to have a base class, extended the assembler, and have taken the test coverage of PTX from 2 to 23 tests. >>>> >>>> Thanks in advance, >>>> >>>> --morris meyer >>>> >>>> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 >>> >>> This is great! >>> >>> Looking at: >>> >>> graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java >>> >>> it seems we need to turn off "Organize imports" in our favorite editor. Also indenting seems to be an issue. >>> >>> I know the answer is "use the mx script to create the IDE configuration" but no everybody is using Eclipse or Netbeans. We need to find a way to keep this consistent without the help of an IDE (maybe Mercurial push hooks?). >> >> Any suggestions? It will at least have to be something compatible with the Eclipse formatter. > > How about running the Eclipse formatter itself? You are probably not going to be surprised to learn there's an mx command for that ;-) % mx eclipseformat Unfortunately, my experience so far has been that the formatter is not very reliable when run the command line. -Doug From christian.thalinger at oracle.com Tue Apr 9 12:45:59 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 9 Apr 2013 12:45:59 -0700 Subject: RFR(M): Graal PTX enhancements In-Reply-To: <2780E49A-34F1-4C32-9647-310118FF9FD7@oracle.com> References: <515F0DE8.4050104@oracle.com> <0ABA3BC9-8DE9-4A5A-B868-FC38623DE756@oracle.com> <7545A2DC-2340-43E3-B489-B69DCF983BD9@oracle.com> <2780E49A-34F1-4C32-9647-310118FF9FD7@oracle.com> Message-ID: <7C9621B5-1330-49BA-9208-3FF5A11AE54F@oracle.com> On Apr 9, 2013, at 11:28 AM, Doug Simon wrote: > > On Apr 9, 2013, at 7:14 PM, Christian Thalinger wrote: > >> >> On Apr 9, 2013, at 5:09 AM, Doug Simon @ Oracle wrote: >> >>> >>> On Apr 5, 2013, at 11:42 PM, Christian Thalinger wrote: >>> >>>> >>>> On Apr 5, 2013, at 10:46 AM, Morris Meyer wrote: >>>> >>>>> Folks, >>>>> >>>>> Could I get a review of my recent PTX enhancements to Graal? I've changed the tests to have a base class, extended the assembler, and have taken the test coverage of PTX from 2 to 23 tests. >>>>> >>>>> Thanks in advance, >>>>> >>>>> --morris meyer >>>>> >>>>> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 >>>> >>>> This is great! >>>> >>>> Looking at: >>>> >>>> graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java >>>> >>>> it seems we need to turn off "Organize imports" in our favorite editor. Also indenting seems to be an issue. >>>> >>>> I know the answer is "use the mx script to create the IDE configuration" but no everybody is using Eclipse or Netbeans. We need to find a way to keep this consistent without the help of an IDE (maybe Mercurial push hooks?). >>> >>> Any suggestions? It will at least have to be something compatible with the Eclipse formatter. >> >> How about running the Eclipse formatter itself? > > You are probably not going to be surprised to learn there's an mx command for that ;-) Of course not :-) > > % mx eclipseformat > > Unfortunately, my experience so far has been that the formatter is not very reliable when run the command line. Unreliable? In what way? -- Chris > > -Doug From morris.meyer at oracle.com Tue Apr 9 13:04:42 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 09 Apr 2013 16:04:42 -0400 Subject: RFR(M): Graal PTX enhancements In-Reply-To: References: <515F0DE8.4050104@oracle.com> <515F5BB1.5010707@oracle.com> <51642DCF.6000806@oracle.com> <516457C9.7080102@oracle.com> Message-ID: <5164745A.70104@oracle.com> On 4/9/13 2:14 PM, Thomas Wuerthinger wrote: > Morris, > > Looks good. Here are some comments: > > - In PTXLIRGenerator.emitConvert: I think you do not need the switch statement as in all cases, you are just passing on the operation to the created LIR instruction. Are L2I and I2C really so different that they are the only ones needing an Unary1Op? I pulled this from AMD64LIRGenerator.emitConvert. Perhaps we could refactor both in a later change set? > > - In the ControlTest class: There are several lines commented out. Please either uncomment them or remove them from the patch. We have the policy that there should not be any commented out code in the repository. Fixed. > > - In the PTXTestBase class: Why are you using an @Ignore annotation on the class? I think we should run the PTX test as soon as possible together with our regular unit tests, only ignoring the ones we know to fail. The @Ignore is needed as without it junit fails as there are no test cases in PTXTestBase. > > - In the PTXPhase class: Maybe you can add a comment why it is safe to assume all object parameters as non-null for PTX kernels - and this is the purpose of this phase. # HG changeset patch # User Thomas Wuerthinger # Date 1362480569 -3600 # Node ID 9ac11c77d12858f742e00455f1f680be538d3c8b # Parent 47a7e8d8053684bfb060b1a0ff4ac59fa69eace9 Mark PTX parameters as non-null. Could you suggest the text - as you put this phase into the BasicPTXTest originally? Thanks for the review, --morris WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.05 > > Thanks, thomas > > > On Apr 9, 2013, at 8:02 PM, Morris Meyer wrote: > >> Gilles, >> >> Fixed in this updated version. Thanks much. >> >> --mm >> >> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.04 >> >> On 4/9/13 11:24 AM, Gilles Duboscq wrote: >>> It's not so important but there are still some System.err.println (in PTXLIRGenerator.java, PTXCompare.java and PTXControlFlow.java) >>> >>> >>> On Tue, Apr 9, 2013 at 5:03 PM, Morris Meyer > wrote: >>> >>> Thanks Gilles, Doug and Christian for the review. Here is my >>> updated webrev addressing those concerns. >>> >>> --mm >>> >>> WEBREV - >>> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.03 >>> >>> >>> >>> On 4/9/13 7:59 AM, Gilles Duboscq wrote: >>>> There are some System.(out|err).println in various files could >>>> you remove them? When there are things like >>>> throw GraalInternalError.shouldNotReachHere(), if you need some >>>> output you can also >>>> use GraalInternalError.shouldNotReachHere(String message) instead >>>> of the println >>>> >>>> Otherwise it looks good >>>> >>>> >>>> On Tue, Apr 9, 2013 at 1:59 PM, Gilles Duboscq >>>> > wrote: >>>> >>>> There are some System.(out|err).println in various files >>>> could you remove them? When there are things like >>>> throw GraalInternalError.shouldNotReachHere(), if you need >>>> some output you can also >>>> use GraalInternalError.shouldNotReachHere(String message) >>>> instead of the println >>>> >>>> Otherwise it looks good >>>> >>>> >>>> On Sat, Apr 6, 2013 at 1:18 AM, Morris Meyer >>>> > wrote: >>>> >>>> Folks >>>> >>>> There is an updated webrev with Christian's review >>>> changes here: >>>> >>>> WEBREV - >>>> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.02 >>>> >>>> >>>> --morris >>>> >>>> >>>> On 4/5/13 6:09 PM, Morris Meyer wrote: >>>> >>>> Thanks for the review. >>>> >>>> Actually with JavaFX, explicit class declarations >>>> were part of our check-in procedures. I put the >>>> changes into PTXLIRGenerator as IMHO it helps folks >>>> just looking at the source to see what makes up the >>>> class. >>>> >>>> Will change the class to PTXTestBase and look after >>>> the indenting. >>>> >>>> --mm >>>> >>>> >>>> On Apr 5, 2013, at 5:42 PM, Christian Thalinger >>>> >>> > wrote: >>>> >>>> On Apr 5, 2013, at 10:46 AM, Morris Meyer >>>> >>> > wrote: >>>> >>>> Folks, >>>> >>>> Could I get a review of my recent PTX >>>> enhancements to Graal? I've changed the >>>> tests to have a base class, extended the >>>> assembler, and have taken the test coverage >>>> of PTX from 2 to 23 tests. >>>> >>>> Thanks in advance, >>>> >>>> --morris meyer >>>> >>>> WEBREV - >>>> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 >>>> >>>> >>>> This is great! >>>> >>>> Looking at: >>>> >>>> graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java >>>> >>>> it seems we need to turn off "Organize imports" >>>> in our favorite editor. Also indenting seems to >>>> be an issue. >>>> >>>> I know the answer is "use the mx script to create >>>> the IDE configuration" but no everybody is using >>>> Eclipse or Netbeans. We need to find a way to >>>> keep this consistent without the help of an IDE >>>> (maybe Mercurial push hooks?). >>>> >>>> graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXCompilerBase.java: >>>> >>>> Can we name the test base class PTXTestBase? >>>> >>>> Otherwise this looks good to me. >>>> >>>> -- Chris >>>> >>>> >>>> >>>> >>> From thomas.wuerthinger at oracle.com Tue Apr 9 14:24:36 2013 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Tue, 9 Apr 2013 23:24:36 +0200 Subject: RFR(M): Graal PTX enhancements In-Reply-To: <5164745A.70104@oracle.com> References: <515F0DE8.4050104@oracle.com> <515F5BB1.5010707@oracle.com> <51642DCF.6000806@oracle.com> <516457C9.7080102@oracle.com> <5164745A.70104@oracle.com> Message-ID: <872CADCF-9A2F-46E9-892B-CF2F9E55CB1F@oracle.com> Answers inline. Thanks, thomas On Apr 9, 2013, at 10:04 PM, Morris Meyer wrote: > On 4/9/13 2:14 PM, Thomas Wuerthinger wrote: >> Morris, >> >> Looks good. Here are some comments: >> >> - In PTXLIRGenerator.emitConvert: I think you do not need the switch statement as in all cases, you are just passing on the operation to the created LIR instruction. Are L2I and I2C really so different that they are the only ones needing an Unary1Op? > I pulled this from AMD64LIRGenerator.emitConvert. Perhaps we could refactor both in a later change set? OK. I still think that you should use Unary2Op for all operations here. The difference between Unary1Op and Unary2Op is that the former requires source and destination register to be the same where as the latter allows them to be different. I believe PTX supports for all convert operations to use a destination operand that is different from the source operand. >> >> - In the ControlTest class: There are several lines commented out. Please either uncomment them or remove them from the patch. We have the policy that there should not be any commented out code in the repository. > Fixed. >> >> - In the PTXTestBase class: Why are you using an @Ignore annotation on the class? I think we should run the PTX test as soon as possible together with our regular unit tests, only ignoring the ones we know to fail. > The @Ignore is needed as without it junit fails as there are no test cases in PTXTestBase. You should rather declare it abstract. Then JUnit will not instantiate the test class. >> - In the PTXPhase class: Maybe you can add a comment why it is safe to assume all object parameters as non-null for PTX kernels - and this is the purpose of this phase. > # HG changeset patch > # User Thomas Wuerthinger > # Date 1362480569 -3600 > # Node ID 9ac11c77d12858f742e00455f1f680be538d3c8b > # Parent 47a7e8d8053684bfb060b1a0ff4ac59fa69eace9 > Mark PTX parameters as non-null > > Could you suggest the text - as you put this phase into the BasicPTXTest originally?. OK. My assumption was that at the point when somebody invokes a PTX kernel, the null checks would be done on the caller side (i.e., before copying the data onto the GPU). Do you think that assumption is valid and makes sense? > WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.05 >> >> Thanks, thomas >> >> >> On Apr 9, 2013, at 8:02 PM, Morris Meyer wrote: >> >>> Gilles, >>> >>> Fixed in this updated version. Thanks much. >>> >>> --mm >>> >>> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.04 >>> >>> On 4/9/13 11:24 AM, Gilles Duboscq wrote: >>>> It's not so important but there are still some System.err.println (in PTXLIRGenerator.java, PTXCompare.java and PTXControlFlow.java) >>>> >>>> >>>> On Tue, Apr 9, 2013 at 5:03 PM, Morris Meyer > wrote: >>>> >>>> Thanks Gilles, Doug and Christian for the review. Here is my >>>> updated webrev addressing those concerns. >>>> >>>> --mm >>>> >>>> WEBREV - >>>> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.03 >>>> >>>> >>>> >>>> On 4/9/13 7:59 AM, Gilles Duboscq wrote: >>>>> There are some System.(out|err).println in various files could >>>>> you remove them? When there are things like >>>>> throw GraalInternalError.shouldNotReachHere(), if you need some >>>>> output you can also >>>>> use GraalInternalError.shouldNotReachHere(String message) instead >>>>> of the println >>>>> >>>>> Otherwise it looks good >>>>> >>>>> >>>>> On Tue, Apr 9, 2013 at 1:59 PM, Gilles Duboscq >>>>> > wrote: >>>>> >>>>> There are some System.(out|err).println in various files >>>>> could you remove them? When there are things like >>>>> throw GraalInternalError.shouldNotReachHere(), if you need >>>>> some output you can also >>>>> use GraalInternalError.shouldNotReachHere(String message) >>>>> instead of the println >>>>> >>>>> Otherwise it looks good >>>>> >>>>> >>>>> On Sat, Apr 6, 2013 at 1:18 AM, Morris Meyer >>>>> > wrote: >>>>> >>>>> Folks >>>>> >>>>> There is an updated webrev with Christian's review >>>>> changes here: >>>>> >>>>> WEBREV - >>>>> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.02 >>>>> >>>>> >>>>> --morris >>>>> >>>>> >>>>> On 4/5/13 6:09 PM, Morris Meyer wrote: >>>>> >>>>> Thanks for the review. >>>>> >>>>> Actually with JavaFX, explicit class declarations >>>>> were part of our check-in procedures. I put the >>>>> changes into PTXLIRGenerator as IMHO it helps folks >>>>> just looking at the source to see what makes up the >>>>> class. >>>>> >>>>> Will change the class to PTXTestBase and look after >>>>> the indenting. >>>>> >>>>> --mm >>>>> >>>>> >>>>> On Apr 5, 2013, at 5:42 PM, Christian Thalinger >>>>> >>>> > wrote: >>>>> >>>>> On Apr 5, 2013, at 10:46 AM, Morris Meyer >>>>> >>>> > wrote: >>>>> >>>>> Folks, >>>>> >>>>> Could I get a review of my recent PTX >>>>> enhancements to Graal? I've changed the >>>>> tests to have a base class, extended the >>>>> assembler, and have taken the test coverage >>>>> of PTX from 2 to 23 tests. >>>>> >>>>> Thanks in advance, >>>>> >>>>> --morris meyer >>>>> >>>>> WEBREV - >>>>> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 >>>>> >>>>> >>>>> This is great! >>>>> >>>>> Looking at: >>>>> >>>>> graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java >>>>> >>>>> it seems we need to turn off "Organize imports" >>>>> in our favorite editor. Also indenting seems to >>>>> be an issue. >>>>> >>>>> I know the answer is "use the mx script to create >>>>> the IDE configuration" but no everybody is using >>>>> Eclipse or Netbeans. We need to find a way to >>>>> keep this consistent without the help of an IDE >>>>> (maybe Mercurial push hooks?). >>>>> >>>>> graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXCompilerBase.java: >>>>> >>>>> Can we name the test base class PTXTestBase? >>>>> >>>>> Otherwise this looks good to me. >>>>> >>>>> -- Chris >>>>> >>>>> >>>>> >>>>> >>>> > From morris.meyer at oracle.com Tue Apr 9 16:35:42 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Tue, 09 Apr 2013 19:35:42 -0400 Subject: RFR(M): Graal PTX enhancements In-Reply-To: <872CADCF-9A2F-46E9-892B-CF2F9E55CB1F@oracle.com> References: <515F0DE8.4050104@oracle.com> <515F5BB1.5010707@oracle.com> <51642DCF.6000806@oracle.com> <516457C9.7080102@oracle.com> <5164745A.70104@oracle.com> <872CADCF-9A2F-46E9-892B-CF2F9E55CB1F@oracle.com> Message-ID: <5164A5CE.7090100@oracle.com> Thomas - thanks for the review. Here is the update. --mm WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.06 On 4/9/13 5:24 PM, Thomas Wuerthinger wrote: > Answers inline. Thanks, thomas > > On Apr 9, 2013, at 10:04 PM, Morris Meyer wrote: >> On 4/9/13 2:14 PM, Thomas Wuerthinger wrote: >>> Morris, >>> >>> Looks good. Here are some comments: >>> >>> - In PTXLIRGenerator.emitConvert: I think you do not need the switch statement as in all cases, you are just passing on the operation to the created LIR instruction. Are L2I and I2C really so different that they are the only ones needing an Unary1Op? >> I pulled this from AMD64LIRGenerator.emitConvert. Perhaps we could refactor both in a later change set? > OK. I still think that you should use Unary2Op for all operations here. The difference between Unary1Op and Unary2Op is that the former requires source and destination register to be the same where as the latter allows them to be different. I believe PTX supports for all convert operations to use a destination operand that is different from the source operand. > >>> - In the ControlTest class: There are several lines commented out. Please either uncomment them or remove them from the patch. We have the policy that there should not be any commented out code in the repository. >> Fixed. >>> - In the PTXTestBase class: Why are you using an @Ignore annotation on the class? I think we should run the PTX test as soon as possible together with our regular unit tests, only ignoring the ones we know to fail. >> The @Ignore is needed as without it junit fails as there are no test cases in PTXTestBase. > You should rather declare it abstract. Then JUnit will not instantiate the test class. > >>> - In the PTXPhase class: Maybe you can add a comment why it is safe to assume all object parameters as non-null for PTX kernels - and this is the purpose of this phase. >> # HG changeset patch >> # User Thomas Wuerthinger >> # Date 1362480569 -3600 >> # Node ID 9ac11c77d12858f742e00455f1f680be538d3c8b >> # Parent 47a7e8d8053684bfb060b1a0ff4ac59fa69eace9 >> Mark PTX parameters as non-null >> >> Could you suggest the text - as you put this phase into the BasicPTXTest originally?. > OK. My assumption was that at the point when somebody invokes a PTX kernel, the null checks would be done on the caller side (i.e., before copying the data onto the GPU). Do you think that assumption is valid and makes sense? > >> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.05 >>> Thanks, thomas >>> >>> >>> On Apr 9, 2013, at 8:02 PM, Morris Meyer wrote: >>> >>>> Gilles, >>>> >>>> Fixed in this updated version. Thanks much. >>>> >>>> --mm >>>> >>>> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.04 >>>> >>>> On 4/9/13 11:24 AM, Gilles Duboscq wrote: >>>>> It's not so important but there are still some System.err.println (in PTXLIRGenerator.java, PTXCompare.java and PTXControlFlow.java) >>>>> >>>>> >>>>> On Tue, Apr 9, 2013 at 5:03 PM, Morris Meyer > wrote: >>>>> >>>>> Thanks Gilles, Doug and Christian for the review. Here is my >>>>> updated webrev addressing those concerns. >>>>> >>>>> --mm >>>>> >>>>> WEBREV - >>>>> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.03 >>>>> >>>>> >>>>> >>>>> On 4/9/13 7:59 AM, Gilles Duboscq wrote: >>>>>> There are some System.(out|err).println in various files could >>>>>> you remove them? When there are things like >>>>>> throw GraalInternalError.shouldNotReachHere(), if you need some >>>>>> output you can also >>>>>> use GraalInternalError.shouldNotReachHere(String message) instead >>>>>> of the println >>>>>> >>>>>> Otherwise it looks good >>>>>> >>>>>> >>>>>> On Tue, Apr 9, 2013 at 1:59 PM, Gilles Duboscq >>>>>> > wrote: >>>>>> >>>>>> There are some System.(out|err).println in various files >>>>>> could you remove them? When there are things like >>>>>> throw GraalInternalError.shouldNotReachHere(), if you need >>>>>> some output you can also >>>>>> use GraalInternalError.shouldNotReachHere(String message) >>>>>> instead of the println >>>>>> >>>>>> Otherwise it looks good >>>>>> >>>>>> >>>>>> On Sat, Apr 6, 2013 at 1:18 AM, Morris Meyer >>>>>> > wrote: >>>>>> >>>>>> Folks >>>>>> >>>>>> There is an updated webrev with Christian's review >>>>>> changes here: >>>>>> >>>>>> WEBREV - >>>>>> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.02 >>>>>> >>>>>> >>>>>> --morris >>>>>> >>>>>> >>>>>> On 4/5/13 6:09 PM, Morris Meyer wrote: >>>>>> >>>>>> Thanks for the review. >>>>>> >>>>>> Actually with JavaFX, explicit class declarations >>>>>> were part of our check-in procedures. I put the >>>>>> changes into PTXLIRGenerator as IMHO it helps folks >>>>>> just looking at the source to see what makes up the >>>>>> class. >>>>>> >>>>>> Will change the class to PTXTestBase and look after >>>>>> the indenting. >>>>>> >>>>>> --mm >>>>>> >>>>>> >>>>>> On Apr 5, 2013, at 5:42 PM, Christian Thalinger >>>>>> >>>>> > wrote: >>>>>> >>>>>> On Apr 5, 2013, at 10:46 AM, Morris Meyer >>>>>> >>>>> > wrote: >>>>>> >>>>>> Folks, >>>>>> >>>>>> Could I get a review of my recent PTX >>>>>> enhancements to Graal? I've changed the >>>>>> tests to have a base class, extended the >>>>>> assembler, and have taken the test coverage >>>>>> of PTX from 2 to 23 tests. >>>>>> >>>>>> Thanks in advance, >>>>>> >>>>>> --morris meyer >>>>>> >>>>>> WEBREV - >>>>>> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 >>>>>> >>>>>> >>>>>> This is great! >>>>>> >>>>>> Looking at: >>>>>> >>>>>> graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java >>>>>> >>>>>> it seems we need to turn off "Organize imports" >>>>>> in our favorite editor. Also indenting seems to >>>>>> be an issue. >>>>>> >>>>>> I know the answer is "use the mx script to create >>>>>> the IDE configuration" but no everybody is using >>>>>> Eclipse or Netbeans. We need to find a way to >>>>>> keep this consistent without the help of an IDE >>>>>> (maybe Mercurial push hooks?). >>>>>> >>>>>> graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXCompilerBase.java: >>>>>> >>>>>> Can we name the test base class PTXTestBase? >>>>>> >>>>>> Otherwise this looks good to me. >>>>>> >>>>>> -- Chris >>>>>> >>>>>> >>>>>> >>>>>> From thomas.wuerthinger at oracle.com Tue Apr 9 16:43:37 2013 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Wed, 10 Apr 2013 01:43:37 +0200 Subject: RFR(M): Graal PTX enhancements In-Reply-To: <5164A5CE.7090100@oracle.com> References: <515F0DE8.4050104@oracle.com> <515F5BB1.5010707@oracle.com> <51642DCF.6000806@oracle.com> <516457C9.7080102@oracle.com> <5164745A.70104@oracle.com> <872CADCF-9A2F-46E9-892B-CF2F9E55CB1F@oracle.com> <5164A5CE.7090100@oracle.com> Message-ID: <5578E0E6-3091-4161-BBFA-500E1C33170C@oracle.com> OK, thanks, looks good! - thomas On Apr 10, 2013, at 1:35 AM, Morris Meyer wrote: > Thomas - thanks for the review. Here is the update. > > --mm > > WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.06 > > On 4/9/13 5:24 PM, Thomas Wuerthinger wrote: >> Answers inline. Thanks, thomas >> >> On Apr 9, 2013, at 10:04 PM, Morris Meyer wrote: >>> On 4/9/13 2:14 PM, Thomas Wuerthinger wrote: >>>> Morris, >>>> >>>> Looks good. Here are some comments: >>>> >>>> - In PTXLIRGenerator.emitConvert: I think you do not need the switch statement as in all cases, you are just passing on the operation to the created LIR instruction. Are L2I and I2C really so different that they are the only ones needing an Unary1Op? >>> I pulled this from AMD64LIRGenerator.emitConvert. Perhaps we could refactor both in a later change set? >> OK. I still think that you should use Unary2Op for all operations here. The difference between Unary1Op and Unary2Op is that the former requires source and destination register to be the same where as the latter allows them to be different. I believe PTX supports for all convert operations to use a destination operand that is different from the source operand. >> >>>> - In the ControlTest class: There are several lines commented out. Please either uncomment them or remove them from the patch. We have the policy that there should not be any commented out code in the repository. >>> Fixed. >>>> - In the PTXTestBase class: Why are you using an @Ignore annotation on the class? I think we should run the PTX test as soon as possible together with our regular unit tests, only ignoring the ones we know to fail. >>> The @Ignore is needed as without it junit fails as there are no test cases in PTXTestBase. >> You should rather declare it abstract. Then JUnit will not instantiate the test class. >> >>>> - In the PTXPhase class: Maybe you can add a comment why it is safe to assume all object parameters as non-null for PTX kernels - and this is the purpose of this phase. >>> # HG changeset patch >>> # User Thomas Wuerthinger >>> # Date 1362480569 -3600 >>> # Node ID 9ac11c77d12858f742e00455f1f680be538d3c8b >>> # Parent 47a7e8d8053684bfb060b1a0ff4ac59fa69eace9 >>> Mark PTX parameters as non-null >>> >>> Could you suggest the text - as you put this phase into the BasicPTXTest originally?. >> OK. My assumption was that at the point when somebody invokes a PTX kernel, the null checks would be done on the caller side (i.e., before copying the data onto the GPU). Do you think that assumption is valid and makes sense? >> >>> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.05 >>>> Thanks, thomas >>>> >>>> >>>> On Apr 9, 2013, at 8:02 PM, Morris Meyer wrote: >>>> >>>>> Gilles, >>>>> >>>>> Fixed in this updated version. Thanks much. >>>>> >>>>> --mm >>>>> >>>>> WEBREV - http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.04 >>>>> >>>>> On 4/9/13 11:24 AM, Gilles Duboscq wrote: >>>>>> It's not so important but there are still some System.err.println (in PTXLIRGenerator.java, PTXCompare.java and PTXControlFlow.java) >>>>>> >>>>>> >>>>>> On Tue, Apr 9, 2013 at 5:03 PM, Morris Meyer > wrote: >>>>>> >>>>>> Thanks Gilles, Doug and Christian for the review. Here is my >>>>>> updated webrev addressing those concerns. >>>>>> >>>>>> --mm >>>>>> >>>>>> WEBREV - >>>>>> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.03 >>>>>> >>>>>> >>>>>> >>>>>> On 4/9/13 7:59 AM, Gilles Duboscq wrote: >>>>>>> There are some System.(out|err).println in various files could >>>>>>> you remove them? When there are things like >>>>>>> throw GraalInternalError.shouldNotReachHere(), if you need some >>>>>>> output you can also >>>>>>> use GraalInternalError.shouldNotReachHere(String message) instead >>>>>>> of the println >>>>>>> >>>>>>> Otherwise it looks good >>>>>>> >>>>>>> >>>>>>> On Tue, Apr 9, 2013 at 1:59 PM, Gilles Duboscq >>>>>>> > wrote: >>>>>>> >>>>>>> There are some System.(out|err).println in various files >>>>>>> could you remove them? When there are things like >>>>>>> throw GraalInternalError.shouldNotReachHere(), if you need >>>>>>> some output you can also >>>>>>> use GraalInternalError.shouldNotReachHere(String message) >>>>>>> instead of the println >>>>>>> >>>>>>> Otherwise it looks good >>>>>>> >>>>>>> >>>>>>> On Sat, Apr 6, 2013 at 1:18 AM, Morris Meyer >>>>>>> > wrote: >>>>>>> >>>>>>> Folks >>>>>>> >>>>>>> There is an updated webrev with Christian's review >>>>>>> changes here: >>>>>>> >>>>>>> WEBREV - >>>>>>> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.02 >>>>>>> >>>>>>> >>>>>>> --morris >>>>>>> >>>>>>> >>>>>>> On 4/5/13 6:09 PM, Morris Meyer wrote: >>>>>>> >>>>>>> Thanks for the review. >>>>>>> >>>>>>> Actually with JavaFX, explicit class declarations >>>>>>> were part of our check-in procedures. I put the >>>>>>> changes into PTXLIRGenerator as IMHO it helps folks >>>>>>> just looking at the source to see what makes up the >>>>>>> class. >>>>>>> >>>>>>> Will change the class to PTXTestBase and look after >>>>>>> the indenting. >>>>>>> >>>>>>> --mm >>>>>>> >>>>>>> >>>>>>> On Apr 5, 2013, at 5:42 PM, Christian Thalinger >>>>>>> >>>>>> > wrote: >>>>>>> >>>>>>> On Apr 5, 2013, at 10:46 AM, Morris Meyer >>>>>>> >>>>>> > wrote: >>>>>>> >>>>>>> Folks, >>>>>>> >>>>>>> Could I get a review of my recent PTX >>>>>>> enhancements to Graal? I've changed the >>>>>>> tests to have a base class, extended the >>>>>>> assembler, and have taken the test coverage >>>>>>> of PTX from 2 to 23 tests. >>>>>>> >>>>>>> Thanks in advance, >>>>>>> >>>>>>> --morris meyer >>>>>>> >>>>>>> WEBREV - >>>>>>> http://cr.openjdk.java.net/~morris/Graal-PTX-Enhancements.01 >>>>>>> >>>>>>> >>>>>>> This is great! >>>>>>> >>>>>>> Looking at: >>>>>>> >>>>>>> graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java >>>>>>> >>>>>>> it seems we need to turn off "Organize imports" >>>>>>> in our favorite editor. Also indenting seems to >>>>>>> be an issue. >>>>>>> >>>>>>> I know the answer is "use the mx script to create >>>>>>> the IDE configuration" but no everybody is using >>>>>>> Eclipse or Netbeans. We need to find a way to >>>>>>> keep this consistent without the help of an IDE >>>>>>> (maybe Mercurial push hooks?). >>>>>>> >>>>>>> graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXCompilerBase.java: >>>>>>> >>>>>>> Can we name the test base class PTXTestBase? >>>>>>> >>>>>>> Otherwise this looks good to me. >>>>>>> >>>>>>> -- Chris >>>>>>> >>>>>>> >>>>>>> >>>>>>> > From christian.thalinger at oracle.com Tue Apr 9 20:34:00 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 9 Apr 2013 20:34:00 -0700 Subject: RFR (S): GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining Message-ID: <20DD68BB-2ECC-457A-836F-D7760C88B2EA@oracle.com> http://cr.openjdk.java.net/~twisti/GRAAL-213 GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining Summary: Reviewed-by: COMMENTS graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java src/share/vm/graal/graalCompilerToVM.cpp From duboscq at ssw.jku.at Wed Apr 10 02:35:13 2013 From: duboscq at ssw.jku.at (Gilles Duboscq) Date: Wed, 10 Apr 2013 11:35:13 +0200 Subject: RFR (S): GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining In-Reply-To: <20DD68BB-2ECC-457A-836F-D7760C88B2EA@oracle.com> References: <20DD68BB-2ECC-457A-836F-D7760C88B2EA@oracle.com> Message-ID: Looks good On Wed, Apr 10, 2013 at 5:34 AM, Christian Thalinger < christian.thalinger at oracle.com> wrote: > http://cr.openjdk.java.net/~twisti/GRAAL-213 > > GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining > Summary: > Reviewed-by: > > COMMENTS > > > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java > > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java > > graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java > src/share/vm/graal/graalCompilerToVM.cpp > > From lukas.stadler at jku.at Wed Apr 10 03:06:06 2013 From: lukas.stadler at jku.at (Lukas Stadler) Date: Wed, 10 Apr 2013 12:06:06 +0200 Subject: RFR (S): GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining In-Reply-To: <20DD68BB-2ECC-457A-836F-D7760C88B2EA@oracle.com> References: <20DD68BB-2ECC-457A-836F-D7760C88B2EA@oracle.com> Message-ID: Hi Christian, looks good, but I see one problem: We cannot have references to HotSpot-specific classes in the phases.common project. Doing an "mx build" should fail, because this will compile the projects independently with the right dependencies. Maybe you could add a flag to GraalOptions? Something like "PrintInliningDecisions"? - Lukas On Apr 10, 2013, at 5:34 AM, Christian Thalinger wrote: > http://cr.openjdk.java.net/~twisti/GRAAL-213 > > GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining > Summary: > Reviewed-by: > > COMMENTS > > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java > graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java > src/share/vm/graal/graalCompilerToVM.cpp > From doug.simon at oracle.com Wed Apr 10 03:18:04 2013 From: doug.simon at oracle.com (Doug Simon) Date: Wed, 10 Apr 2013 12:18:04 +0200 Subject: RFR (S): GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining In-Reply-To: References: <20DD68BB-2ECC-457A-836F-D7760C88B2EA@oracle.com> Message-ID: On Apr 10, 2013, at 12:06 PM, Lukas Stadler wrote: > Hi Christian, > > looks good, but I see one problem: > We cannot have references to HotSpot-specific classes in the phases.common project. I agree. > Doing an "mx build" should fail, because this will compile the projects independently with the right dependencies. > Maybe you could add a flag to GraalOptions? Something like "PrintInliningDecisions"? And GraalOptions.PrintInliningDecisions could be updated from the HotSpot specific option. BTW, I have an internal task (GRAAL-27) to rework GraalOptions to be more "distributed" so that options can be declared closer to where they are used and automatically discovered by the option parsing logic. -Doug > On Apr 10, 2013, at 5:34 AM, Christian Thalinger wrote: > >> http://cr.openjdk.java.net/~twisti/GRAAL-213 >> >> GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining >> Summary: >> Reviewed-by: >> >> COMMENTS >> >> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java >> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java >> graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java >> src/share/vm/graal/graalCompilerToVM.cpp >> > From Vasanth.Venkatachalam at amd.com Wed Apr 10 08:33:38 2013 From: Vasanth.Venkatachalam at amd.com (Venkatachalam, Vasanth) Date: Wed, 10 Apr 2013 15:33:38 +0000 Subject: method prologue code generation Message-ID: <5DD1503F815BD14889DC81D28643E3A732A1BFDF@sausexdag06.amd.com> I'm looking at PTXBackend.emitCode( ) and it looks like the code for the method prologue is being emitted before the actual code generation takes place in the call to lirGen.lir.emitCode(tasm). In particular, it looks like the registers that are later used in the code generation of the method body are being manually declared here. Can someone explain the intent for doing things in this order? My concern is the following. It looks like the mapping of method parameters/variables to registers only happens in the call to lirGen.lir.emitCode( ), so before this call takes place it seems you wouldn't really know which registers will be used for different parameters/variables. So how would you know what registers need to be declared in the prologue section, before you generate the code for the body of the method? On the other hand, do you have a way of piping the variable->register mapping information from lirGen.lir.emitCode( ) so that you can retrieve this when you generate the prologue? Vasanth From christian.thalinger at oracle.com Wed Apr 10 08:47:43 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 10 Apr 2013 08:47:43 -0700 Subject: RFR (S): GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining In-Reply-To: References: <20DD68BB-2ECC-457A-836F-D7760C88B2EA@oracle.com> Message-ID: On Apr 10, 2013, at 3:18 AM, Doug Simon wrote: > > On Apr 10, 2013, at 12:06 PM, Lukas Stadler wrote: > >> Hi Christian, >> >> looks good, but I see one problem: >> We cannot have references to HotSpot-specific classes in the phases.common project. > > I agree. I missed that InliningUtil is in phases.common. > >> Doing an "mx build" should fail, because this will compile the projects independently with the right dependencies. >> Maybe you could add a flag to GraalOptions? Something like "PrintInliningDecisions"? > > And GraalOptions.PrintInliningDecisions could be updated from the HotSpot specific option. Will do that. > > BTW, I have an internal task (GRAAL-27) to rework GraalOptions to be more "distributed" so that options can be declared closer to where they are used and automatically discovered by the option parsing logic. That sounds good. -- Chris > > -Doug > >> On Apr 10, 2013, at 5:34 AM, Christian Thalinger wrote: >> >>> http://cr.openjdk.java.net/~twisti/GRAAL-213 >>> >>> GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining >>> Summary: >>> Reviewed-by: >>> >>> COMMENTS >>> >>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java >>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java >>> graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java >>> src/share/vm/graal/graalCompilerToVM.cpp >>> >> > From thomas.wuerthinger at oracle.com Wed Apr 10 08:59:58 2013 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Wed, 10 Apr 2013 17:59:58 +0200 Subject: method prologue code generation In-Reply-To: <5DD1503F815BD14889DC81D28643E3A732A1BFDF@sausexdag06.amd.com> References: <5DD1503F815BD14889DC81D28643E3A732A1BFDF@sausexdag06.amd.com> Message-ID: <9A91FC3D-CAFC-4A93-8633-D6483B69597F@oracle.com> Vasanth, On Apr 10, 2013, at 5:33 PM, "Venkatachalam, Vasanth" wrote: > I'm looking at PTXBackend.emitCode( ) and it looks like the code for the method prologue is being emitted before the actual code generation takes place in the call to lirGen.lir.emitCode(tasm). In particular, it looks like the registers that are later used in the code generation of the method body are being manually declared here. > > Can someone explain the intent for doing things in this order? I believe this is more a requirement of PTX assembly to declare the kernel parameters before the kernel body. > My concern is the following. It looks like the mapping of method parameters/variables to registers only happens in the call to lirGen.lir.emitCode( ), so before this call takes place it seems you wouldn't really know which registers will be used for different parameters/variables. > > So how would you know what registers need to be declared in the prologue section, before you generate the code for the body of the method? The locations used for the parameters are usually part of the calling convention. This contract between the caller and the callee is defined based on the method signature. > On the other hand, do you have a way of piping the variable->register mapping information from lirGen.lir.emitCode( ) so that you can retrieve this when you generate the prologue? It is not necessary to pipe the parameter->register information as it is defined based on the method signature. The variable->register mapping is done automatically by the register allocator. In PTX, you only have to specify how many registers you want to "reserve" for future use. Hope this helps, thomas From Vasanth.Venkatachalam at amd.com Wed Apr 10 09:12:54 2013 From: Vasanth.Venkatachalam at amd.com (Venkatachalam, Vasanth) Date: Wed, 10 Apr 2013 16:12:54 +0000 Subject: method prologue code generation In-Reply-To: <9A91FC3D-CAFC-4A93-8633-D6483B69597F@oracle.com> References: <5DD1503F815BD14889DC81D28643E3A732A1BFDF@sausexdag06.amd.com> <9A91FC3D-CAFC-4A93-8633-D6483B69597F@oracle.com> Message-ID: <5DD1503F815BD14889DC81D28643E3A732A1C04C@sausexdag06.amd.com> Thanks. For future reference, is there a file I can look at to understand what Graal's parameter->register mapping conventions are, atleast for x86? I notice that when running the same test case multiple times the same registers are chosen, but slight changes to the test case parameters result in different registers and it's not always clear what the pattern is (e.g., param1 = register encoding 0, param2 = register encoding 1, etc.). For some test cases the first param goes into a register with encoding 0 but for others it goes into a register with encoding 6. Vasanth -----Original Message----- From: Thomas Wuerthinger [mailto:thomas.wuerthinger at oracle.com] Sent: Wednesday, April 10, 2013 11:00 AM To: Venkatachalam, Vasanth Cc: graal-dev at openjdk.java.net Subject: Re: method prologue code generation Vasanth, On Apr 10, 2013, at 5:33 PM, "Venkatachalam, Vasanth" wrote: > I'm looking at PTXBackend.emitCode( ) and it looks like the code for the method prologue is being emitted before the actual code generation takes place in the call to lirGen.lir.emitCode(tasm). In particular, it looks like the registers that are later used in the code generation of the method body are being manually declared here. > > Can someone explain the intent for doing things in this order? I believe this is more a requirement of PTX assembly to declare the kernel parameters before the kernel body. > My concern is the following. It looks like the mapping of method parameters/variables to registers only happens in the call to lirGen.lir.emitCode( ), so before this call takes place it seems you wouldn't really know which registers will be used for different parameters/variables. > > So how would you know what registers need to be declared in the prologue section, before you generate the code for the body of the method? The locations used for the parameters are usually part of the calling convention. This contract between the caller and the callee is defined based on the method signature. > On the other hand, do you have a way of piping the variable->register mapping information from lirGen.lir.emitCode( ) so that you can retrieve this when you generate the prologue? It is not necessary to pipe the parameter->register information as it is defined based on the method signature. The variable->register mapping is done automatically by the register allocator. In PTX, you only have to specify how many registers you want to "reserve" for future use. Hope this helps, thomas From christian.thalinger at oracle.com Wed Apr 10 13:37:23 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 10 Apr 2013 13:37:23 -0700 Subject: RFR (S): GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining In-Reply-To: References: <20DD68BB-2ECC-457A-836F-D7760C88B2EA@oracle.com> Message-ID: <3D078E1E-6076-4B02-9015-13B7C6860554@oracle.com> On Apr 10, 2013, at 8:47 AM, Christian Thalinger wrote: > > On Apr 10, 2013, at 3:18 AM, Doug Simon wrote: > >> >> On Apr 10, 2013, at 12:06 PM, Lukas Stadler wrote: >> >>> Hi Christian, >>> >>> looks good, but I see one problem: >>> We cannot have references to HotSpot-specific classes in the phases.common project. >> >> I agree. > > I missed that InliningUtil is in phases.common. > >> >>> Doing an "mx build" should fail, because this will compile the projects independently with the right dependencies. >>> Maybe you could add a flag to GraalOptions? Something like "PrintInliningDecisions"? >> >> And GraalOptions.PrintInliningDecisions could be updated from the HotSpot specific option. > > Will do that. I made that change and updated the webrev: http://cr.openjdk.java.net/~twisti/GRAAL-213 -- Chris > >> >> BTW, I have an internal task (GRAAL-27) to rework GraalOptions to be more "distributed" so that options can be declared closer to where they are used and automatically discovered by the option parsing logic. > > That sounds good. > > -- Chris > >> >> -Doug >> >>> On Apr 10, 2013, at 5:34 AM, Christian Thalinger wrote: >>> >>>> http://cr.openjdk.java.net/~twisti/GRAAL-213 >>>> >>>> GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining >>>> Summary: >>>> Reviewed-by: >>>> >>>> COMMENTS >>>> >>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java >>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java >>>> graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java >>>> src/share/vm/graal/graalCompilerToVM.cpp >>>> >>> >> > From thomas.wuerthinger at oracle.com Wed Apr 10 13:47:51 2013 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Wed, 10 Apr 2013 22:47:51 +0200 Subject: RFR (S): GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining In-Reply-To: <3D078E1E-6076-4B02-9015-13B7C6860554@oracle.com> References: <20DD68BB-2ECC-457A-836F-D7760C88B2EA@oracle.com> <3D078E1E-6076-4B02-9015-13B7C6860554@oracle.com> Message-ID: <62469AFF-2316-4872-B200-093363722CEF@oracle.com> Looks good. Thanks, thomas On Apr 10, 2013, at 10:37 PM, Christian Thalinger wrote: > > On Apr 10, 2013, at 8:47 AM, Christian Thalinger wrote: > >> >> On Apr 10, 2013, at 3:18 AM, Doug Simon wrote: >> >>> >>> On Apr 10, 2013, at 12:06 PM, Lukas Stadler wrote: >>> >>>> Hi Christian, >>>> >>>> looks good, but I see one problem: >>>> We cannot have references to HotSpot-specific classes in the phases.common project. >>> >>> I agree. >> >> I missed that InliningUtil is in phases.common. >> >>> >>>> Doing an "mx build" should fail, because this will compile the projects independently with the right dependencies. >>>> Maybe you could add a flag to GraalOptions? Something like "PrintInliningDecisions"? >>> >>> And GraalOptions.PrintInliningDecisions could be updated from the HotSpot specific option. >> >> Will do that. > > I made that change and updated the webrev: > > http://cr.openjdk.java.net/~twisti/GRAAL-213 > > -- Chris > >> >>> >>> BTW, I have an internal task (GRAAL-27) to rework GraalOptions to be more "distributed" so that options can be declared closer to where they are used and automatically discovered by the option parsing logic. >> >> That sounds good. >> >> -- Chris >> >>> >>> -Doug >>> >>>> On Apr 10, 2013, at 5:34 AM, Christian Thalinger wrote: >>>> >>>>> http://cr.openjdk.java.net/~twisti/GRAAL-213 >>>>> >>>>> GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining >>>>> Summary: >>>>> Reviewed-by: >>>>> >>>>> COMMENTS >>>>> >>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java >>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java >>>>> graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java >>>>> src/share/vm/graal/graalCompilerToVM.cpp >>>>> >>>> >>> >> > From christian.thalinger at oracle.com Wed Apr 10 13:48:40 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 10 Apr 2013 13:48:40 -0700 Subject: RFR (M): GRAAL-218: add CompileTheWorld functionality Message-ID: <17193080-5D98-4980-A34D-582FD419F7D1@oracle.com> http://cr.openjdk.java.net/~twisti/GRAAL-218 GRAAL-218: add CompileTheWorld functionality Reviewed-by: Add CompileTheWorld functionality to Graal. I decided to re-implement it in Java so that we can get rid of the C++ implementation at a later point. After all CTW should be part of the compiler. graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java src/share/vm/graal/graalCompilerToVM.cpp From gilwooden at gmail.com Wed Apr 10 14:28:17 2013 From: gilwooden at gmail.com (Gilles Duboscq) Date: Wed, 10 Apr 2013 23:28:17 +0200 Subject: RFR (M): GRAAL-218: add CompileTheWorld functionality In-Reply-To: <17193080-5D98-4980-A34D-582FD419F7D1@oracle.com> References: <17193080-5D98-4980-A34D-582FD419F7D1@oracle.com> Message-ID: Looks good, the huge method check is not applied to constructors, i suppose this is the same in normal CTW? On Wed, Apr 10, 2013 at 10:48 PM, Christian Thalinger < christian.thalinger at oracle.com> wrote: > http://cr.openjdk.java.net/~twisti/GRAAL-218 > > GRAAL-218: add CompileTheWorld functionality > Reviewed-by: > > Add CompileTheWorld functionality to Graal. I decided to re-implement it > in Java so that we can get rid of the C++ implementation at a later point. > After all CTW should be part of the compiler. > > > graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java > > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java > > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java > > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java > > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java > > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java > src/share/vm/graal/graalCompilerToVM.cpp > > From christian.thalinger at oracle.com Wed Apr 10 20:16:41 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 10 Apr 2013 20:16:41 -0700 Subject: RFR (M): GRAAL-218: add CompileTheWorld functionality In-Reply-To: References: <17193080-5D98-4980-A34D-582FD419F7D1@oracle.com> Message-ID: <739AE8B1-C52B-41CD-87DA-483F0252FD07@oracle.com> On Apr 10, 2013, at 2:28 PM, Gilles Duboscq wrote: > Looks good, the huge method check is not applied to constructors, i suppose this is the same in normal CTW? No. The check happens for all methods (constructors and normal methods). I will add that for the constructors too. Actually I would like to move the CTW logic into it's own class (maybe CompileTheWorld?). Where would I put such a class? -- Chris > > > On Wed, Apr 10, 2013 at 10:48 PM, Christian Thalinger wrote: > http://cr.openjdk.java.net/~twisti/GRAAL-218 > > GRAAL-218: add CompileTheWorld functionality > Reviewed-by: > > Add CompileTheWorld functionality to Graal. I decided to re-implement it in Java so that we can get rid of the C++ implementation at a later point. After all CTW should be part of the compiler. > > graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java > src/share/vm/graal/graalCompilerToVM.cpp > > From morris.meyer at oracle.com Thu Apr 11 03:22:24 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 11 Apr 2013 06:22:24 -0400 Subject: RFR (M): GRAAL-218: add CompileTheWorld functionality In-Reply-To: <739AE8B1-C52B-41CD-87DA-483F0252FD07@oracle.com> References: <17193080-5D98-4980-A34D-582FD419F7D1@oracle.com> <739AE8B1-C52B-41CD-87DA-483F0252FD07@oracle.com> Message-ID: Is there going to be a unit test w this functionality? --mm On Apr 10, 2013, at 11:16 PM, Christian Thalinger wrote: > > On Apr 10, 2013, at 2:28 PM, Gilles Duboscq wrote: > >> Looks good, the huge method check is not applied to constructors, i suppose this is the same in normal CTW? > > No. The check happens for all methods (constructors and normal methods). I will add that for the constructors too. > > Actually I would like to move the CTW logic into it's own class (maybe CompileTheWorld?). Where would I put such a class? > > -- Chris > >> >> >> On Wed, Apr 10, 2013 at 10:48 PM, Christian Thalinger wrote: >> http://cr.openjdk.java.net/~twisti/GRAAL-218 >> >> GRAAL-218: add CompileTheWorld functionality >> Reviewed-by: >> >> Add CompileTheWorld functionality to Graal. I decided to re-implement it in Java so that we can get rid of the C++ implementation at a later point. After all CTW should be part of the compiler. >> >> graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java >> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java >> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java >> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java >> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java >> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java >> src/share/vm/graal/graalCompilerToVM.cpp >> >> > From thomas.wuerthinger at oracle.com Thu Apr 11 05:27:24 2013 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Thu, 11 Apr 2013 14:27:24 +0200 Subject: RFR (M): GRAAL-218: add CompileTheWorld functionality In-Reply-To: References: <17193080-5D98-4980-A34D-582FD419F7D1@oracle.com> <739AE8B1-C52B-41CD-87DA-483F0252FD07@oracle.com> Message-ID: <4CFBC662-73F9-45CC-8DF7-7F2911F606D1@oracle.com> Yes, we can add one. However, we can basically only assert that the compiler does not bailout or throw an exception for CTW. Or can we assert any additional properties? - thomas On Apr 11, 2013, at 12:22 PM, Morris Meyer wrote: > Is there going to be a unit test w this functionality? > > --mm > > > On Apr 10, 2013, at 11:16 PM, Christian Thalinger wrote: > >> >> On Apr 10, 2013, at 2:28 PM, Gilles Duboscq wrote: >> >>> Looks good, the huge method check is not applied to constructors, i suppose this is the same in normal CTW? >> >> No. The check happens for all methods (constructors and normal methods). I will add that for the constructors too. >> >> Actually I would like to move the CTW logic into it's own class (maybe CompileTheWorld?). Where would I put such a class? >> >> -- Chris >> >>> >>> >>> On Wed, Apr 10, 2013 at 10:48 PM, Christian Thalinger wrote: >>> http://cr.openjdk.java.net/~twisti/GRAAL-218 >>> >>> GRAAL-218: add CompileTheWorld functionality >>> Reviewed-by: >>> >>> Add CompileTheWorld functionality to Graal. I decided to re-implement it in Java so that we can get rid of the C++ implementation at a later point. After all CTW should be part of the compiler. >>> >>> graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java >>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java >>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java >>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java >>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java >>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java >>> src/share/vm/graal/graalCompilerToVM.cpp >>> >>> >> From morris.meyer at oracle.com Thu Apr 11 07:53:28 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 11 Apr 2013 10:53:28 -0400 Subject: RFR (M): GRAAL-218: add CompileTheWorld functionality In-Reply-To: <4CFBC662-73F9-45CC-8DF7-7F2911F606D1@oracle.com> References: <17193080-5D98-4980-A34D-582FD419F7D1@oracle.com> <739AE8B1-C52B-41CD-87DA-483F0252FD07@oracle.com> <4CFBC662-73F9-45CC-8DF7-7F2911F606D1@oracle.com> Message-ID: <5166CE68.4060809@oracle.com> For a unit test perhaps we could just iterate the jars and their classes (without compiling) to validate the integrity of the class path. --mm On 4/11/13 8:27 AM, Thomas Wuerthinger wrote: > Yes, we can add one. However, we can basically only assert that the compiler does not bailout or throw an exception for CTW. Or can we assert any additional properties? > > - thomas > > On Apr 11, 2013, at 12:22 PM, Morris Meyer wrote: > >> Is there going to be a unit test w this functionality? >> >> --mm >> >> >> On Apr 10, 2013, at 11:16 PM, Christian Thalinger wrote: >> >>> On Apr 10, 2013, at 2:28 PM, Gilles Duboscq wrote: >>> >>>> Looks good, the huge method check is not applied to constructors, i suppose this is the same in normal CTW? >>> No. The check happens for all methods (constructors and normal methods). I will add that for the constructors too. >>> >>> Actually I would like to move the CTW logic into it's own class (maybe CompileTheWorld?). Where would I put such a class? >>> >>> -- Chris >>> >>>> >>>> On Wed, Apr 10, 2013 at 10:48 PM, Christian Thalinger wrote: >>>> http://cr.openjdk.java.net/~twisti/GRAAL-218 >>>> >>>> GRAAL-218: add CompileTheWorld functionality >>>> Reviewed-by: >>>> >>>> Add CompileTheWorld functionality to Graal. I decided to re-implement it in Java so that we can get rid of the C++ implementation at a later point. After all CTW should be part of the compiler. >>>> >>>> graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java >>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java >>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java >>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java >>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java >>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java >>>> src/share/vm/graal/graalCompilerToVM.cpp >>>> >>>> From morris.meyer at oracle.com Thu Apr 11 10:16:24 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 11 Apr 2013 13:16:24 -0400 Subject: RFR(M): GRAAL-221: PTX array load and store support Message-ID: <5166EFE8.2090301@oracle.com> Folks, Could I get a review for this new functionality for the PTX ISA? Thanks much. --morris WEBREV - http://cr.openjdk.java.net/~morris/GRAAL-221.01 BUG - https://lafo.ssw.uni-linz.ac.at/jira/browse/GRAAL-221 From thomas.wuerthinger at oracle.com Thu Apr 11 10:27:46 2013 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Thu, 11 Apr 2013 19:27:46 +0200 Subject: RFR(M): GRAAL-221: PTX array load and store support In-Reply-To: <5166EFE8.2090301@oracle.com> References: <5166EFE8.2090301@oracle.com> Message-ID: Looks good. One comment: - After this line: "masm.st_global_s8(addr.getBase(), addr.getDisplacement(), asRegister(input));", there is a "break;" missing. What are the plans regarding executing the produced PTX assembly? Having a simulator would make the tests a lot more valuable. - thomas On Apr 11, 2013, at 7:16 PM, Morris Meyer wrote: > Folks, > > Could I get a review for this new functionality for the PTX ISA? > > Thanks much. > > --morris > > WEBREV - http://cr.openjdk.java.net/~morris/GRAAL-221.01 > BUG - https://lafo.ssw.uni-linz.ac.at/jira/browse/GRAAL-221 From morris.meyer at oracle.com Thu Apr 11 11:18:38 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Thu, 11 Apr 2013 14:18:38 -0400 Subject: RFR(M): GRAAL-221: PTX array load and store support In-Reply-To: References: <5166EFE8.2090301@oracle.com> Message-ID: <5166FE7E.5040504@oracle.com> I've got a GTX 660 with 960 CUDA cores in my Mac Pro so a simulator might be a little further out. I will be writing a PTX loader shortly. --mm On 4/11/13 1:27 PM, Thomas Wuerthinger wrote: > What are the plans regarding executing the produced PTX assembly? Having a simulator would make the tests a lot more valuable. From thomas.wuerthinger at oracle.com Thu Apr 11 11:29:08 2013 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Thu, 11 Apr 2013 20:29:08 +0200 Subject: RFR(M): GRAAL-221: PTX array load and store support In-Reply-To: <5166FE7E.5040504@oracle.com> References: <5166EFE8.2090301@oracle.com> <5166FE7E.5040504@oracle.com> Message-ID: <8D5EB57C-F17C-4C0A-9275-7471C896BF21@oracle.com> OK, sounds great. I guess we can add PTX capabilities to our gate server. - thomas On Apr 11, 2013, at 8:18 PM, Morris Meyer wrote: > I've got a GTX 660 with 960 CUDA cores in my Mac Pro so a simulator might be a little further out. I will be writing a PTX loader shortly. > > --mm > > On 4/11/13 1:27 PM, Thomas Wuerthinger wrote: >> What are the plans regarding executing the produced PTX assembly? Having a simulator would make the tests a lot more valuable. > From christian.thalinger at oracle.com Thu Apr 11 18:05:02 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 11 Apr 2013 18:05:02 -0700 Subject: RFR (M): GRAAL-218: add CompileTheWorld functionality In-Reply-To: <5166CE68.4060809@oracle.com> References: <17193080-5D98-4980-A34D-582FD419F7D1@oracle.com> <739AE8B1-C52B-41CD-87DA-483F0252FD07@oracle.com> <4CFBC662-73F9-45CC-8DF7-7F2911F606D1@oracle.com> <5166CE68.4060809@oracle.com> Message-ID: Here is a reworked version of the patch: http://cr.openjdk.java.net/~twisti/GRAAL-218 There are now two different syntaxes that are supported: 1) the Hotspot way: -XX:+CompileTheWorld -Xbootclasspath/p:foo.zip:bar.jar 2) the Graal way: -G:CompileTheWorld=foo.zip:bar.jar The first is for compatibility and only works with optimized builds or lower (by lower I mean fastdebug, debug). The second also works in a product build. I've added a test which compiles the first 5 classes of rt.jar. -- Chris On Apr 11, 2013, at 7:53 AM, Morris Meyer wrote: > For a unit test perhaps we could just iterate the jars and their classes (without compiling) to validate the integrity of the class path. > > --mm > > On 4/11/13 8:27 AM, Thomas Wuerthinger wrote: >> Yes, we can add one. However, we can basically only assert that the compiler does not bailout or throw an exception for CTW. Or can we assert any additional properties? >> >> - thomas >> >> On Apr 11, 2013, at 12:22 PM, Morris Meyer wrote: >> >>> Is there going to be a unit test w this functionality? >>> >>> --mm >>> >>> >>> On Apr 10, 2013, at 11:16 PM, Christian Thalinger wrote: >>> >>>> On Apr 10, 2013, at 2:28 PM, Gilles Duboscq wrote: >>>> >>>>> Looks good, the huge method check is not applied to constructors, i suppose this is the same in normal CTW? >>>> No. The check happens for all methods (constructors and normal methods). I will add that for the constructors too. >>>> >>>> Actually I would like to move the CTW logic into it's own class (maybe CompileTheWorld?). Where would I put such a class? >>>> >>>> -- Chris >>>> >>>>> >>>>> On Wed, Apr 10, 2013 at 10:48 PM, Christian Thalinger wrote: >>>>> http://cr.openjdk.java.net/~twisti/GRAAL-218 >>>>> >>>>> GRAAL-218: add CompileTheWorld functionality >>>>> Reviewed-by: >>>>> >>>>> Add CompileTheWorld functionality to Graal. I decided to re-implement it in Java so that we can get rid of the C++ implementation at a later point. After all CTW should be part of the compiler. >>>>> >>>>> graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java >>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java >>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java >>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java >>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java >>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java >>>>> src/share/vm/graal/graalCompilerToVM.cpp >>>>> >>>>> > From thomas.wuerthinger at oracle.com Fri Apr 12 09:12:37 2013 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Fri, 12 Apr 2013 18:12:37 +0200 Subject: RFR (M): GRAAL-218: add CompileTheWorld functionality In-Reply-To: References: <17193080-5D98-4980-A34D-582FD419F7D1@oracle.com> <739AE8B1-C52B-41CD-87DA-483F0252FD07@oracle.com> <4CFBC662-73F9-45CC-8DF7-7F2911F606D1@oracle.com> <5166CE68.4060809@oracle.com> Message-ID: <9AC7DB51-C95A-429F-BAF5-08817C6FFAC1@oracle.com> Looks good! One more minor comment: Maybe you can give the three values CompileTheWorldStartAt, CompileTheWorldStopAt, and CompileTheWorld as parameters to the constructors of the CompileTheWorld class? Then different instances of the class can be used in parallel and the parameters to the operation are more explicit. Thanks, thomas On Apr 12, 2013, at 3:05 AM, Christian Thalinger wrote: > Here is a reworked version of the patch: > > http://cr.openjdk.java.net/~twisti/GRAAL-218 > > There are now two different syntaxes that are supported: > > 1) the Hotspot way: -XX:+CompileTheWorld -Xbootclasspath/p:foo.zip:bar.jar > > 2) the Graal way: -G:CompileTheWorld=foo.zip:bar.jar > > The first is for compatibility and only works with optimized builds or lower (by lower I mean fastdebug, debug). The second also works in a product build. > > I've added a test which compiles the first 5 classes of rt.jar. > > -- Chris > > On Apr 11, 2013, at 7:53 AM, Morris Meyer wrote: > >> For a unit test perhaps we could just iterate the jars and their classes (without compiling) to validate the integrity of the class path. >> >> --mm >> >> On 4/11/13 8:27 AM, Thomas Wuerthinger wrote: >>> Yes, we can add one. However, we can basically only assert that the compiler does not bailout or throw an exception for CTW. Or can we assert any additional properties? >>> >>> - thomas >>> >>> On Apr 11, 2013, at 12:22 PM, Morris Meyer wrote: >>> >>>> Is there going to be a unit test w this functionality? >>>> >>>> --mm >>>> >>>> >>>> On Apr 10, 2013, at 11:16 PM, Christian Thalinger wrote: >>>> >>>>> On Apr 10, 2013, at 2:28 PM, Gilles Duboscq wrote: >>>>> >>>>>> Looks good, the huge method check is not applied to constructors, i suppose this is the same in normal CTW? >>>>> No. The check happens for all methods (constructors and normal methods). I will add that for the constructors too. >>>>> >>>>> Actually I would like to move the CTW logic into it's own class (maybe CompileTheWorld?). Where would I put such a class? >>>>> >>>>> -- Chris >>>>> >>>>>> >>>>>> On Wed, Apr 10, 2013 at 10:48 PM, Christian Thalinger wrote: >>>>>> http://cr.openjdk.java.net/~twisti/GRAAL-218 >>>>>> >>>>>> GRAAL-218: add CompileTheWorld functionality >>>>>> Reviewed-by: >>>>>> >>>>>> Add CompileTheWorld functionality to Graal. I decided to re-implement it in Java so that we can get rid of the C++ implementation at a later point. After all CTW should be part of the compiler. >>>>>> >>>>>> graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java >>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java >>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java >>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java >>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java >>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java >>>>>> src/share/vm/graal/graalCompilerToVM.cpp >>>>>> >>>>>> >> > From christian.thalinger at oracle.com Fri Apr 12 12:16:01 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 12 Apr 2013 12:16:01 -0700 Subject: RFR(M): GRAAL-221: PTX array load and store support In-Reply-To: <8D5EB57C-F17C-4C0A-9275-7471C896BF21@oracle.com> References: <5166EFE8.2090301@oracle.com> <5166FE7E.5040504@oracle.com> <8D5EB57C-F17C-4C0A-9275-7471C896BF21@oracle.com> Message-ID: <83E304E0-090D-4705-AB85-997B456A45C4@oracle.com> On Apr 11, 2013, at 11:29 AM, Thomas Wuerthinger wrote: > OK, sounds great. I guess we can add PTX capabilities to our gate server. - thomas That would be great. Btw. almost all MacBooks should be able to run PTX code after CUDA is installed. -- Chris > > On Apr 11, 2013, at 8:18 PM, Morris Meyer wrote: > >> I've got a GTX 660 with 960 CUDA cores in my Mac Pro so a simulator might be a little further out. I will be writing a PTX loader shortly. >> >> --mm >> >> On 4/11/13 1:27 PM, Thomas Wuerthinger wrote: >>> What are the plans regarding executing the produced PTX assembly? Having a simulator would make the tests a lot more valuable. >> > From christian.thalinger at oracle.com Fri Apr 12 12:34:21 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 12 Apr 2013 12:34:21 -0700 Subject: RFR (M): GRAAL-218: add CompileTheWorld functionality In-Reply-To: <9AC7DB51-C95A-429F-BAF5-08817C6FFAC1@oracle.com> References: <17193080-5D98-4980-A34D-582FD419F7D1@oracle.com> <739AE8B1-C52B-41CD-87DA-483F0252FD07@oracle.com> <4CFBC662-73F9-45CC-8DF7-7F2911F606D1@oracle.com> <5166CE68.4060809@oracle.com> <9AC7DB51-C95A-429F-BAF5-08817C6FFAC1@oracle.com> Message-ID: <02D3C249-09DB-418E-A980-E7038D5ECE09@oracle.com> On Apr 12, 2013, at 9:12 AM, Thomas Wuerthinger wrote: > Looks good! > > One more minor comment: Maybe you can give the three values CompileTheWorldStartAt, CompileTheWorldStopAt, and CompileTheWorld as parameters to the constructors of the CompileTheWorld class? Then different instances of the class can be used in parallel and the parameters to the operation are more explicit. I was thinking about that too. Here is an updated version with two constructors: http://cr.openjdk.java.net/~twisti/GRAAL-218/ -- Chris > > Thanks, thomas > > On Apr 12, 2013, at 3:05 AM, Christian Thalinger wrote: > >> Here is a reworked version of the patch: >> >> http://cr.openjdk.java.net/~twisti/GRAAL-218 >> >> There are now two different syntaxes that are supported: >> >> 1) the Hotspot way: -XX:+CompileTheWorld -Xbootclasspath/p:foo.zip:bar.jar >> >> 2) the Graal way: -G:CompileTheWorld=foo.zip:bar.jar >> >> The first is for compatibility and only works with optimized builds or lower (by lower I mean fastdebug, debug). The second also works in a product build. >> >> I've added a test which compiles the first 5 classes of rt.jar. >> >> -- Chris >> >> On Apr 11, 2013, at 7:53 AM, Morris Meyer wrote: >> >>> For a unit test perhaps we could just iterate the jars and their classes (without compiling) to validate the integrity of the class path. >>> >>> --mm >>> >>> On 4/11/13 8:27 AM, Thomas Wuerthinger wrote: >>>> Yes, we can add one. However, we can basically only assert that the compiler does not bailout or throw an exception for CTW. Or can we assert any additional properties? >>>> >>>> - thomas >>>> >>>> On Apr 11, 2013, at 12:22 PM, Morris Meyer wrote: >>>> >>>>> Is there going to be a unit test w this functionality? >>>>> >>>>> --mm >>>>> >>>>> >>>>> On Apr 10, 2013, at 11:16 PM, Christian Thalinger wrote: >>>>> >>>>>> On Apr 10, 2013, at 2:28 PM, Gilles Duboscq wrote: >>>>>> >>>>>>> Looks good, the huge method check is not applied to constructors, i suppose this is the same in normal CTW? >>>>>> No. The check happens for all methods (constructors and normal methods). I will add that for the constructors too. >>>>>> >>>>>> Actually I would like to move the CTW logic into it's own class (maybe CompileTheWorld?). Where would I put such a class? >>>>>> >>>>>> -- Chris >>>>>> >>>>>>> >>>>>>> On Wed, Apr 10, 2013 at 10:48 PM, Christian Thalinger wrote: >>>>>>> http://cr.openjdk.java.net/~twisti/GRAAL-218 >>>>>>> >>>>>>> GRAAL-218: add CompileTheWorld functionality >>>>>>> Reviewed-by: >>>>>>> >>>>>>> Add CompileTheWorld functionality to Graal. I decided to re-implement it in Java so that we can get rid of the C++ implementation at a later point. After all CTW should be part of the compiler. >>>>>>> >>>>>>> graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java >>>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java >>>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java >>>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java >>>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java >>>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java >>>>>>> src/share/vm/graal/graalCompilerToVM.cpp >>>>>>> >>>>>>> >>> >> > From thomas.wuerthinger at oracle.com Fri Apr 12 14:01:48 2013 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Fri, 12 Apr 2013 23:01:48 +0200 Subject: RFR (M): GRAAL-218: add CompileTheWorld functionality In-Reply-To: <02D3C249-09DB-418E-A980-E7038D5ECE09@oracle.com> References: <17193080-5D98-4980-A34D-582FD419F7D1@oracle.com> <739AE8B1-C52B-41CD-87DA-483F0252FD07@oracle.com> <4CFBC662-73F9-45CC-8DF7-7F2911F606D1@oracle.com> <5166CE68.4060809@oracle.com> <9AC7DB51-C95A-429F-BAF5-08817C6FFAC1@oracle.com> <02D3C249-09DB-418E-A980-E7038D5ECE09@oracle.com> Message-ID: Looks good! Thanks, thomas On Apr 12, 2013, at 9:34 PM, Christian Thalinger wrote: > > On Apr 12, 2013, at 9:12 AM, Thomas Wuerthinger wrote: > >> Looks good! >> >> One more minor comment: Maybe you can give the three values CompileTheWorldStartAt, CompileTheWorldStopAt, and CompileTheWorld as parameters to the constructors of the CompileTheWorld class? Then different instances of the class can be used in parallel and the parameters to the operation are more explicit. > > I was thinking about that too. Here is an updated version with two constructors: > > http://cr.openjdk.java.net/~twisti/GRAAL-218/ > > -- Chris > >> >> Thanks, thomas >> >> On Apr 12, 2013, at 3:05 AM, Christian Thalinger wrote: >> >>> Here is a reworked version of the patch: >>> >>> http://cr.openjdk.java.net/~twisti/GRAAL-218 >>> >>> There are now two different syntaxes that are supported: >>> >>> 1) the Hotspot way: -XX:+CompileTheWorld -Xbootclasspath/p:foo.zip:bar.jar >>> >>> 2) the Graal way: -G:CompileTheWorld=foo.zip:bar.jar >>> >>> The first is for compatibility and only works with optimized builds or lower (by lower I mean fastdebug, debug). The second also works in a product build. >>> >>> I've added a test which compiles the first 5 classes of rt.jar. >>> >>> -- Chris >>> >>> On Apr 11, 2013, at 7:53 AM, Morris Meyer wrote: >>> >>>> For a unit test perhaps we could just iterate the jars and their classes (without compiling) to validate the integrity of the class path. >>>> >>>> --mm >>>> >>>> On 4/11/13 8:27 AM, Thomas Wuerthinger wrote: >>>>> Yes, we can add one. However, we can basically only assert that the compiler does not bailout or throw an exception for CTW. Or can we assert any additional properties? >>>>> >>>>> - thomas >>>>> >>>>> On Apr 11, 2013, at 12:22 PM, Morris Meyer wrote: >>>>> >>>>>> Is there going to be a unit test w this functionality? >>>>>> >>>>>> --mm >>>>>> >>>>>> >>>>>> On Apr 10, 2013, at 11:16 PM, Christian Thalinger wrote: >>>>>> >>>>>>> On Apr 10, 2013, at 2:28 PM, Gilles Duboscq wrote: >>>>>>> >>>>>>>> Looks good, the huge method check is not applied to constructors, i suppose this is the same in normal CTW? >>>>>>> No. The check happens for all methods (constructors and normal methods). I will add that for the constructors too. >>>>>>> >>>>>>> Actually I would like to move the CTW logic into it's own class (maybe CompileTheWorld?). Where would I put such a class? >>>>>>> >>>>>>> -- Chris >>>>>>> >>>>>>>> >>>>>>>> On Wed, Apr 10, 2013 at 10:48 PM, Christian Thalinger wrote: >>>>>>>> http://cr.openjdk.java.net/~twisti/GRAAL-218 >>>>>>>> >>>>>>>> GRAAL-218: add CompileTheWorld functionality >>>>>>>> Reviewed-by: >>>>>>>> >>>>>>>> Add CompileTheWorld functionality to Graal. I decided to re-implement it in Java so that we can get rid of the C++ implementation at a later point. After all CTW should be part of the compiler. >>>>>>>> >>>>>>>> graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java >>>>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java >>>>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java >>>>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java >>>>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java >>>>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java >>>>>>>> src/share/vm/graal/graalCompilerToVM.cpp >>>>>>>> >>>>>>>> >>>> >>> >> > From christian.thalinger at oracle.com Fri Apr 12 14:48:41 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 12 Apr 2013 14:48:41 -0700 Subject: RFR (M): GRAAL-218: add CompileTheWorld functionality In-Reply-To: References: <17193080-5D98-4980-A34D-582FD419F7D1@oracle.com> <739AE8B1-C52B-41CD-87DA-483F0252FD07@oracle.com> <4CFBC662-73F9-45CC-8DF7-7F2911F606D1@oracle.com> <5166CE68.4060809@oracle.com> <9AC7DB51-C95A-429F-BAF5-08817C6FFAC1@oracle.com> <02D3C249-09DB-418E-A980-E7038D5ECE09@oracle.com> Message-ID: <121895C1-B442-464C-81B3-36BF866C7E7A@oracle.com> On Apr 12, 2013, at 2:01 PM, Thomas Wuerthinger wrote: > Looks good! Thanks, thomas Thanks for the review. I'll push this now. -- Chris > > On Apr 12, 2013, at 9:34 PM, Christian Thalinger wrote: > >> >> On Apr 12, 2013, at 9:12 AM, Thomas Wuerthinger wrote: >> >>> Looks good! >>> >>> One more minor comment: Maybe you can give the three values CompileTheWorldStartAt, CompileTheWorldStopAt, and CompileTheWorld as parameters to the constructors of the CompileTheWorld class? Then different instances of the class can be used in parallel and the parameters to the operation are more explicit. >> >> I was thinking about that too. Here is an updated version with two constructors: >> >> http://cr.openjdk.java.net/~twisti/GRAAL-218/ >> >> -- Chris >> >>> >>> Thanks, thomas >>> >>> On Apr 12, 2013, at 3:05 AM, Christian Thalinger wrote: >>> >>>> Here is a reworked version of the patch: >>>> >>>> http://cr.openjdk.java.net/~twisti/GRAAL-218 >>>> >>>> There are now two different syntaxes that are supported: >>>> >>>> 1) the Hotspot way: -XX:+CompileTheWorld -Xbootclasspath/p:foo.zip:bar.jar >>>> >>>> 2) the Graal way: -G:CompileTheWorld=foo.zip:bar.jar >>>> >>>> The first is for compatibility and only works with optimized builds or lower (by lower I mean fastdebug, debug). The second also works in a product build. >>>> >>>> I've added a test which compiles the first 5 classes of rt.jar. >>>> >>>> -- Chris >>>> >>>> On Apr 11, 2013, at 7:53 AM, Morris Meyer wrote: >>>> >>>>> For a unit test perhaps we could just iterate the jars and their classes (without compiling) to validate the integrity of the class path. >>>>> >>>>> --mm >>>>> >>>>> On 4/11/13 8:27 AM, Thomas Wuerthinger wrote: >>>>>> Yes, we can add one. However, we can basically only assert that the compiler does not bailout or throw an exception for CTW. Or can we assert any additional properties? >>>>>> >>>>>> - thomas >>>>>> >>>>>> On Apr 11, 2013, at 12:22 PM, Morris Meyer wrote: >>>>>> >>>>>>> Is there going to be a unit test w this functionality? >>>>>>> >>>>>>> --mm >>>>>>> >>>>>>> >>>>>>> On Apr 10, 2013, at 11:16 PM, Christian Thalinger wrote: >>>>>>> >>>>>>>> On Apr 10, 2013, at 2:28 PM, Gilles Duboscq wrote: >>>>>>>> >>>>>>>>> Looks good, the huge method check is not applied to constructors, i suppose this is the same in normal CTW? >>>>>>>> No. The check happens for all methods (constructors and normal methods). I will add that for the constructors too. >>>>>>>> >>>>>>>> Actually I would like to move the CTW logic into it's own class (maybe CompileTheWorld?). Where would I put such a class? >>>>>>>> >>>>>>>> -- Chris >>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, Apr 10, 2013 at 10:48 PM, Christian Thalinger wrote: >>>>>>>>> http://cr.openjdk.java.net/~twisti/GRAAL-218 >>>>>>>>> >>>>>>>>> GRAAL-218: add CompileTheWorld functionality >>>>>>>>> Reviewed-by: >>>>>>>>> >>>>>>>>> Add CompileTheWorld functionality to Graal. I decided to re-implement it in Java so that we can get rid of the C++ implementation at a later point. After all CTW should be part of the compiler. >>>>>>>>> >>>>>>>>> graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java >>>>>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java >>>>>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java >>>>>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java >>>>>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java >>>>>>>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java >>>>>>>>> src/share/vm/graal/graalCompilerToVM.cpp >>>>>>>>> >>>>>>>>> >>>>> >>>> >>> >> > From doug.simon at oracle.com Sat Apr 13 18:00:35 2013 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Sun, 14 Apr 2013 01:00:35 +0000 Subject: hg: graal/graal: 447 new changesets Message-ID: <20130414011845.AE25C482BD@hg.openjdk.java.net> Changeset: e0ff5cf358a4 Author: Christian Humer Date: 2013-04-06 14:33 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e0ff5cf358a4 Fixed when specializing nodes must always call the full generic case. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java Changeset: 5eeade940236 Author: Christian Humer Date: 2013-04-06 16:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5eeade940236 Fixed user generic signature must not match generated generic signature. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/Utils.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ActualParameter.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/TemplateMethod.java Changeset: e2b471ba533a Author: Christian Humer Date: 2013-04-06 16:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e2b471ba533a Fixed rootNode should not get replaced if an error occured otherwise no errors were outputted. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java Changeset: 31f1390766d9 Author: Christian Humer Date: 2013-04-07 12:45 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/31f1390766d9 Merge. - graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsProvider.java Changeset: fbda7e1dee9a Author: katleman Date: 2013-03-07 11:17 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/fbda7e1dee9a Added tag jdk8-b80 for changeset 4a198b201f3c ! .hgtags Changeset: 7f482030ff64 Author: amurillo Date: 2013-03-01 04:58 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/7f482030ff64 8009226: new hotspot build - hs25-b22 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 1f9994892f89 Author: stefank Date: 2013-02-21 17:22 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/1f9994892f89 8008549: NPG: SystemDictionary::find(...) unnecessarily keeps class loaders alive Summary: SystemDictionary::find(...) should not create and register ClassLoaderData objects for class loaders. Reviewed-by: coleenp, acorn Contributed-by: Stefan Karlsson , Erik Helin ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/classfile/classLoaderData.inline.hpp ! src/share/vm/classfile/dictionary.cpp ! src/share/vm/classfile/systemDictionary.cpp Changeset: 3c9db54c2660 Author: mikael Date: 2013-02-26 08:54 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/3c9db54c2660 8008081: Print outs do not have matching arguments Summary: Corrected formatted prints to have matching arguments, removed dead print_frame_layout function Reviewed-by: sla, dholmes ! src/share/vm/c1/c1_FrameMap.cpp ! src/share/vm/c1/c1_FrameMap.hpp ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/memory/cardTableModRefBS.cpp ! src/share/vm/memory/cardTableRS.cpp ! src/share/vm/prims/jvmtiEnter.xsl ! src/share/vm/services/memReporter.cpp ! src/share/vm/utilities/numberSeq.cpp Changeset: 05f2fc6b4ea7 Author: dholmes Date: 2013-02-27 04:58 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/05f2fc6b4ea7 Merge Changeset: 96bd4772ec62 Author: kevinw Date: 2013-02-27 14:02 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/96bd4772ec62 8008807: SA: jstack crash when target has mismatched bitness (Linux) Reviewed-by: rbackman, sla, poonam ! agent/src/os/linux/LinuxDebuggerLocal.c Changeset: 698b615a1cde Author: kevinw Date: 2013-02-27 16:40 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/698b615a1cde Merge Changeset: 651919d134f7 Author: kevinw Date: 2013-02-27 22:40 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/651919d134f7 7178741: SA: jstack -m produce UnalignedAddressException in output (Linux) Reviewed-by: poonam, sla ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/amd64/LinuxAMD64CFrame.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/linux/x86/LinuxX86CFrame.java Changeset: 5ee250974db9 Author: dcubed Date: 2013-02-27 15:00 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/5ee250974db9 8007476: assert(the_owner != NULL) failed: Did not find owning Java thread for lock word address Summary: Make deadlock detection a little more robust in the case of being unable to find the JavaThread associated with an object lock. Reviewed-by: sla, acorn ! src/share/vm/prims/jvmtiEnvBase.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/services/threadService.cpp Changeset: a140cd925462 Author: dcubed Date: 2013-02-28 05:55 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/a140cd925462 Merge Changeset: 63e54c37ac64 Author: simonis Date: 2013-02-27 09:40 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/63e54c37ac64 8008959: Fix non-PCH build on Linux, Windows and MacOS X Summary: Fix the build without precompiled headers by either including the missing ".inline.hpp" files into the appropriate files or by turning inline-functions declared in header files into ordinary functions in ".cpp" files. Reviewed-by: coleenp, stefank, dholmes ! src/os/bsd/vm/os_bsd.cpp ! src/os/bsd/vm/os_bsd.hpp ! src/os/bsd/vm/os_bsd.inline.hpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os/linux/vm/os_linux.inline.hpp ! src/os/solaris/vm/os_solaris.inline.hpp ! src/os/windows/vm/decoder_windows.cpp ! src/os/windows/vm/os_windows.inline.hpp ! src/os_cpu/bsd_x86/vm/atomic_bsd_x86.inline.hpp ! src/os_cpu/bsd_x86/vm/orderAccess_bsd_x86.inline.hpp ! src/os_cpu/bsd_zero/vm/atomic_bsd_zero.inline.hpp ! src/os_cpu/linux_sparc/vm/atomic_linux_sparc.inline.hpp ! src/os_cpu/linux_x86/vm/atomic_linux_x86.inline.hpp ! src/os_cpu/linux_x86/vm/orderAccess_linux_x86.inline.hpp ! src/os_cpu/linux_zero/vm/atomic_linux_zero.inline.hpp ! src/os_cpu/solaris_sparc/vm/atomic_solaris_sparc.inline.hpp ! src/os_cpu/solaris_sparc/vm/orderAccess_solaris_sparc.inline.hpp ! src/os_cpu/solaris_x86/vm/atomic_solaris_x86.inline.hpp ! src/os_cpu/solaris_x86/vm/orderAccess_solaris_x86.inline.hpp ! src/os_cpu/windows_x86/vm/atomic_windows_x86.inline.hpp ! src/os_cpu/windows_x86/vm/orderAccess_windows_x86.inline.hpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/oops/symbol.cpp ! src/share/vm/oops/symbol.hpp Changeset: a506ac816f14 Author: coleenp Date: 2013-02-27 07:35 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/a506ac816f14 Merge Changeset: 143973ced9ab Author: coleenp Date: 2013-02-28 18:37 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/143973ced9ab Merge Changeset: 3e83d69c19db Author: dcubed Date: 2013-03-01 15:59 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/3e83d69c19db Merge Changeset: a252e688abcf Author: jmasa Date: 2013-02-01 17:02 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/a252e688abcf 7189971: Implement CMSWaitDuration for non-incremental mode of CMS Reviewed-by: jmasa, johnc, ysr Contributed-by: michal at frajt.eu ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp ! src/share/vm/runtime/globals.hpp Changeset: 0624b9d81255 Author: ehelin Date: 2013-03-04 13:01 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/0624b9d81255 8004172: Update jstat counter names to reflect metaspace changes Reviewed-by: stefank, jmasa ! src/share/vm/memory/metaspaceCounters.cpp ! src/share/vm/memory/metaspaceCounters.hpp Changeset: 27714220e50e Author: johnc Date: 2013-03-04 12:42 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/27714220e50e 8007036: G1: Too many old regions added to last mixed GC Summary: Stop adding old regions to collection set when the remaining reclaimable bytes reaches, or goes below, G1HeapWastePercent. Changes were also reviewed by Vitaly Davidovich . Reviewed-by: brutisso ! src/share/vm/gc_implementation/g1/collectionSetChooser.cpp ! src/share/vm/gc_implementation/g1/collectionSetChooser.hpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.hpp Changeset: d778bb46a9a5 Author: erikj Date: 2013-03-04 22:39 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/d778bb46a9a5 8008451: Make mac builds on 10.8 work on 10.7 Reviewed-by: jcoomes, ohair ! make/bsd/makefiles/gcc.make Changeset: c71e15057f1d Author: stefank Date: 2013-03-07 14:29 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/c71e15057f1d Merge Changeset: 7369298bec7e Author: collins Date: 2013-02-27 20:36 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/7369298bec7e 7115383: TEST_BUG: some jtreg tests fail because they explicitly specify -server option Summary: Small changes to hotspot tests to remove "-server" and replace with ${TESTVMOPTS} Reviewed-by: kvn ! test/compiler/6431242/Test.java ! test/compiler/6589834/Test_ia32.java ! test/compiler/6636138/Test1.java ! test/compiler/6636138/Test2.java ! test/compiler/6795161/Test.java ! test/compiler/6946040/TestCharShortByteSwap.java ! test/compiler/7068051/Test7068051.sh ! test/compiler/8000805/Test8000805.java Changeset: 5cf033ff06c4 Author: bpittore Date: 2013-03-01 14:06 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/5cf033ff06c4 Merge Changeset: af5ac43f06e9 Author: jprovino Date: 2013-03-07 10:46 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/af5ac43f06e9 Merge Changeset: 0b8f9c8d2617 Author: jiangli Date: 2013-03-07 10:39 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/0b8f9c8d2617 Merge Changeset: 40b7c6b800ab Author: morris Date: 2013-03-01 14:26 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/40b7c6b800ab 8008327: [parfait] Unitialized variable in hotspot/agent/src/os/bsd/MacosxDebuggerLocal.m Summary: Fix unitialized variable and return value. Reviewed-by: kvn ! agent/src/os/bsd/MacosxDebuggerLocal.m Changeset: bf06968a8a00 Author: morris Date: 2013-03-04 13:15 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/bf06968a8a00 8008559: [parfait] Path through non-void function '_ZN2os15thread_cpu_timeEP6Thread' returns an undefined value Summary: safety checks for non-Apple thread time functions Reviewed-by: kvn ! src/os/bsd/vm/os_bsd.cpp Changeset: c40fbf634c90 Author: morris Date: 2013-03-05 04:24 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/c40fbf634c90 8008574: [parfait] Null pointer deference in hotspot/src/share/vm/runtime/frame.cpp Summary: fix null pointer Reviewed-by: kvn ! src/share/vm/runtime/frame.cpp Changeset: 571076d3c79d Author: shade Date: 2013-03-05 04:24 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/571076d3c79d 8009120: Fuzz instruction scheduling in HotSpot compilers Reviewed-by: kvn, vlivanov ! src/share/vm/opto/c2_globals.hpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/gcm.cpp ! src/share/vm/opto/lcm.cpp Changeset: 4f553e24b3b5 Author: vlivanov Date: 2013-03-05 08:17 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/4f553e24b3b5 Merge Changeset: 872b3feace55 Author: morris Date: 2013-03-05 18:03 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/872b3feace55 8008750: [partfait] Null pointer deference in hotspot/src/share/vm/oops/instanceKlass.hpp Summary: fix null pointer Reviewed-by: kvn, coleenp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp Changeset: 8651f608fea4 Author: roland Date: 2013-03-06 10:28 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/8651f608fea4 8009460: C2compiler crash in machnode::in_regmask(unsigned int) Summary: 7121140 may not correctly break the Allocate -> MemBarStoreStore link Reviewed-by: kvn ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/macro.cpp Changeset: ff55877839bc Author: kvn Date: 2013-03-06 12:25 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/ff55877839bc 8009472: Print additional information for 8004640 failure Summary: dump nodes and types in 8004640 case. Reviewed-by: roland ! src/share/vm/opto/compile.hpp ! src/share/vm/opto/memnode.cpp Changeset: bdb602473679 Author: morris Date: 2013-03-07 14:46 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/bdb602473679 Merge ! src/os/bsd/vm/os_bsd.cpp Changeset: b5bd25d55994 Author: morris Date: 2013-03-07 18:03 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/b5bd25d55994 Merge Changeset: dd6350b4abc4 Author: amurillo Date: 2013-03-08 08:10 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/dd6350b4abc4 Merge Changeset: 65b797426a3b Author: amurillo Date: 2013-03-08 08:10 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/65b797426a3b Added tag hs25-b22 for changeset dd6350b4abc4 ! .hgtags Changeset: f1629878512f Author: katleman Date: 2013-03-14 15:00 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f1629878512f Added tag jdk8-b81 for changeset 65b797426a3b ! .hgtags Changeset: b95ad0610fef Author: asaha Date: 2012-10-26 09:27 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b95ad0610fef Merge - agent/make/ClosureFinder.java - agent/src/share/classes/sun/jvm/hotspot/TestDebugger.java - agent/src/share/classes/sun/jvm/hotspot/asm/AbstractInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/Address.java - agent/src/share/classes/sun/jvm/hotspot/asm/Arithmetic.java - agent/src/share/classes/sun/jvm/hotspot/asm/ArithmeticInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/BaseIndexScaleDispAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/BranchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/CPUHelper.java - agent/src/share/classes/sun/jvm/hotspot/asm/CallInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/DirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/Immediate.java - agent/src/share/classes/sun/jvm/hotspot/asm/IndirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/Instruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/LoadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/LogicInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/MemoryInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/MoveInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/PCRelativeAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/RTLDataTypes.java - agent/src/share/classes/sun/jvm/hotspot/asm/RTLOperations.java - agent/src/share/classes/sun/jvm/hotspot/asm/ReturnInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/ShiftInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/StoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64FloatRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64Helper.java - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64Register.java - agent/src/share/classes/sun/jvm/hotspot/asm/amd64/AMD64Registers.java - agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64FloatRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64FloatRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Helper.java - agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Register.java - agent/src/share/classes/sun/jvm/hotspot/asm/ia64/IA64Registers.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceLdstubDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceLoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/AlternateSpaceSwapDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ArithmeticDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/BranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CallDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CoprocessorBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/CoprocessorDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FP2RegisterDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPArithmeticDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPMoveDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FPopDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FloatBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FloatDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/FlushDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/Format3ADecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/IllegalInstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/InstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/IntegerBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/JmplDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LdstubDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/LogicDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/MemoryInstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ReadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ReadWriteDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/RegisterDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/RestoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/RettDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCArithmeticInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCAtomicLoadStoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCBranchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCCallInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCDisassembler.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFP2RegisterInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFPArithmeticInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFPMoveInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFloatRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFloatRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFlushInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCFormat3AInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCHelper.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCIllegalInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCIndirectCallInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstructionFactory.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCInstructionFactoryImpl.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCJmplInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLdstubInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLoadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCLogicInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCMemoryInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCMoveInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCNoopInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCOpcodes.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCReadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRegisterIndirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRestoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCRettInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCReturnInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSaveInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSethiInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCShiftInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialLoadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialRegisterInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSpecialStoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCStbarInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCStoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCSwapInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCTrapInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCUnimpInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV8Disassembler.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9BranchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9CasInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ConditionFlags.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Disassembler.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9DoneInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FMOVccInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FMOVrInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9FlushwInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9IlltrapInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ImpdepInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Instruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9InstructionFactory.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9InstructionFactoryImpl.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MOVccInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MOVrInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9MembarInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9Opcodes.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PopcInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrefetchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrivilegedRegisterInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9PrivilegedRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RdprInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ReadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RegisterBranchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RegisterIndirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RestoredInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9RetryInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9ReturnInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SavedInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SirInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SpecialRegisterInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9SpecialRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9WriteInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCV9WrprInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SPARCWriteInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SaveDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SethiDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/ShiftDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SpecialLoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SpecialLoadStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SpecialStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/StoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/SwapDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/TrapDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/UnimpDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V8FPop1Decoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V8FPop2Decoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceLdstubDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceLoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpacePrefetchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9AlternateSpaceSwapDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9BranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CCBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CMoveDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9CasDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9DoneRetryDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FMOVccDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FMOVrDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FPop1Decoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FPop2Decoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FloatBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9FlushwDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9InstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9IntRegisterBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9IntegerBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9MOVccDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9MOVrDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9PopcDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9PrefetchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9PrivilegedReadWriteDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9RdprDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9ReadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9RegisterBranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SavedRestoredDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9ShiftDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SpecialLoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9SpecialStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9WriteDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/V9WrprDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/sparc/WriteDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/ArithmeticDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/BranchDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/CallDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/ConditionalJmpDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPArithmeticDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPInstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPLoadDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FPStoreDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FloatDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/FloatGRPDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/GRPDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/InstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/JmpDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/LogicalDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/MoveDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/RotateDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEArithmeticDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEInstructionDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSELogicalDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEMoveDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/SSEShiftDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/ShiftDecoder.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86ArithmeticInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86BranchInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86CallInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86CondJmpInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86DirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Disassembler.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPArithmeticInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPLoadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FPStoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FloatRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86FloatRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86GeneralInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Helper.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86IllegalInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Instruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86InstructionFactory.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86InstructionFactoryImpl.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86JmpInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86LogicInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MMXRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MMXRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MemoryIndirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MemoryInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveLoadInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86MoveStoreInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Opcodes.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86PCRelativeAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Register.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterDirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterIndirectAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RegisterPart.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86Registers.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86RotateInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86SegmentRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86SegmentRegisterAddress.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86SegmentRegisters.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86ShiftInstruction.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86XMMRegister.java - agent/src/share/classes/sun/jvm/hotspot/asm/x86/X86XMMRegisters.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciInstanceKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciMethodKlass.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciObjArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/ci/ciTypeArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/gc_implementation/parallelScavenge/PSPermGen.java - agent/src/share/classes/sun/jvm/hotspot/memory/CMSPermGen.java - agent/src/share/classes/sun/jvm/hotspot/memory/CMSPermGenGen.java - agent/src/share/classes/sun/jvm/hotspot/memory/CompactingPermGen.java - agent/src/share/classes/sun/jvm/hotspot/memory/CompactingPermGenGen.java - agent/src/share/classes/sun/jvm/hotspot/memory/ContigPermSpace.java - agent/src/share/classes/sun/jvm/hotspot/memory/PermGen.java - agent/src/share/classes/sun/jvm/hotspot/oops/ArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/CompiledICHolderKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/ConstMethodKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolCacheKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/ConstantPoolKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/KlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/MethodDataKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/MethodKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/ObjArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/oops/TypeArrayKlassKlass.java - agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64CurrentFrameGuess.java - agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64Frame.java - agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64JavaCallWrapper.java - agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/IA64RegisterMap.java - agent/src/share/classes/sun/jvm/hotspot/runtime/ia64/cInterpreter.java - agent/src/share/classes/sun/jvm/hotspot/runtime/linux_ia64/LinuxIA64JavaThreadPDAccess.java - agent/src/share/classes/sun/jvm/hotspot/runtime/win32_ia64/Win32IA64JavaThreadPDAccess.java - agent/src/share/classes/sun/jvm/hotspot/ui/tree/BadOopTreeNodeAdapter.java - make/solaris/makefiles/reorder_COMPILER1_amd64 - make/solaris/makefiles/reorder_COMPILER1_i486 - make/solaris/makefiles/reorder_COMPILER1_sparc - make/solaris/makefiles/reorder_COMPILER1_sparcv9 - make/solaris/makefiles/reorder_COMPILER2_amd64 - make/solaris/makefiles/reorder_COMPILER2_i486 - make/solaris/makefiles/reorder_COMPILER2_sparc - make/solaris/makefiles/reorder_COMPILER2_sparcv9 - make/solaris/makefiles/reorder_CORE_i486 - make/solaris/makefiles/reorder_CORE_sparc - make/solaris/makefiles/reorder_CORE_sparcv9 - make/solaris/makefiles/reorder_TIERED_amd64 - make/solaris/makefiles/reorder_TIERED_i486 - make/solaris/makefiles/reorder_TIERED_sparc - make/solaris/makefiles/reorder_TIERED_sparcv9 - make/solaris/reorder.sh - src/cpu/sparc/vm/dump_sparc.cpp - src/cpu/x86/vm/dump_x86_32.cpp - src/cpu/x86/vm/dump_x86_64.cpp - src/cpu/zero/vm/dump_zero.cpp - src/share/tools/ProjectCreator/DirectoryTree.java - src/share/tools/ProjectCreator/DirectoryTreeNode.java - src/share/tools/ProjectCreator/FileFormatException.java - src/share/tools/ProjectCreator/WinGammaPlatformVC6.java - src/share/vm/ci/ciArrayKlassKlass.hpp - src/share/vm/ci/ciCPCache.cpp - src/share/vm/ci/ciCPCache.hpp - src/share/vm/ci/ciInstanceKlassKlass.cpp - src/share/vm/ci/ciInstanceKlassKlass.hpp - src/share/vm/ci/ciKlassKlass.cpp - src/share/vm/ci/ciKlassKlass.hpp - src/share/vm/ci/ciMethodKlass.cpp - src/share/vm/ci/ciMethodKlass.hpp - src/share/vm/ci/ciObjArrayKlassKlass.cpp - src/share/vm/ci/ciObjArrayKlassKlass.hpp - src/share/vm/ci/ciTypeArrayKlassKlass.cpp - src/share/vm/ci/ciTypeArrayKlassKlass.hpp ! src/share/vm/compiler/compilerOracle.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.cpp - src/share/vm/gc_implementation/concurrentMarkSweep/cmsPermGen.hpp - src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp - src/share/vm/gc_implementation/parallelScavenge/psPermGen.hpp - src/share/vm/memory/classify.cpp - src/share/vm/memory/classify.hpp - src/share/vm/memory/compactPermGen.hpp - src/share/vm/memory/compactingPermGenGen.cpp - src/share/vm/memory/compactingPermGenGen.hpp - src/share/vm/memory/dump.cpp - src/share/vm/memory/permGen.cpp - src/share/vm/memory/permGen.hpp - src/share/vm/memory/restore.cpp - src/share/vm/memory/serialize.cpp - src/share/vm/oops/arrayKlassKlass.cpp - src/share/vm/oops/arrayKlassKlass.hpp - src/share/vm/oops/compiledICHolderKlass.cpp - src/share/vm/oops/compiledICHolderKlass.hpp - src/share/vm/oops/compiledICHolderOop.cpp - src/share/vm/oops/compiledICHolderOop.hpp - src/share/vm/oops/constMethodKlass.cpp - src/share/vm/oops/constMethodKlass.hpp - src/share/vm/oops/constMethodOop.cpp - src/share/vm/oops/constMethodOop.hpp - src/share/vm/oops/constantPoolKlass.cpp - src/share/vm/oops/constantPoolKlass.hpp - src/share/vm/oops/constantPoolOop.cpp - src/share/vm/oops/constantPoolOop.hpp - src/share/vm/oops/cpCacheKlass.cpp - src/share/vm/oops/cpCacheKlass.hpp - src/share/vm/oops/cpCacheOop.cpp - src/share/vm/oops/cpCacheOop.hpp - src/share/vm/oops/instanceKlassKlass.cpp - src/share/vm/oops/instanceKlassKlass.hpp - src/share/vm/oops/klassKlass.cpp - src/share/vm/oops/klassKlass.hpp - src/share/vm/oops/klassOop.cpp - src/share/vm/oops/klassOop.hpp - src/share/vm/oops/methodDataKlass.cpp - src/share/vm/oops/methodDataKlass.hpp - src/share/vm/oops/methodDataOop.cpp - src/share/vm/oops/methodDataOop.hpp - src/share/vm/oops/methodKlass.cpp - src/share/vm/oops/methodKlass.hpp - src/share/vm/oops/methodOop.cpp - src/share/vm/oops/methodOop.hpp - src/share/vm/oops/objArrayKlassKlass.cpp - src/share/vm/oops/objArrayKlassKlass.hpp - src/share/vm/oops/typeArrayKlassKlass.cpp - src/share/vm/oops/typeArrayKlassKlass.hpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/runtime/arguments.cpp Changeset: 77443715ec55 Author: kamg Date: 2012-11-05 17:03 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/77443715ec55 8001307: Modify ACC_SUPER behavior Summary: Disallow non-virtual calls even when ACC_SUPER is absent. Reviewed-by: kvn, acorn ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/runtime/globals.hpp Changeset: b5cb079ecaa4 Author: ewendeli Date: 2013-02-03 22:43 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/b5cb079ecaa4 Merge ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/opto/loopTransform.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 1cabf9c80e84 Author: ewendeli Date: 2013-02-19 21:45 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/1cabf9c80e84 Merge ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/runtime/arguments.cpp Changeset: d4a32a6f8c82 Author: ewendeli Date: 2013-02-25 07:22 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d4a32a6f8c82 Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 11d5942ef9c7 Author: lana Date: 2013-03-12 18:22 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/11d5942ef9c7 Merge ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: 5ee744831dcb Author: lana Date: 2013-03-14 19:26 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/5ee744831dcb Merge Changeset: 8196357e95b5 Author: amurillo Date: 2013-03-08 08:22 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/8196357e95b5 8009688: new hotspot build - hs25-b23 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 255c0a4cb4eb Author: sla Date: 2013-03-05 08:50 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/255c0a4cb4eb 8009287: [parfait] Uninitialised variable in hotspot/agent/src/os/linux/ps_core.c Reviewed-by: dholmes, kvn, mikael, morris ! agent/src/os/linux/ps_core.c Changeset: 9058789475af Author: iklam Date: 2013-03-05 13:55 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/9058789475af 7107135: Stack guard pages are no more protected after loading a shared library with executable stack Summary: Detect the execstack attribute of the loaded library and attempt to fix the stack guard using Safepoint op. Reviewed-by: dholmes, zgu Contributed-by: ioi.lam at oracle.com ! src/os/linux/vm/globals_linux.hpp ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp ! src/os_cpu/linux_sparc/vm/os_linux_sparc.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vm_operations.hpp ! src/share/vm/utilities/elfFile.cpp ! src/share/vm/utilities/elfFile.hpp + test/runtime/7107135/Test.java + test/runtime/7107135/Test7107135.sh + test/runtime/7107135/TestMT.java + test/runtime/7107135/test.c Changeset: 6b803ba47588 Author: zgu Date: 2013-03-07 14:06 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/6b803ba47588 8008257: NMT: assert(new_rec->is_allocation_record()) failed when running with shared memory option Summary: Corrected virtual memory recording and tagging code when large pages are used Reviewed-by: coleenp, ccheung ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp Changeset: 3efdfd6ddbf2 Author: coleenp Date: 2013-03-08 11:47 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/3efdfd6ddbf2 8003553: NPG: metaspace objects should be zeroed in constructors Summary: Zero metadata in constructors, not in allocation (and some in constructors) Reviewed-by: jmasa, sspitsyn ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/memory/metablock.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/cpCache.cpp ! src/share/vm/oops/cpCache.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 252ad8d5f22b Author: dcubed Date: 2013-03-08 17:14 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/252ad8d5f22b Merge ! src/os/bsd/vm/os_bsd.cpp Changeset: 35ef86296a5d Author: dcubed Date: 2013-03-08 17:49 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/35ef86296a5d Merge ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp Changeset: 5939f5953b45 Author: coleenp Date: 2013-03-13 09:10 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/5939f5953b45 8009836: nsk/regression/b4222717 fails with empty stack trace Summary: Some zeroing was missed for bug 8003553, causing empty stack traces and Xcom crashes, add back zeroing to metablock Reviewed-by: dholmes, rbackman ! src/share/vm/memory/metablock.cpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/method.cpp Changeset: 96480359523a Author: coleenp Date: 2013-03-11 14:00 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/96480359523a 8008965: @Contended fails with classes having static fields Summary: Disable @Contended support for static fields Reviewed-by: coleenp, kvn Contributed-by: Aleksey Shipilev ! src/share/vm/classfile/classFileParser.cpp + test/runtime/8003985/Test8003985.java Changeset: d6320e955c89 Author: coleenp Date: 2013-03-13 13:47 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/d6320e955c89 Merge Changeset: 0ede345ec7c9 Author: coleenp Date: 2013-03-13 15:15 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/0ede345ec7c9 8009829: CDS: JDK JPRT test fails crash in Symbol::equals() Summary: -Xshare:dump was creating a Symbol in C_heap. There's an assert there that jdk jprt wasn't hitting because it was only done in product Reviewed-by: dholmes, hseigel, iklam ! src/share/vm/classfile/symbolTable.cpp Changeset: c8b31b461e1a Author: coleenp Date: 2013-03-13 17:34 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/c8b31b461e1a 8003419: NPG: Clean up metadata created during class loading if failure Summary: Store metadata on ClassFileParser instance to be cleaned up by destructor. This enabled some refactoring of the enormous parseClassFile function. Reviewed-by: jmasa, acorn ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp Changeset: fad90b102190 Author: jprovino Date: 2013-03-06 13:38 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/fad90b102190 8008310: Some adjustments needed to minimal VM warnings and errors for unsupported command line options Summary: Changes to arguments.cpp for warnings vs. errors. Changes for CDS arguments. Reviewed-by: coleenp, cjplummer ! make/excludeSrc.make ! src/share/vm/memory/filemap.hpp ! src/share/vm/runtime/arguments.cpp Changeset: 47bc9800972c Author: jprovino Date: 2013-03-06 13:46 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/47bc9800972c 8006498: #if is wrong in the code. Summary: ASSERT and other symbols used incorrectly with #if are supposed to be defined or not. Reviewed-by: dholmes, mikael ! src/cpu/x86/vm/frame_x86.cpp ! src/cpu/x86/vm/frame_x86.hpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/ci/ciTypeFlow.cpp ! src/share/vm/code/compressedStream.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/jvmtiTrace.hpp Changeset: 67342b960b47 Author: jprovino Date: 2013-03-06 13:50 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/67342b960b47 8008474: Add -Wundef to warning flags. Summary: Force use of undefined macros to be and error. Reviewed-by: dholmes, mikael ! make/bsd/makefiles/gcc.make ! make/linux/makefiles/gcc.make ! make/solaris/makefiles/gcc.make Changeset: cb75b67f04fb Author: jprovino Date: 2013-03-08 12:35 -0500 URL: http://hg.openjdk.java.net/graal/graal/rev/cb75b67f04fb Merge ! make/bsd/makefiles/gcc.make Changeset: 69ffa4ac9e53 Author: jprovino Date: 2013-03-12 00:02 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/69ffa4ac9e53 8009835: Only produce a warning when -Xshare:auto is explicitly requested Summary: The minimal JVM is printing a warning message for default settings when it should quitely ignore them. Reviewed-by: coleenp, dholmes ! src/share/vm/runtime/arguments.cpp Changeset: 9102c4111564 Author: jprovino Date: 2013-03-14 10:37 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/9102c4111564 Merge Changeset: ed53b50794d7 Author: vladidan Date: 2013-03-14 12:49 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/ed53b50794d7 Merge Changeset: 0094485b46c7 Author: roland Date: 2013-03-13 09:44 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/0094485b46c7 8009761: Deoptimization on sparc doesn't set Llast_SP correctly in the interpreter frames it creates Summary: deoptimization doesn't set up callee frames so that they restore caller frames correctly. Reviewed-by: kvn ! src/cpu/sparc/vm/cppInterpreter_sparc.cpp ! src/cpu/sparc/vm/templateInterpreter_sparc.cpp ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/zero/vm/cppInterpreter_zero.cpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/vframeArray.cpp ! src/share/vm/runtime/vframeArray.hpp + test/compiler/8009761/Test8009761.java Changeset: 056ab43544a4 Author: neliasso Date: 2013-03-13 10:56 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/056ab43544a4 8009721: Make PhaseLive independent from regalloc Summary: Moved class definition of LRG_List from chaitin.hpp to live.hpp Reviewed-by: kvn, rbackman, roland Contributed-by: niclas.adlertz at oracle.com ! src/share/vm/opto/chaitin.hpp ! src/share/vm/opto/live.hpp Changeset: 6d98efabf3ba Author: neliasso Date: 2013-03-13 13:44 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/6d98efabf3ba Merge Changeset: b7c2c5b2572c Author: neliasso Date: 2013-02-13 10:25 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/b7c2c5b2572c 8005772: Stubs report compile id -1 in phase events Summary: Use 0 to indicate id is NA, -1 for error or uninitalized Reviewed-by: kvn, twisti ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/opto/compile.cpp Changeset: 71f13276159d Author: morris Date: 2013-03-14 07:44 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/71f13276159d 8008560: [parfait] Null pointer deference in hotspot/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Summary: add null pointer check in signal handler Reviewed-by: kvn ! src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp Changeset: fba788946616 Author: morris Date: 2013-03-14 16:16 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/fba788946616 Merge Changeset: 9def4075da6d Author: tamao Date: 2013-03-05 15:36 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/9def4075da6d 8008079: G1: Add nextObject routine to CMBitMapRO and replace nextWord Summary: Update the task local finger to the start of the next object when marking aborts, in order to avoid the redundant scanning of all 0's when the marking task restarts, if otherwise updating to the next word. In addition, reuse the routine nextObject() in routine iterate(). Reviewed-by: johnc, ysr Contributed-by: tamao ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.inline.hpp Changeset: 209f8ba5020b Author: tamao Date: 2013-03-07 10:44 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/209f8ba5020b 8008368: Deprecate MaxGCMinorPauseMillis Summary: Deprecate MaxGCMinorPauseMillis and emit a warning if set by users Reviewed-by: brutisso, johnc Contributed-by: tamao ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp Changeset: 1f3354851c91 Author: stefank Date: 2013-03-11 08:49 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/1f3354851c91 Merge Changeset: 167812fe00bb Author: kevinw Date: 2013-03-11 12:56 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/167812fe00bb 8009723: CMS logs "concurrent mode failure" twice when using (disabling) -XX:-UseCMSCompactAtFullCollection Reviewed-by: jwilhelm, ehelin, brutisso ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Changeset: 71f619500f9b Author: kevinw Date: 2013-03-11 15:37 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/71f619500f9b Merge Changeset: 1c88b99a2b01 Author: mgerdin Date: 2013-03-12 09:42 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/1c88b99a2b01 8009282: Assertion "assert(used_and_free == capacity_bytes) failed: Accounting is wrong" failed with -XX:+Verbose -XX:+TraceMetadataChunkAllocation Summary: Assertion is only valid when at a safepoint, adjust accordingly. Reviewed-by: stefank, jmasa, tamao ! src/share/vm/memory/metaspace.cpp Changeset: ca9580859cf4 Author: stefank Date: 2013-03-11 02:24 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/ca9580859cf4 8004697: SIGSEGV on Solaris sparc with -XX:+UseNUMA Summary: Don't scan pages outside the given range. Reviewed-by: jwilhelm, jmasa ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp Changeset: 62609ffa2fc6 Author: tschatzl Date: 2013-03-12 15:10 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/62609ffa2fc6 8008684: CMS: concurrent phase start markers should always be printed Summary: Print the concurrent phase start markers for CMS when PrintGCDetails is enabled, not only if both PrintGCDetails and PrintGCTimeStamps are. Reviewed-by: mgerdin, jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Changeset: eac371996b44 Author: brutisso Date: 2013-03-12 08:33 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/eac371996b44 8001049: VM crashes when running with large -Xms and not specifying ObjectAlignmentInBytes Summary: Take the initial heap size into account when checking the heap size for compressed oops Reviewed-by: jmasa, kvn, hseigel, ctornqvi ! src/share/vm/memory/universe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp Changeset: 993d878108d9 Author: brutisso Date: 2013-03-13 05:14 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/993d878108d9 Merge Changeset: 82657b6a8cc0 Author: jmasa Date: 2013-03-12 11:00 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/82657b6a8cc0 6976528: PS: assert(!limit_exceeded || softrefs_clear) failed: Should have been cleared Reviewed-by: johnc ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/memory/collectorPolicy.cpp Changeset: 15401203db6b Author: stefank Date: 2013-03-15 08:57 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/15401203db6b Merge ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/runtime/arguments.cpp Changeset: a10dc1469c3f Author: stefank Date: 2013-03-15 04:39 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a10dc1469c3f Merge Changeset: 0631ebcc45f0 Author: amurillo Date: 2013-03-15 11:18 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/0631ebcc45f0 Merge ! src/share/vm/runtime/arguments.cpp Changeset: 3db4ab0e12f4 Author: amurillo Date: 2013-03-15 11:18 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/3db4ab0e12f4 Added tag hs25-b23 for changeset 0631ebcc45f0 ! .hgtags Changeset: 4f7380dca47e Author: katleman Date: 2013-03-21 10:42 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4f7380dca47e Added tag jdk8-b82 for changeset 3db4ab0e12f4 ! .hgtags Changeset: 7ae04e71af90 Author: amurillo Date: 2013-03-15 11:44 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/7ae04e71af90 8010105: new hotspot build - hs25-b24 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 39432a1cefdd Author: minqi Date: 2013-03-14 00:33 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/39432a1cefdd 8003348: SA can not read core file on OS Summary: Macosx uses Mach-O file format for binary files, not ELF format. Currently SA works on core files on other platforms, t his change enables SA work on core file generated on Darwin. Reviewed-by: sla, sspitsyn Contributed-by: yumin.qi at oracle.com ! agent/src/os/bsd/MacosxDebuggerLocal.m ! agent/src/os/bsd/Makefile ! agent/src/os/bsd/libproc.h ! agent/src/os/bsd/libproc_impl.c ! agent/src/os/bsd/libproc_impl.h ! agent/src/os/bsd/ps_core.c ! agent/src/os/bsd/symtab.c ! agent/src/os/bsd/symtab.h ! agent/src/share/classes/sun/jvm/hotspot/BsdVtblAccess.java ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java ! agent/src/share/classes/sun/jvm/hotspot/HotSpotAgent.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdDebuggerLocal.java ! agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/JavaThread.java ! agent/src/share/classes/sun/jvm/hotspot/runtime/Threads.java ! agent/src/share/classes/sun/jvm/hotspot/tools/PStack.java ! agent/src/share/classes/sun/jvm/hotspot/utilities/PlatformInfo.java ! agent/src/share/native/sadis.c ! make/bsd/makefiles/saproc.make Changeset: 1fc4d4768b90 Author: coleenp Date: 2013-03-15 17:24 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/1fc4d4768b90 8007725: NPG: Klass::restore_unshareable_info() triggers assert(k->java_mirror() == NULL) Summary: Check for exception during SystemDictionary::resolve_instance_class_or_null() and clean up. Reviewed-by: coleenp, acorn, hseigel, minqi Contributed-by: ioi.lam at oracle.com ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/method.cpp Changeset: 82f49e8e2c28 Author: zgu Date: 2013-03-15 11:53 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/82f49e8e2c28 8009614: nsk/split_verifier/stress/ifelse/ifelse002_30 fails with 'assert((size & (granularity - 1)) == 0) failed: size not aligned to os::vm_allocation_granularity() Summary: Align up vm allocation size to os defined granularity Reviewed-by: dholmes, coleenp ! src/share/vm/memory/metaspace.cpp Changeset: 919a5f9f36a9 Author: zgu Date: 2013-03-15 17:12 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/919a5f9f36a9 Merge Changeset: 82ab039b9680 Author: dcubed Date: 2013-03-17 08:57 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/82ab039b9680 Merge ! src/share/vm/memory/metaspace.cpp Changeset: 117bb0519114 Author: sla Date: 2013-03-19 13:41 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/117bb0519114 8009456: SA: typeToVtbl of BasicTypeDataBase should not be static Reviewed-by: coleenp, sla Contributed-by: yunda.mly at taobao.com ! agent/src/share/classes/sun/jvm/hotspot/types/basic/BasicTypeDataBase.java Changeset: 686916dc0439 Author: sla Date: 2013-03-19 13:44 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/686916dc0439 8009457: SA: A small fix on "scanoops" command in CLHSDB Reviewed-by: sla, coleenp, kmo Contributed-by: yunda.mly at taobao.com ! agent/src/share/classes/sun/jvm/hotspot/CommandProcessor.java Changeset: 9960dce2024f Author: kmo Date: 2013-03-14 13:22 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/9960dce2024f 8010116: Abstract_VM_Version::internal_vm_info_string() should recognize VS2010 and VS2012 Summary: add cases for _MSC_VER == 1600 and 1700 Reviewed-by: zgu ! src/share/vm/runtime/vm_version.cpp Changeset: a40807924950 Author: kmo Date: 2013-03-14 16:17 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a40807924950 Merge Changeset: f3d486462d36 Author: morris Date: 2013-03-15 18:44 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f3d486462d36 Merge Changeset: 96ef09c26978 Author: morris Date: 2013-03-16 07:39 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/96ef09c26978 8009166: [parfait] Null pointer deference in hotspot/src/share/vm/opto/type.cpp Summary: add guarantee() to as_instance_type() Reviewed-by: kvn, twisti ! src/share/vm/opto/type.cpp Changeset: 8b4ce9870fd6 Author: morris Date: 2013-03-16 07:39 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/8b4ce9870fd6 8009156: [parfait] Null pointer deference in hotspot/src/share/vm/services/memoryService.cpp Summary: add guarantee() to add_generation_memory_pool() Reviewed-by: kvn, twisti ! src/share/vm/services/memoryService.cpp Changeset: 0a2deac0bbfb Author: morris Date: 2013-03-16 07:40 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/0a2deac0bbfb 8008328: [partfait] Null pointer defererence in hotspot/src/cpu/x86/vm/frame_x86.inline.hpp Summary: add guarantee() to oop_result inlines Reviewed-by: kvn, twisti ! src/cpu/x86/vm/frame_x86.inline.hpp Changeset: 9ef47379df20 Author: morris Date: 2013-03-16 07:41 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/9ef47379df20 8010144: [parfait] Null pointer deference in hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp Summary: add null check to signal handler Reviewed-by: dcubed ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp Changeset: 8552f0992748 Author: kmo Date: 2013-03-15 22:07 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/8552f0992748 8008796: SA: Oop.iterateFields() should support CompressedKlassPointers again Summary: add a missing change from JDK-7054512 so that Oop.iterateFields() works with UseCompressedKlassPointers Reviewed-by: coleenp, roland Contributed-by: yunda.mly at taobao.com ! agent/src/share/classes/sun/jvm/hotspot/oops/Oop.java Changeset: 592f9722c72e Author: kmo Date: 2013-03-16 21:44 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/592f9722c72e Merge Changeset: 4efac99a998b Author: iignatyev Date: 2013-03-18 04:29 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4efac99a998b 8008211: Some of WB tests on compiler fail Reviewed-by: kvn, vlivanov ! test/compiler/whitebox/CompilerWhiteBoxTest.java ! test/compiler/whitebox/DeoptimizeAllTest.java ! test/compiler/whitebox/DeoptimizeMethodTest.java ! test/compiler/whitebox/IsMethodCompilableTest.java ! test/compiler/whitebox/MakeMethodNotCompilableTest.java Changeset: a5de0cc2f91c Author: roland Date: 2013-03-18 13:19 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/a5de0cc2f91c 8008555: Debugging code in compiled method sometimes leaks memory Summary: support for strings that have same life-time as code that uses them. Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/macroAssembler_sparc.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/share/vm/asm/assembler.cpp ! src/share/vm/asm/assembler.hpp ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/asm/codeBuffer.hpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/codeBlob.hpp ! src/share/vm/code/icBuffer.hpp ! src/share/vm/code/stubs.cpp ! src/share/vm/code/stubs.hpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/compiler/disassembler.hpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/interpreter.hpp ! src/share/vm/runtime/stubCodeGenerator.cpp Changeset: 578d9044c463 Author: roland Date: 2013-03-18 09:08 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/578d9044c463 Merge Changeset: be4d5c6c1f79 Author: neliasso Date: 2013-03-19 10:31 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/be4d5c6c1f79 8010121: Remove definition of ShouldNotReachHere2(msg) Reviewed-by: kvn, stefank, rbackman, twisti Contributed-by: niclas.adlertz at oracle.com ! src/share/vm/memory/sharedHeap.cpp ! src/share/vm/oops/fieldInfo.hpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/debug.hpp Changeset: f15df3af32c5 Author: morris Date: 2013-03-19 07:20 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f15df3af32c5 8009172: [parfait] Null pointer deference in hotspot/src/share/vm/opto/output.cpp Summary: add guarantee() to DoScheduling() Reviewed-by: twisti, kvn ! src/share/vm/opto/output.cpp Changeset: 75a28f465a12 Author: morris Date: 2013-03-19 07:23 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/75a28f465a12 8008663: [parfait] Null pointer deference in hotspot/src/share/vm/compiler/compileBroker.cpp Summary: add NULL checks for compiler name Reviewed-by: twisti, kvn ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileBroker.hpp Changeset: 80208f353616 Author: kvn Date: 2013-03-19 10:56 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/80208f353616 8010222: 8007439 disabled inlining of cold accessor methods Summary: added missing parenthesis Reviewed-by: jrose ! src/share/vm/opto/bytecodeInfo.cpp Changeset: 2eef6d34833b Author: morris Date: 2013-03-19 11:49 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/2eef6d34833b 8009022: [parfait] Null pointer deference in hotspot/src/share/vm/oops/generateOopMap.cpp Summary: add guarantee() checks to merge_state_into_bb() Reviewed-by: kvn ! src/share/vm/oops/generateOopMap.cpp Changeset: 3b9368710f08 Author: morris Date: 2013-03-19 12:15 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/3b9368710f08 8008811: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopopts.cpp Summary: add guarantee() checks Reviewed-by: kvn ! src/share/vm/opto/loopnode.hpp ! src/share/vm/opto/loopopts.cpp Changeset: 1275835a4ccc Author: morris Date: 2013-03-19 16:31 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/1275835a4ccc Merge Changeset: 41340544e182 Author: morris Date: 2013-03-20 06:32 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/41340544e182 8009248: [parfait] Null pointer deference in hotspot/src/share/vm/code/compiledIC.cpp Summary: add guarantee() to set_to_interpreted() Reviewed-by: kvn ! src/share/vm/code/compiledIC.cpp Changeset: 2dec1d9bfbe1 Author: morris Date: 2013-03-20 06:36 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/2dec1d9bfbe1 8009565: [partfait] Null pointer deference in hotspot/src/share/vm/ci/ciEnv.cpp Summary: add guarantee() to get_instance_klass_for_declared_method_holder() Reviewed-by: kvn ! src/share/vm/ci/ciEnv.cpp Changeset: 653d0346aa80 Author: morris Date: 2013-03-20 06:38 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/653d0346aa80 8009578: [parfait] Null pointer deference in hotspot/src/share/vm/classfile/defaultMethods.cpp Summary: add guarantee() to disqualify_method() Reviewed-by: kvn ! src/share/vm/classfile/defaultMethods.cpp Changeset: a59625d96f71 Author: morris Date: 2013-03-20 07:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a59625d96f71 8009181: [parfait] Null pointer deference in hotspot/src/share/vm/opto/loopTransform.cpp Summary: add guarantee() to insert_pre_post_loops() Reviewed-by: kvn ! src/share/vm/opto/loopTransform.cpp Changeset: 98f3af397705 Author: twisti Date: 2013-03-20 17:04 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/98f3af397705 8006965: remove test_gamma and add dedicated test_* targets instead Reviewed-by: kvn, jcoomes ! make/Makefile ! make/bsd/Makefile ! make/bsd/makefiles/buildtree.make ! make/defs.make ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/solaris/Makefile ! make/solaris/makefiles/buildtree.make - make/test/Queens.java Changeset: 589aa23334ea Author: morris Date: 2013-03-21 10:11 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/589aa23334ea 8009584: [parfait] Null pointer deference in hotspot/src/cpu/x86/vm/relocInfo_x86.cpp Summary: added guarantee() to pd_address_in_code() Reviewed-by: kvn ! src/cpu/x86/vm/relocInfo_x86.cpp Changeset: c3c64a973559 Author: morris Date: 2013-03-21 10:13 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/c3c64a973559 8009593: [parfait] Null pointer deference in hotspot/src/share/vm/oops/constantPool.cpp Summary: added guarantee() to print_entry_on() Reviewed-by: kvn ! src/share/vm/oops/constantPool.cpp Changeset: 3536ea6bc4df Author: morris Date: 2013-03-21 21:48 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/3536ea6bc4df Merge - make/test/Queens.java Changeset: 79af1312fc2c Author: mgerdin Date: 2013-03-14 10:54 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/79af1312fc2c 8005602: NPG: classunloading does not happen while CMS GC with -XX:+CMSClassUnloadingEnabled is used Summary: Call purge() on CLDG after sweep(), reorder purge() call in GenCollectedHeap Reviewed-by: jmasa, stefank ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/metaspace.cpp Changeset: 3c226052f7dc Author: tschatzl Date: 2013-03-14 09:37 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/3c226052f7dc 6733980: par compact - TraceGen1Time always shows 0.0000 seconds Summary: Use the correct collector to retrieve accumulated gen1 trace time Reviewed-by: johnc, jmasa ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp Changeset: 19f9fabd94cc Author: stefank Date: 2013-03-18 09:34 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/19f9fabd94cc Merge ! src/share/vm/memory/metaspace.cpp Changeset: fa08949fe0cb Author: johnc Date: 2013-03-18 11:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/fa08949fe0cb 8009536: G1: Apache Lucene hang during reference processing Summary: In CMTask::do_marking_step(), Skip offering termination and entering the first and second synchronization barriers if called from a serial context, i.e. the VM thread. Reviewed-by: brutisso, tschatzl ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: e864cc14ca75 Author: johnc Date: 2013-03-19 00:57 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e864cc14ca75 8009940: G1: assert(_finger == _heap_end) failed, concurrentMark.cpp:809 Summary: Skip reference processing if the global marking stack overflows during remark. Refactor and rename set_phase(); move code that sets the concurrency level into its own routine. Do not call set_phase() from within parallel reference processing; use the concurrency level routine instead. The marking state should only set reset by CMTask[0] during the concurrent phase of the marking cycle; if an overflow occurs at any stage during the remark, the marking state will be reset after reference processing. Reviewed-by: brutisso, jmasa ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp Changeset: 1179172e9ec9 Author: johnc Date: 2013-03-19 09:38 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/1179172e9ec9 8008301: G1: guarantee(satb_mq_set.completed_buffers_num() == 0) failure Summary: If the marking stack overflows while the marking tasks are draining the SATB buffers, remark will exit with some SATB buffers left unprocessed. Relax the guarantee to allow for overflow. Reviewed-by: jmasa, brutisso ! src/share/vm/gc_implementation/g1/concurrentMark.cpp Changeset: 7f0cb32dd233 Author: mgerdin Date: 2013-03-21 09:07 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/7f0cb32dd233 8004241: NPG: Metaspace occupies more memory than specified by -XX:MaxMetaspaceSize option Summary: Enforce MaxMetaspaceSize for both metaspace parts, check MaxMetaspaceSize against "reserved", not "capacity" Reviewed-by: jmasa, johnc ! src/share/vm/memory/metaspace.cpp Changeset: 47902e9acb3a Author: stefank Date: 2013-03-22 10:32 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/47902e9acb3a Merge ! src/share/vm/memory/metaspace.cpp Changeset: 5855e849c7e6 Author: stefank Date: 2013-03-22 12:32 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/5855e849c7e6 Merge Changeset: 499ccc15bbc8 Author: bpittore Date: 2013-03-15 15:20 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/499ccc15bbc8 8005716: Enhance JNI specification to allow support of static JNI libraries in Embedded JREs Reviewed-by: dlong, alanb, mduigou ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jni.h ! src/share/vm/runtime/thread.cpp Changeset: 9e62e72c59cc Author: bobv Date: 2013-03-17 06:30 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/9e62e72c59cc Merge Changeset: 3be6a41ad358 Author: dholmes Date: 2013-03-18 19:34 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/3be6a41ad358 8008783: Modifications needed to JPRT to allow for building hard float abi and new bundle changes Reviewed-by: twisti, collins, bobv, jwilhelm ! make/jprt.properties Changeset: 804663118c1f Author: jprovino Date: 2013-03-22 10:09 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/804663118c1f Merge Changeset: aca25026e2a4 Author: vladidan Date: 2013-03-22 17:23 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/aca25026e2a4 Merge Changeset: e3a41fc02348 Author: amurillo Date: 2013-03-23 01:47 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e3a41fc02348 Merge - make/test/Queens.java Changeset: 1c8db54ee9f3 Author: amurillo Date: 2013-03-23 01:47 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/1c8db54ee9f3 Added tag hs25-b24 for changeset e3a41fc02348 ! .hgtags Changeset: e614fc564ded Author: katleman Date: 2013-03-28 10:54 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e614fc564ded Added tag jdk8-b83 for changeset 1c8db54ee9f3 ! .hgtags Changeset: 59a41e1357ab Author: amurillo Date: 2013-03-23 10:06 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/59a41e1357ab 8010498: new hotspot build - hs25-b25 Reviewed-by: jcoomes ! make/hotspot_version Changeset: eca90b8a06eb Author: rdurbin Date: 2013-03-19 11:33 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/eca90b8a06eb 7030610: runtime/6878713/Test6878713.sh fails Error. failed to clean up files after test 7123945: runtime/6878713/Test6878713.sh require about 2G of native memory, swaps and times out Summary: Add new diagnostic option -XX:MallocMaxTestWords=NNN and fix Test6878713.sh. Reviewed-by: dcubed, coleenp, dholmes, iklam ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.cpp ! test/runtime/6878713/Test6878713.sh Changeset: a649f6511c04 Author: ctornqvi Date: 2013-03-20 08:17 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/a649f6511c04 8010084: Race in runtime/NMT/BaselineWithParameter.java Summary: Added a waitFor() on the process Reviewed-by: mgerdin, sla, zgu ! test/runtime/NMT/BaselineWithParameter.java Changeset: 91bf0bdae37b Author: coleenp Date: 2013-03-20 08:04 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/91bf0bdae37b 8008217: CDS: Class data sharing limits the malloc heap on Solaris Summary: In 64bit VM move CDS archive address to 32G on all platforms using new flag SharedBaseAddress. In 32bit VM set CDS archive address to 3Gb on Linux and let other OSs pick the address. Reviewed-by: kvn, dcubed, zgu, hseigel ! src/os_cpu/bsd_x86/vm/globals_bsd_x86.hpp ! src/os_cpu/bsd_zero/vm/globals_bsd_zero.hpp ! src/os_cpu/linux_sparc/vm/globals_linux_sparc.hpp ! src/os_cpu/linux_x86/vm/globals_linux_x86.hpp ! src/os_cpu/linux_zero/vm/globals_linux_zero.hpp ! src/os_cpu/solaris_sparc/vm/globals_solaris_sparc.hpp ! src/os_cpu/solaris_x86/vm/globals_solaris_x86.hpp ! src/os_cpu/windows_x86/vm/globals_windows_x86.hpp ! src/share/vm/memory/filemap.cpp ! src/share/vm/memory/metaspace.cpp ! src/share/vm/runtime/globals.hpp Changeset: 2c7663baeb67 Author: acorn Date: 2013-03-20 11:43 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/2c7663baeb67 8010017: lambda: reflection get(Declared)Methods support for default methods. Summary: Don't expose vm generated overpass (bridges to default methods). Reviewed-by: dholmes, fparain ! src/share/vm/prims/jvm.cpp Changeset: 79259e97a072 Author: acorn Date: 2013-03-20 12:20 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/79259e97a072 Merge Changeset: 1feda2e9f044 Author: ctornqvi Date: 2013-03-20 20:40 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/1feda2e9f044 8007982: some runtime/CommandLine/ tests fail on 32-bit platforms Summary: Changed tests to use platform independent flags Reviewed-by: collins, hseigel, zgu ! test/runtime/CommandLine/BooleanFlagWithInvalidValue.java ! test/runtime/CommandLine/FlagWithInvalidValue.java ! test/runtime/CommandLine/NonBooleanFlagWithInvalidBooleanPrefix.java Changeset: 81d1b58c078f Author: rdurbin Date: 2013-03-20 20:44 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/81d1b58c078f 8010396: checking MallocMaxTestWords in testMalloc() function is redundant Summary: Remove redundant checks in testMalloc and add assert. Reviewed-by: dcubed, coleenp, dholmes ! src/share/vm/runtime/os.cpp Changeset: e7081eb7e786 Author: dcubed Date: 2013-03-20 20:52 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e7081eb7e786 Merge Changeset: 06db4c0afbf3 Author: zgu Date: 2013-03-20 09:42 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/06db4c0afbf3 8009298: NMT: Special version of class loading/unloading with runThese stresses out NMT 8009777: NMT: add new NMT dcmd to control auto shutdown option Summary: Added diagnostic VM option and DCmd command to allow NMT stay alive under stress situation Reviewed-by: dcubed, coleenp ! src/share/vm/runtime/globals.hpp ! src/share/vm/services/memTracker.cpp ! src/share/vm/services/memTracker.hpp ! src/share/vm/services/nmtDCmd.cpp ! src/share/vm/services/nmtDCmd.hpp Changeset: 0ac03fef364f Author: zgu Date: 2013-03-21 06:53 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/0ac03fef364f Merge ! src/share/vm/runtime/globals.hpp Changeset: 14509df4cd63 Author: iklam Date: 2013-03-21 20:46 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/14509df4cd63 8010389: After fix for 7107135 a failed dlopen() call results in a VM crash Summary: Call dlerror() in VM thread as necessary. Reviewed-by: coleenp, dholmes ! src/os/linux/vm/os_linux.cpp ! src/os/linux/vm/os_linux.hpp + test/runtime/8010389/VMThreadDlopen.java Changeset: 6574f999e0cf Author: dcubed Date: 2013-03-23 22:35 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/6574f999e0cf Merge ! src/share/vm/memory/metaspace.cpp Changeset: c342fbdf8a70 Author: ctornqvi Date: 2013-03-24 09:11 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/c342fbdf8a70 8008454: test/runtime/NMT/PrintNMTStatistics is broken Summary: Added @run tag so that it actually runs the test, also fixed broken command line and incorrect parsing. Also reviewed by gerard.ziemski at oracle.com Reviewed-by: mgerdin, zgu ! test/runtime/NMT/PrintNMTStatistics.java Changeset: 9c8e53c7bed0 Author: ctornqvi Date: 2013-03-24 09:21 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/9c8e53c7bed0 Merge - make/test/Queens.java Changeset: 729be16a470b Author: hseigel Date: 2013-03-25 08:37 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/729be16a470b 8010667: Non-zero padding is not allowed in splitverifier for tableswitch/lookupswitch instructions. Summary: Don't check the padding bits if class file version is >= 51. Reviewed-by: kvn, dholmes, coleenp ! src/share/vm/classfile/verifier.cpp Changeset: b8deb3205b51 Author: bharadwaj Date: 2013-03-25 09:36 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b8deb3205b51 8009552: test/vm/verifier/TestStaticIF.java failing with hs25.0-b Summary: Remove support for verification of class files with version 52 and above from type inference verifier. Reviewed-by: acorn, hseigel ! src/share/vm/classfile/verifier.cpp - test/runtime/8007736/TestStaticIF.java Changeset: 1916ca1dec2f Author: rbackman Date: 2013-03-26 15:00 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/1916ca1dec2f 8009382: Add JVM_Get{Field|Method}TypeAnnotations Reviewed-by: dcubed, rbackman Contributed-by: Joel Borggren-Franck ! make/bsd/makefiles/mapfile-vers-debug ! make/bsd/makefiles/mapfile-vers-product ! make/linux/makefiles/mapfile-vers-debug ! make/linux/makefiles/mapfile-vers-product ! make/solaris/makefiles/mapfile-vers ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvm.h Changeset: 36376b540a98 Author: hseigel Date: 2013-03-26 09:06 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/36376b540a98 8009595: The UseSplitVerifier option needs to be deprecated. Summary: Put UseSplitVerifier option on the deprecated list. Reviewed-by: dcubed, kmo, acorn ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/verifier.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp Changeset: a8016373a893 Author: hseigel Date: 2013-03-26 12:43 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a8016373a893 Merge Changeset: 6b748c9e1845 Author: zgu Date: 2013-03-26 14:11 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/6b748c9e1845 8010651: create.bat still builds the kernel Summary: Remove old kernel build targets and VS C++ projects created by create.bat on Windows Reviewed-by: coleenp, sla ! make/windows/build.make ! make/windows/create.bat ! make/windows/makefiles/compile.make ! make/windows/makefiles/product.make ! make/windows/makefiles/vm.make - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw ! src/share/tools/ProjectCreator/BuildConfig.java ! src/share/tools/ProjectCreator/WinGammaPlatform.java Changeset: 85192022ba8c Author: zgu Date: 2013-03-26 11:40 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/85192022ba8c Merge - test/runtime/8007736/TestStaticIF.java Changeset: 23f2d309e855 Author: zgu Date: 2013-03-26 15:20 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/23f2d309e855 Merge - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw Changeset: 7f16d1812865 Author: tamao Date: 2013-03-20 12:27 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/7f16d1812865 7196080: assert(max_heap >= InitialHeapSize) in arguments.cpp Summary: Remove the related assertions becasue they do not hold here. Reviewed-by: jmasa, tschatzl Contributed-by: tamao ! src/share/vm/runtime/arguments.cpp Changeset: dbd5837b342f Author: ehelin Date: 2013-03-22 16:10 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/dbd5837b342f 8000754: NPG: Implement a MemoryPool MXBean for Metaspace Reviewed-by: jmasa, stefank ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/services/memoryManager.cpp ! src/share/vm/services/memoryManager.hpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/memoryService.hpp + test/gc/metaspace/TestMetaspaceMemoryPools.java Changeset: 338b3a9e29b5 Author: stefank Date: 2013-03-25 11:00 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/338b3a9e29b5 Merge ! src/share/vm/services/memoryService.cpp Changeset: 42e370795a39 Author: ehelin Date: 2013-03-27 10:55 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/42e370795a39 8010818: NPG: Remove metaspace memory pools Reviewed-by: mgerdin, stefank ! src/share/vm/memory/metaspace.hpp ! src/share/vm/memory/universe.cpp ! src/share/vm/services/memoryManager.cpp ! src/share/vm/services/memoryManager.hpp ! src/share/vm/services/memoryPool.cpp ! src/share/vm/services/memoryPool.hpp ! src/share/vm/services/memoryService.cpp ! src/share/vm/services/memoryService.hpp - test/gc/metaspace/TestMetaspaceMemoryPools.java Changeset: aeb22fdaa14c Author: brutisso Date: 2013-03-28 09:07 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/aeb22fdaa14c Merge ! src/share/vm/runtime/arguments.cpp Changeset: 728b89404e34 Author: jprovino Date: 2013-03-21 10:18 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/728b89404e34 8009904: jvmtiClassFileReconstituter.cpp needs to be excluded from the minimal jvm Summary: jvmtiClassFileReconstituter.cpp needs to be added to the list of files to exclude when JVMTI is excluded from the jvm Reviewed-by: dholmes, sspitsyn ! make/excludeSrc.make Changeset: 7ca101eef24a Author: jprovino Date: 2013-03-23 14:59 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/7ca101eef24a Merge Changeset: 04d6d4322c6a Author: collins Date: 2013-03-27 09:49 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/04d6d4322c6a 8009152: A number of jtreg tests need review/improvement Summary: Added a new test_env.txt file to capture common shell variable. Added concept of COMPILEJAVA for use when TESTJAVA is a JRE. If COMPILEJAVA not set then TESTJAVA will be the default with assumption it is a JDK. Reviewed-by: kvn, brutisso, coleenp ! test/compiler/5091921/Test6890943.sh ! test/compiler/5091921/Test7005594.sh ! test/compiler/6857159/Test6857159.sh ! test/compiler/7068051/Test7068051.sh ! test/compiler/7070134/Test7070134.sh ! test/compiler/7200264/Test7200264.sh ! test/gc/6941923/test6941923.sh ! test/runtime/6626217/Test6626217.sh ! test/runtime/6878713/Test6878713.sh ! test/runtime/6929067/Test6929067.sh ! test/runtime/7020373/Test7020373.sh ! test/runtime/7051189/Xchecksig.sh ! test/runtime/7107135/Test7107135.sh ! test/runtime/7110720/Test7110720.sh ! test/runtime/7158804/Test7158804.sh ! test/runtime/7162488/Test7162488.sh + test/test_env.sh Changeset: d1897e7e0488 Author: collins Date: 2013-03-28 15:42 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/d1897e7e0488 Merge ! test/runtime/6878713/Test6878713.sh Changeset: 8d0f263a370c Author: amurillo Date: 2013-03-28 19:01 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/8d0f263a370c Merge - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw - test/runtime/8007736/TestStaticIF.java Changeset: af788b85010e Author: amurillo Date: 2013-03-28 19:02 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/af788b85010e Added tag hs25-b25 for changeset 8d0f263a370c ! .hgtags Changeset: ac242ddfa319 Author: katleman Date: 2013-04-04 19:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/ac242ddfa319 Added tag jdk8-b84 for changeset af788b85010e ! .hgtags Changeset: d26674db4d91 Author: amurillo Date: 2013-03-28 19:13 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/d26674db4d91 8011022: new hotspot build - hs25-b26 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 0c3ee6f1fa23 Author: coleenp Date: 2013-03-27 08:19 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/0c3ee6f1fa23 8009531: Crash when redefining class with annotated method Summary: Neglected to copy the annotations in clone_with_new_data when they were moved to ConstMethod. Reviewed-by: acorn, sspitsyn, dcubed ! src/share/vm/oops/constMethod.cpp ! src/share/vm/oops/constMethod.hpp ! src/share/vm/oops/method.cpp Changeset: aa758f0c5b1c Author: hseigel Date: 2013-03-27 11:41 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/aa758f0c5b1c 8010833: Test7116786.java is failing on most configs after fix for 8010667 Summary: Update test to recognize that non-zero pad bytes for lookupswitch/tablewsitch opcodes are now valid. Reviewed-by: dcubed, twisti, kvn, coleenp, dholmes ! test/runtime/7116786/Test7116786.java Changeset: b601102d00c8 Author: hseigel Date: 2013-03-27 13:26 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b601102d00c8 Merge Changeset: cd3089a56438 Author: acorn Date: 2013-03-27 14:10 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/cd3089a56438 8009731: Confusing error message for loader constraint violation Summary: Fix text, overwritten type and holder for resolved method Reviewed-by: coleenp, dcubed, minqi, dholmes ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/interpreter/linkResolver.cpp ! src/share/vm/oops/klassVtable.cpp Changeset: 53f4040e809c Author: acorn Date: 2013-03-27 16:31 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/53f4040e809c Merge Changeset: b5bae74160b7 Author: zgu Date: 2013-03-27 15:41 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/b5bae74160b7 8010474: [parfait] Undefined return value of the functions in hotspot/src/share/vm/services/memTracker.hpp Summary: Fixed functions that miss return values Reviewed-by: coleenp, acorn, kvn ! src/share/vm/services/memTracker.hpp Changeset: 26e0c03da92c Author: zgu Date: 2013-03-27 13:07 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/26e0c03da92c Merge - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw Changeset: f044c45bee68 Author: zgu Date: 2013-03-27 22:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f044c45bee68 Merge Changeset: 1b90c7607451 Author: minqi Date: 2013-03-27 17:03 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/1b90c7607451 2178143: JVM crashes if the number of bound CPUs changed during runtime Summary: Supply a new flag -XX:+AssumeMP to workaround the problem. With the flag is turned on, assume VM run on MP platform so is_MP() will return true that sync calls will not skip away. Reviewed-by: dholmes, acorn, dcubed, jmasa Contributed-by: yumin.qi at oracle.com ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.hpp Changeset: d7adf726b18a Author: minqi Date: 2013-03-28 00:44 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/d7adf726b18a Merge Changeset: c0f9217203b2 Author: dcubed Date: 2013-03-29 08:38 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/c0f9217203b2 Merge ! src/share/vm/runtime/arguments.cpp Changeset: d886ac1dfd36 Author: coleenp Date: 2013-03-31 21:43 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/d886ac1dfd36 8010723: fatal error: acquiring lock Metaspace allocation lock/5 out of order Summary: Avoid holding SystemDictionary_lock while calling Klass::remove_unshareable_info Reviewed-by: coleenp, acorn Contributed-by: ioi.lam at oracle.com ! src/share/vm/classfile/systemDictionary.cpp Changeset: e458120c6e1a Author: sla Date: 2013-03-28 15:39 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/e458120c6e1a 8002118: WindbgDebuggerLocal should not try to load 64-bit debug libraries for 32-bit JVM Reviewed-by: sspitsyn, zgu Contributed-by: peter.allwin at oracle.com ! agent/src/share/classes/sun/jvm/hotspot/debugger/windbg/WindbgDebuggerLocal.java Changeset: ede380e13960 Author: mgerdin Date: 2013-04-02 11:28 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ede380e13960 8009763: Add WB test for String.intern() Summary: Add convenience method in StringTable, add WhiteBox method and simple sanity test Reviewed-by: mgerdin, zgu Contributed-by: leonid.mesnik at oracle.com ! src/share/vm/classfile/symbolTable.cpp ! src/share/vm/classfile/symbolTable.hpp ! src/share/vm/prims/whitebox.cpp + test/runtime/interned/SanityTest.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 8c03fc47511d Author: iklam Date: 2013-04-01 14:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/8c03fc47511d 8011048: Possible reading from unmapped memory in UTF8::as_quoted_ascii() Summary: Pass utf_length parameter to UTF8::as_quoted_ascii() Reviewed-by: dcubed, minqi ! src/share/vm/oops/symbol.cpp ! src/share/vm/utilities/utf8.cpp ! src/share/vm/utilities/utf8.hpp Changeset: a4e8dac9db8c Author: zgu Date: 2013-04-02 07:40 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a4e8dac9db8c Merge Changeset: 2e093b564241 Author: mgerdin Date: 2013-03-28 10:27 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/2e093b564241 7014552: gc/lock/jni/jnilockXXX works too slow on 1-processor machine Summary: Keep a counter of how many times we were stalled by the GC locker, add a diagnostic flag which sets the limit. Reviewed-by: brutisso, ehelin, johnc ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/memory/collectorPolicy.cpp ! src/share/vm/runtime/globals.hpp Changeset: 754c24457b20 Author: tschatzl Date: 2013-03-27 19:21 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/754c24457b20 7112912: Message "Error occurred during initialization of VM" on boxes with lots of RAM Summary: Ergonomics now also takes available virtual memory into account when deciding for a heap size. The helper method to determine the maximum allocatable memory block now uses the appropriate OS specific calls to retrieve available virtual memory for the java process. In 32 bit environments this method now also searches for the maximum actually reservable amount of memory. Merge previously separate implementations for Linux/BSD/Solaris into a single method. Reviewed-by: jmasa, tamao ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/posix/vm/os_posix.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.hpp Changeset: 24ef5fb05e0f Author: johnc Date: 2013-03-29 13:49 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/24ef5fb05e0f 8010463: G1: Crashes with -UseTLAB and heap verification Summary: Some parts of the G1 heap can only be walked during a safepoint. Skip verifying these parts of the heap when verifying during JVM startup. Reviewed-by: brutisso, tschatzl ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/thread.cpp + test/gc/TestVerifyBeforeGCDuringStartup.java Changeset: 8bf6338972ce Author: ehelin Date: 2013-03-23 09:16 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/8bf6338972ce 8009408: gc/metaspace/ClassMetaspaceSizeInJmapHeap.java fails with "exit code 1" Reviewed-by: brutisso, sla, ctornqvi ! test/gc/metaspace/ClassMetaspaceSizeInJmapHeap.java + test/testlibrary/com/oracle/java/testlibrary/JDKToolLauncher.java Changeset: cc5b5976d72c Author: tschatzl Date: 2013-04-02 10:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cc5b5976d72c 8005857: assert in GC_locker from PSOldGen::expand with -XX:+PrintGCDetails and Verbose Summary: Use GC_locker::is_active_and_needs_gc() instead of GC_locker::is_active() for providing information about the reason of heap expansion. Reviewed-by: jmasa, johnc ! src/share/vm/gc_implementation/parallelScavenge/psOldGen.cpp Changeset: 15c04fe93c18 Author: mgerdin Date: 2013-04-03 09:19 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/15c04fe93c18 Merge - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw ! src/os/linux/vm/os_linux.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp - test/runtime/8007736/TestStaticIF.java Changeset: 0c039865ef2b Author: mgerdin Date: 2013-04-04 19:07 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0c039865ef2b Merge ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/os.hpp Changeset: 46f6f063b272 Author: roland Date: 2013-03-21 09:27 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/46f6f063b272 7153771: array bound check elimination for c1 Summary: when possible optimize out array bound checks, inserting predicates when needed. Reviewed-by: never, kvn, twisti Contributed-by: thomaswue ! src/cpu/sparc/vm/c1_CodeStubs_sparc.cpp ! src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp ! src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp ! src/cpu/x86/vm/c1_CodeStubs_x86.cpp ! src/cpu/x86/vm/c1_LIRAssembler_x86.cpp ! src/cpu/x86/vm/c1_LIRGenerator_x86.cpp ! src/cpu/x86/vm/c1_LinearScan_x86.cpp ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_Canonicalizer.hpp ! src/share/vm/c1/c1_CodeStubs.hpp ! src/share/vm/c1/c1_Compilation.cpp ! src/share/vm/c1/c1_Compilation.hpp ! src/share/vm/c1/c1_GraphBuilder.cpp ! src/share/vm/c1/c1_GraphBuilder.hpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/c1/c1_IR.hpp ! src/share/vm/c1/c1_Instruction.cpp ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/c1/c1_InstructionPrinter.cpp ! src/share/vm/c1/c1_InstructionPrinter.hpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRAssembler.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp ! src/share/vm/c1/c1_LinearScan.cpp ! src/share/vm/c1/c1_Optimizer.cpp + src/share/vm/c1/c1_RangeCheckElimination.cpp + src/share/vm/c1/c1_RangeCheckElimination.hpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/c1/c1_Runtime1.hpp ! src/share/vm/c1/c1_ValueMap.cpp ! src/share/vm/c1/c1_ValueMap.hpp ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/runtime/globals.hpp Changeset: a57fc14f798a Author: roland Date: 2013-03-21 22:00 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a57fc14f798a Merge Changeset: e370f63dc5b1 Author: bharadwaj Date: 2013-03-22 07:58 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e370f63dc5b1 8009539: JVM crash when run lambda testng tests Summary: Ensure class pointer is non-null before dereferencing it to check if it is loaded. Reviewed-by: kvn ! src/share/vm/opto/parse2.cpp Changeset: 360ce06580b8 Author: bharadwaj Date: 2013-03-22 13:35 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/360ce06580b8 Merge Changeset: 3c786355ffb4 Author: morris Date: 2013-03-23 06:22 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/3c786355ffb4 8009026: [parfait] Null pointer deference in hotspot/src/share/vm/code/nmethod.cpp Summary: add guarantee() to nmethod constructor and checks to ensure CodeCache has space before allocation Reviewed-by: kvn ! src/share/vm/code/codeCache.hpp ! src/share/vm/code/nmethod.cpp Changeset: 818a1ac7da7a Author: morris Date: 2013-03-24 12:43 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/818a1ac7da7a Merge Changeset: 16885e702c88 Author: twisti Date: 2013-03-25 17:13 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/16885e702c88 7198429: need checked categorization of caller-sensitive methods in the JDK Reviewed-by: kvn, jrose ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/ci/ciMethod.hpp ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/opto/library_call.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/methodHandles.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/vframe.cpp ! src/share/vm/runtime/vframe.hpp Changeset: b808febcad9a Author: neliasso Date: 2013-03-26 10:05 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/b808febcad9a 8010281: Remove code that is never executed Reviewed-by: kvn, roland Contributed-by: niclas.adlertz at oracle.com ! src/share/vm/opto/ifg.cpp Changeset: 30f42e691e70 Author: kvn Date: 2013-03-26 12:55 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/30f42e691e70 8004640: C2 assert failure in memnode.cpp: NULL+offs not RAW address Summary: always transform AddP nodes in IdealKit by calling _gvn.transform(). Reviewed-by: roland, twisti ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/idealKit.cpp ! src/share/vm/opto/idealKit.hpp ! src/share/vm/opto/loopnode.cpp ! src/share/vm/opto/phaseX.cpp Changeset: d595e8ddadd9 Author: roland Date: 2013-03-29 17:25 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/d595e8ddadd9 8010934: assert failure in c1_LinearScan.cpp: "asumption: non-Constant instructions have only virtual operands" Summary: incorrect code to skip some ArrayLength instructions in LIRGenerator Reviewed-by: kvn ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_RangeCheckElimination.cpp Changeset: cd9ad42dfde0 Author: bharadwaj Date: 2013-03-29 20:52 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/cd9ad42dfde0 Merge ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/runtime/globals.hpp Changeset: 6b19fe41b577 Author: kmo Date: 2013-03-30 08:01 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/6b19fe41b577 8011009: Use do-while(0) instead of while(0) in EC_TRACE and RC_TRACE* macros Summary: Improve EC_TRACE and RC_TRACE* to use the do-while(0) trick for statement-like macro Reviewed-by: sspitsyn, dcubed ! src/share/vm/prims/jvmtiEventController.cpp ! src/share/vm/prims/jvmtiRedefineClassesTrace.hpp Changeset: 53028d751155 Author: neliasso Date: 2013-04-02 09:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/53028d751155 7034299: Faulty winsock initialization code Reviewed-by: dholmes, sla, ctornqvi ! src/os/windows/vm/os_windows.cpp Changeset: e961c11b85fe Author: kvn Date: 2013-04-03 11:12 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e961c11b85fe 8011102: Clear AVX registers after return from JNI call Summary: Execute vzeroupper instruction after JNI call and on exits in jit compiled code which use 256bit vectors. Reviewed-by: roland ! src/cpu/x86/vm/cppInterpreter_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/macroAssembler_x86.hpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_32.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/os_cpu/bsd_x86/vm/bsd_x86_64.ad ! src/os_cpu/linux_x86/vm/linux_x86_64.ad ! src/os_cpu/solaris_x86/vm/solaris_x86_64.ad ! src/os_cpu/windows_x86/vm/windows_x86_64.ad Changeset: 0a8c2ea3902d Author: rasbold Date: 2013-04-03 15:00 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/0a8c2ea3902d 8010437: guarantee(this->is8bit(imm8)) failed: Short forward jump exceeds 8-bit offset Summary: Fix shorten_branches() to accurately count an initial nop that may be inserted in a block that starts with a safepoint. Reviewed-by: kvn ! src/share/vm/opto/output.cpp Changeset: 70c52efb2cbd Author: neliasso Date: 2013-04-04 09:18 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/70c52efb2cbd 8006008: Memory leak in hotspot/src/share/vm/adlc/archDesc.cpp Reviewed-by: roland, kvn Contributed-by: niclas.adlertz at oracle.com ! src/share/vm/adlc/archDesc.cpp Changeset: 6c4abd4a9595 Author: roland Date: 2013-04-04 09:33 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6c4abd4a9595 8010399: Test8009761.java "Failed: init recursive calls: 5498. After deopt 5494". Summary: test from 8009761 shouldn't be run with -Xcomp Reviewed-by: kvn ! test/compiler/8009761/Test8009761.java Changeset: 9125a548c1eb Author: roland Date: 2013-04-04 02:48 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/9125a548c1eb Merge Changeset: 573cf206e381 Author: neliasso Date: 2013-04-04 09:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/573cf206e381 8006014: Memory leak in hotspot/src/share/vm/adlc/dfa.cpp Reviewed-by: kvn, roland Contributed-by: niclas.adlertz at oracle.com ! src/share/vm/adlc/dfa.cpp Changeset: bab5cbf74b5f Author: kvn Date: 2013-04-04 12:18 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/bab5cbf74b5f 8011198: LP64 setting is not preserved on Solaris after 8006965 Summary: Fixed incremental build makefiles generated by buildtree.make. Consolidated unix build.sh. Reviewed-by: twisti - make/bsd/build.sh ! make/bsd/makefiles/buildtree.make + make/build.sh - make/linux/build.sh ! make/linux/makefiles/buildtree.make - make/solaris/build.sh ! make/solaris/makefiles/buildtree.make ! src/os/posix/launcher/launcher.script Changeset: 0ca3dd0ffaba Author: bharadwaj Date: 2013-04-04 17:01 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/0ca3dd0ffaba Merge - make/bsd/build.sh - make/linux/build.sh - make/solaris/build.sh ! src/os/windows/vm/os_windows.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/runtime/globals.hpp Changeset: a947f40fb536 Author: amurillo Date: 2013-04-04 21:06 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/a947f40fb536 Merge - make/bsd/build.sh - make/linux/build.sh - make/solaris/build.sh Changeset: 42fe530cd478 Author: amurillo Date: 2013-04-04 21:06 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/42fe530cd478 Added tag hs25-b26 for changeset a947f40fb536 ! .hgtags Changeset: b9a918201d47 Author: Gilles Duboscq Date: 2013-04-06 20:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b9a918201d47 Merge with hsx25 ! .hgtags ! make/Makefile ! make/bsd/Makefile - make/bsd/build.sh ! make/bsd/makefiles/buildtree.make ! make/defs.make ! make/hotspot_version ! make/linux/Makefile - make/linux/build.sh ! make/linux/makefiles/buildtree.make ! make/solaris/Makefile - make/solaris/build.sh ! make/solaris/makefiles/buildtree.make - make/test/Queens.java ! make/windows/build.make ! make/windows/create.bat ! make/windows/makefiles/vm.make - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw ! src/cpu/x86/vm/c1_Runtime1_x86.cpp ! src/cpu/x86/vm/frame_x86.cpp ! src/cpu/x86/vm/frame_x86.hpp ! src/cpu/x86/vm/frame_x86.inline.hpp ! src/cpu/x86/vm/macroAssembler_x86.cpp ! src/cpu/x86/vm/sharedRuntime_x86_32.cpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/stubGenerator_x86_32.cpp ! src/cpu/x86/vm/stubGenerator_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/os_cpu/linux_x86/vm/os_linux_x86.cpp ! src/share/tools/ProjectCreator/BuildConfig.java ! src/share/tools/ProjectCreator/WinGammaPlatform.java ! src/share/vm/asm/codeBuffer.cpp ! src/share/vm/c1/c1_IR.cpp ! src/share/vm/c1/c1_IR.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_Runtime1.cpp ! src/share/vm/c1/c1_Runtime1.hpp ! src/share/vm/c1/c1_globals.hpp ! src/share/vm/ci/ciEnv.cpp ! src/share/vm/ci/ciMethod.cpp ! src/share/vm/classfile/javaClasses.hpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/code/codeBlob.cpp ! src/share/vm/code/codeBlob.hpp ! src/share/vm/code/compiledIC.cpp ! src/share/vm/code/icBuffer.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/code/stubs.cpp ! src/share/vm/code/stubs.hpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compileBroker.hpp ! src/share/vm/compiler/disassembler.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.inline.hpp ! src/share/vm/gc_implementation/parNew/parCardTableModRefBS.cpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/rewriter.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/instanceKlass.hpp ! src/share/vm/oops/klass.cpp ! src/share/vm/oops/klass.hpp ! src/share/vm/oops/method.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/opto/bytecodeInfo.cpp ! src/share/vm/opto/graphKit.cpp ! src/share/vm/opto/output.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jvm.cpp ! src/share/vm/prims/jvmtiEnvBase.cpp ! src/share/vm/prims/jvmtiImpl.cpp ! src/share/vm/prims/unsafe.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/arguments.hpp ! src/share/vm/runtime/deoptimization.cpp ! src/share/vm/runtime/frame.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/init.cpp ! src/share/vm/runtime/os.cpp ! src/share/vm/runtime/os.hpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/thread.hpp ! src/share/vm/runtime/vframe.cpp ! src/share/vm/runtime/vframeArray.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vm_operations.hpp ! src/share/vm/runtime/vm_version.cpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/debug.hpp - test/runtime/8007736/TestStaticIF.java Changeset: 51a8368d0231 Author: Gilles Duboscq Date: 2013-04-07 13:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/51a8368d0231 Adapt to changes in hotspot makefiles : pass our JAVA_HOME as ALT_BOOTDIR (so that things are built with a 'safe' jdk) and our jdk copy as JAVA_HOME (so that the jvm gets installed there) ! mx/commands.py ! mxtool/mx.py Changeset: 4877c7dfe6d6 Author: Gilles Duboscq Date: 2013-04-07 13:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4877c7dfe6d6 Fix jdk creation check if db an man exist in source jdk not in the one we are creating ! mx/commands.py Changeset: f69a72df4939 Author: Gilles Duboscq Date: 2013-04-07 14:53 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f69a72df4939 Fix merge ! src/share/vm/c1/c1_Runtime1.cpp Changeset: 34d13df4165b Author: Gilles Duboscq Date: 2013-04-07 17:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/34d13df4165b Fix client build in mx ! mx/commands.py Changeset: 89ea104f29ac Author: Gilles Duboscq Date: 2013-04-07 19:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/89ea104f29ac Merge Changeset: c669e8e621a1 Author: Gilles Duboscq Date: 2013-04-07 22:27 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c669e8e621a1 Update the -client line in jvm.cfg when it already exists (ie IGNORE) ! mx/commands.py Changeset: a33b6378cb76 Author: Doug Simon Date: 2013-04-08 11:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a33b6378cb76 delete build/linux/shared/graal before compile in build-graal.xml to handle stale class files left behind after refactoring in Eclipse ! make/build-graal.xml ! mx/commands.py Changeset: ca82d06ec93a Author: Gilles Duboscq Date: 2013-03-27 15:31 +0100 URL: http://hg.openjdk.java.net/graal/graal/rev/ca82d06ec93a mx: bench command should not run dacapos with -n 0 when using a specification such as scaladacapo:specs ! mx/commands.py Changeset: 2c0c708a0ad6 Author: Gilles Duboscq Date: 2013-04-08 09:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2c0c708a0ad6 Introduce DeoptimizingNode interface ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizingStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/IdentityHashCodeStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorEnterStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorExitStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArraySlowStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceSlowStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ThreadIsInterruptedStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VerifyOopStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPostStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPreStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/AESCryptSubstitutions.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CipherBlockChainingSubstitutions.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizingFixedWithNextNode.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizingNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/Invoke.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SafepointNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FixedBinaryNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatDivNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatRemNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerDivNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerRemNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedDivNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRemNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/Access.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AccessNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingAccessNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/NullCheckNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/RuntimeCallNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java Changeset: 1c11cbea6bf0 Author: Christos Kotselidis Date: 2013-04-08 16:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1c11cbea6bf0 Remove references to G1 ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/InitializeArrayNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/InitializeObjectNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java Changeset: dedbfa40d6a1 Author: Christos Kotselidis Date: 2013-04-08 16:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/dedbfa40d6a1 Merge - make/bsd/build.sh - make/linux/build.sh - make/solaris/build.sh - make/test/Queens.java - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw - test/runtime/8007736/TestStaticIF.java Changeset: 0369103efa14 Author: Christos Kotselidis Date: 2013-04-08 16:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0369103efa14 Remove unused imports ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/InitializeArrayNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/InitializeObjectNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java Changeset: aa291d601ee8 Author: Bernhard Urban Date: 2013-04-08 17:09 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/aa291d601ee8 rename: s/PushNodesThroughPi/PushThroughPiPhase/ ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/PushNodesThroughPiTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/PushNodesThroughPi.java + graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/PushThroughPiPhase.java Changeset: 1a8a0375ba74 Author: Bernhard Urban Date: 2013-04-02 12:14 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1a8a0375ba74 unsafeCast: anchor cast after initialization of an object ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java Changeset: 9f56bb503db4 Author: Bernhard Urban Date: 2013-04-08 17:27 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9f56bb503db4 unsafeArrayCast: anchor cast after initialization of an array ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeArrayCastNode.java Changeset: 87aebe2843a5 Author: Gilles Duboscq Date: 2013-04-08 15:13 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/87aebe2843a5 Use the DeoptimizingNode interface of the Invokes in the LIRGenerator ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java Changeset: 822163edb8bf Author: Gilles Duboscq Date: 2013-04-08 18:40 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/822163edb8bf Make a copy of the environ in mx clean to avoid forcing things like HOTSPOT_BUILD_JOBS=16 for other commands ! mx/commands.py Changeset: 8ddaac81cb21 Author: Gilles Duboscq Date: 2013-04-08 18:47 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8ddaac81cb21 Be more careful while updating jvm.cfg (fixes a bug where the -server configuration would overwrite the -server0 one) ! mx/commands.py Changeset: 59e751e68bea Author: Doug Simon Date: 2013-04-08 19:34 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/59e751e68bea made method (and macro) substitution optional to support different JDK versions ! graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/MethodSubstitution.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/MacroSubstitution.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Changeset: 876a449f17ab Author: Christos Kotselidis Date: 2013-04-08 20:52 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/876a449f17ab Merge FieldWriteBarrier into ArrayWriteBarrier ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ArrayWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java Changeset: 0186eb348be2 Author: Christos Kotselidis Date: 2013-04-08 20:58 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0186eb348be2 Remove FieldWriteBarrier ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/FieldWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java Changeset: c502db57e687 Author: Christos Kotselidis Date: 2013-04-08 21:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c502db57e687 Rename ArrayWriteBarrier to SerialWriteBarrier and move it to graal.nodes ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ArrayWriteBarrier.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SerialWriteBarrier.java Changeset: 0727a91b3293 Author: Christos Kotselidis Date: 2013-04-08 21:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0727a91b3293 Merge - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/PushNodesThroughPi.java Changeset: 91c39d0927fb Author: Christos Kotselidis Date: 2013-04-08 21:33 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/91c39d0927fb Remove unused import ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SerialWriteBarrier.java Changeset: b9fb1ecaad92 Author: Doug Simon Date: 2013-04-09 09:35 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b9fb1ecaad92 convert non-int boxed primitives whose stack kind is int to Constants of the right kind ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Changeset: 06e08471949e Author: Doug Simon Date: 2013-04-09 09:58 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/06e08471949e expanded type check hints to support use of negative hints (i.e., profiled types that failed the corresponding type check) ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/TypeCheckHints.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/JavaTypeProfile.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CheckCastSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/InstanceOfSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/TypeCheckSnippetUtils.java Changeset: f2bddf68d293 Author: Bernhard Urban Date: 2013-04-09 10:11 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f2bddf68d293 ReadNode: nullcheck stamptype ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java Changeset: 5cf8471a4034 Author: Lukas Stadler Date: 2013-04-04 18:41 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5cf8471a4034 small PEA refactoring ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Changeset: 9631f95971a3 Author: Lukas Stadler Date: 2013-04-08 14:19 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9631f95971a3 new GraalOption.BootstrapReplacements for debugging purposes ! graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/Replacements.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Changeset: 653110156f8a Author: Lukas Stadler Date: 2013-04-08 17:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/653110156f8a refactored boxing identification and lowering, removed BoxingMethodPool and explicit boxing phases - graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/IfBoxingEliminationTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/DebugInfoBuilder.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/BoxingSnippets.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/BoxingSubstitutions.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxingMethodPool.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/BoxedVirtualObjectNode.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/BoxingEliminationPhase.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ExpandBoxingNodesPhase.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/IdentifyBoxingPhase.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/Snippet.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Changeset: 7828409c364c Author: Lukas Stadler Date: 2013-04-08 17:31 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7828409c364c pull materialization logic into VirtualObjectNode classes ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualArrayNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualInstanceNode.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/MaterializeObjectNode.java Changeset: 880619fd6a67 Author: Lukas Stadler Date: 2013-04-08 19:00 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/880619fd6a67 allow MethodSubstitutions and MacroSubstitutions to be forced (instead of depending on inlining) ! graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/MacroSubstitution.java ! graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/MethodSubstitution.java ! graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/Replacements.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotReplacementsImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/BoxingSubstitutions.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Changeset: 1ee23d592f7d Author: Lukas Stadler Date: 2013-04-08 19:01 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1ee23d592f7d UnboxNode is not a VirtualizableAllocation ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java Changeset: de6eaeae1190 Author: Lukas Stadler Date: 2013-04-08 19:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/de6eaeae1190 move canonicalization of BoxNode to lowering ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/BoxingSnippets.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java Changeset: b4d42a06b3a3 Author: Lukas Stadler Date: 2013-04-08 19:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b4d42a06b3a3 only eliminate locks for instances ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessMonitorNode.java Changeset: 01b3b18cbad9 Author: Lukas Stadler Date: 2013-04-08 19:05 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/01b3b18cbad9 missing change for 7828409c364c (pull materialization logic into VirtualObjectNode classes) ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectNode.java Changeset: 4aa5f76a0579 Author: Lukas Stadler Date: 2013-04-08 19:05 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4aa5f76a0579 small change to ReentrantBlockIterator interface ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/ReentrantBlockIterator.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Changeset: ea867ede377f Author: Lukas Stadler Date: 2013-04-08 19:07 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ea867ede377f allow GraalCompilerTests to ignore virtual and floating nodes in graph comparison ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java Changeset: 289de078427d Author: Lukas Stadler Date: 2013-04-08 19:11 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/289de078427d small change to MaterializeObjectNode interface ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/MaterializeObjectNode.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/GraphEffectList.java Changeset: a8260ba9c762 Author: Lukas Stadler Date: 2013-04-08 19:12 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a8260ba9c762 PEA: remove level from EffectList ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/EffectList.java Changeset: fc972f34c1d5 Author: Lukas Stadler Date: 2013-04-08 19:14 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/fc972f34c1d5 PEA: unify merge and loop logic, implement handling of identity-less virtual objects ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualObjectNode.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/BlockState.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/GraphEffectList.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/ObjectState.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeAnalysisPhase.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/VirtualizerToolImpl.java Changeset: 1b2635aa6a1d Author: Lukas Stadler Date: 2013-04-08 19:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1b2635aa6a1d PEA: handle identity-less objects in IntegerEqualsNode ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java Changeset: 0f9e5723780c Author: Lukas Stadler Date: 2013-04-08 19:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0f9e5723780c PEA: update EscapeAnalysisTest ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/EscapeAnalysisTest.java Changeset: 78748a225d5e Author: Lukas Stadler Date: 2013-04-08 19:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/78748a225d5e add more tests to BoxingEliminationTest ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/BoxingEliminationTest.java Changeset: 5075e8f0a380 Author: Lukas Stadler Date: 2013-04-08 19:18 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5075e8f0a380 PEA: fix PartialEscapeAnalysisTest ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PartialEscapeAnalysisTest.java Changeset: 0f18f7d5b396 Author: Lukas Stadler Date: 2013-04-08 19:18 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0f18f7d5b396 add test for read elimination ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PEAReadEliminationTest.java Changeset: f50d10434d3e Author: Lukas Stadler Date: 2013-04-08 19:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f50d10434d3e Merge - graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/MacroSubstitution.java - graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/Replacements.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/BoxingEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/EscapeAnalysisTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PEAReadEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PartialEscapeAnalysisTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/BoxingSnippets.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/MacroSubstitution.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/Replacements.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java - graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsProvider.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java - make/bsd/build.sh - make/linux/build.sh - make/solaris/build.sh - make/test/Queens.java - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw - test/runtime/8007736/TestStaticIF.java Changeset: 7b9d02786cf0 Author: Lukas Stadler Date: 2013-04-08 20:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7b9d02786cf0 Merge ! graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/MethodSubstitution.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/MacroSubstitution.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Changeset: 84b8e5fe7671 Author: Lukas Stadler Date: 2013-04-09 09:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/84b8e5fe7671 Merge ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ArrayWriteBarrier.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/FieldWriteBarrier.java Changeset: a214dada94c4 Author: Lukas Stadler Date: 2013-04-09 10:29 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a214dada94c4 jacoco-exclude StampFactory (fixes problems with BeginNode.anchor) ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/StampFactory.java Changeset: cdd70fd1479b Author: Lukas Stadler Date: 2013-04-09 10:48 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cdd70fd1479b Merge ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Changeset: 81ef56feff1b Author: Christos Kotselidis Date: 2013-04-09 09:45 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/81ef56feff1b Move write barriers' addition to a separate stage after lowering ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CompareAndSwapNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ExceptionObjectNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java ! mx/projects Changeset: 7c488a696276 Author: Christos Kotselidis Date: 2013-04-09 11:32 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7c488a696276 Merge Changeset: 689f2b71251c Author: Christos Kotselidis Date: 2013-04-09 11:35 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/689f2b71251c Merge ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java - graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/IfBoxingEliminationTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxingMethodPool.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/BoxedVirtualObjectNode.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/BoxingEliminationPhase.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ExpandBoxingNodesPhase.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/IdentifyBoxingPhase.java Changeset: 78bf450b45b9 Author: Christos Kotselidis Date: 2013-04-09 11:38 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/78bf450b45b9 Remove unused packages ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java Changeset: 8fab4f4fde34 Author: Christos Kotselidis Date: 2013-04-09 11:55 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8fab4f4fde34 Make static the private calls of the WriteBarrierAdditionPhase ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java Changeset: 6cae606d563f Author: Christian Wirth Date: 2013-04-09 11:54 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6cae606d563f commented out a check for the existence of "cl.exe" for the windows build. The command returns something invalid, so the build fails BECAUSE of this test ! make/windows/create.bat Changeset: f5aa4361a1fc Author: Christian Wirth Date: 2013-04-09 12:48 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f5aa4361a1fc Merged Changeset: f065dc502356 Author: Thomas Wuerthinger Date: 2013-04-09 13:00 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f065dc502356 Small clean up. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java Changeset: 50a8f6744290 Author: Thomas Wuerthinger Date: 2013-04-09 14:42 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/50a8f6744290 Merge. Changeset: e7766460ddb3 Author: Thomas Wuerthinger Date: 2013-04-09 15:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e7766460ddb3 Move tests into *.test packages. - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TestNodeInterface.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TypedNodeIteratorTest.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TypedNodeIteratorTest2.java + graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TestNodeInterface.java + graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest.java + graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest2.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/ArrayCopyIntrinsificationTest.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/HotSpotMethodSubstitutionTest.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/InstalledCodeExecuteHelperTest.java + graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/ArrayCopyIntrinsificationTest.java + graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/HotSpotMethodSubstitutionTest.java + graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/InstalledCodeExecuteHelperTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/CheckCastTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/CompiledExceptionHandlerTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InstanceOfDynamicTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InstanceOfTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InvokeTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/MethodSubstitutionTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/MonitorTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewArrayTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewInstanceTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewMultiArrayTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/PointerTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/StandardMethodSubstitutionsTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/TypeCheckTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/WordTest.java + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/CheckCastTest.java + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/CompiledExceptionHandlerTest.java + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/InstanceOfDynamicTest.java + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/InstanceOfTest.java + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/InvokeTest.java + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/MethodSubstitutionTest.java + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/MonitorTest.java + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/NewArrayTest.java + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/NewInstanceTest.java + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/NewMultiArrayTest.java + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/PointerTest.java + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/StandardMethodSubstitutionsTest.java + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/TypeCheckTest.java + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/WordTest.java Changeset: 7ef66078d837 Author: Andreas Woess Date: 2013-04-09 17:11 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7ef66078d837 add basic invokedynamic support ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java ! graal/com.oracle.graal.bytecode/src/com/oracle/graal/bytecode/BytecodeStream.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/BytecodeDisassembler.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java ! src/cpu/x86/vm/templateInterpreter_x86.hpp ! src/share/vm/graal/graalCompiler.hpp ! src/share/vm/graal/graalCompilerToVM.cpp ! src/share/vm/graal/graalEnv.cpp Changeset: 7a4dc62006bf Author: Andreas Woess Date: 2013-04-09 17:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7a4dc62006bf canonicalize constant call site target ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java Changeset: 707b20dd9512 Author: Andreas Woess Date: 2013-04-09 17:23 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/707b20dd9512 draft call site target value assumption ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Assumptions.java ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/code/dependencies.hpp ! src/share/vm/graal/graalCodeInstaller.cpp ! src/share/vm/graal/graalCodeInstaller.hpp ! src/share/vm/graal/graalJavaAccess.hpp Changeset: dedc3f7d3033 Author: Andreas Woess Date: 2013-04-09 17:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/dedc3f7d3033 Merge Changeset: da5140eedfa1 Author: Doug Simon Date: 2013-04-09 13:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/da5140eedfa1 made format of toString() consistent across HotSpot subclasses of JavaField and JavaMethod ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMethodUnresolved.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotUnresolvedField.java Changeset: 43fb04e78250 Author: Doug Simon Date: 2013-04-09 15:59 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/43fb04e78250 modified (some) checks in SchedulePhase to raise a SchedulingError instead of an AssertionError ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Changeset: 0dc36e1d813e Author: Doug Simon Date: 2013-04-09 17:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0dc36e1d813e extra InstanceOf tests ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InstanceOfTest.java Changeset: ef450d176a20 Author: Doug Simon Date: 2013-04-09 17:38 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ef450d176a20 fixed bug in transformation of a type check profile into type check hints ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/TypeCheckHints.java Changeset: b47759136478 Author: Doug Simon Date: 2013-04-09 18:05 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b47759136478 making use of negative types in the type check profile associated with an instanceof ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/InstanceOfSnippets.java Changeset: 82d8fac3ad13 Author: Doug Simon Date: 2013-04-09 18:08 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/82d8fac3ad13 Merge. - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TestNodeInterface.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TypedNodeIteratorTest.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TypedNodeIteratorTest2.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/ArrayCopyIntrinsificationTest.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/HotSpotMethodSubstitutionTest.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/InstalledCodeExecuteHelperTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/CheckCastTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/CompiledExceptionHandlerTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InstanceOfDynamicTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InstanceOfTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InvokeTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/MethodSubstitutionTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/MonitorTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewArrayTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewInstanceTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewMultiArrayTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/PointerTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/StandardMethodSubstitutionsTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/TypeCheckTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/WordTest.java + graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/InstanceOfTest.java Changeset: f84f5112869e Author: Gilles Duboscq Date: 2013-04-09 16:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f84f5112869e Add missing updateUsages calls ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizingFixedWithNextNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingAccessNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/RuntimeCallNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java Changeset: 74725f2f6122 Author: Gilles Duboscq Date: 2013-04-09 16:27 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/74725f2f6122 Add a deoptState for invokes so that they can loose their stateAfter ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java Changeset: 1af9b5d75139 Author: Gilles Duboscq Date: 2013-04-09 16:28 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1af9b5d75139 Move framestate assignement to the hir ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java + graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FrameStateAssignementPhase.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Changeset: 64d3d352f943 Author: Gilles Duboscq Date: 2013-04-09 19:24 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/64d3d352f943 Do not skip a checkstyle test on the next run if it does not succeed in the current run ! mxtool/mx.py Changeset: 7fee8bd5d2bd Author: Gilles Duboscq Date: 2013-04-09 19:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7fee8bd5d2bd Remove some System.(out|err).print... Add a checkstyle rule for it ! graal/com.oracle.graal.api.meta.test/src/com/oracle/graal/api/meta/test/TestResolvedJavaType.java ! graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/TypeSystemTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/DebugFilter.java ! graal/com.oracle.graal.graph/.checkstyle_checks.xml ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/GraphEvent.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/GraphEventLog.java ! graal/com.oracle.graal.hotspot.server/src/com/oracle/graal/hotspot/server/InvocationSocket.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/InstalledCodeExecuteHelperTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/MetricRateInPhase.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/logging/CountingProxy.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/logging/Logger.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/jdk/System_setOut.java ! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/HexCodeFile.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeAnalysisPhase.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/GraphPrintVisitor.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/SimpleLanguage.java Changeset: 0ba33199edc0 Author: Andreas Woess Date: 2013-04-09 20:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0ba33199edc0 invokedynamic: constant fold call site target with assumption; minor fixes ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteSubstitutions.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteTargetNode.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java ! src/share/vm/code/dependencies.cpp ! src/share/vm/graal/graalCompilerToVM.cpp Changeset: 1b5eeb50e690 Author: Lukas Stadler Date: 2013-04-09 22:24 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1b5eeb50e690 PEA: fix virtualization of CheckCastNode (check type) ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java Changeset: 72425cbbfce3 Author: Lukas Stadler Date: 2013-04-09 22:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/72425cbbfce3 Merge - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TestNodeInterface.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TypedNodeIteratorTest.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TypedNodeIteratorTest2.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/ArrayCopyIntrinsificationTest.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/HotSpotMethodSubstitutionTest.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/InstalledCodeExecuteHelperTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/CheckCastTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/CompiledExceptionHandlerTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InstanceOfDynamicTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InstanceOfTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InvokeTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/MethodSubstitutionTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/MonitorTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewArrayTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewInstanceTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewMultiArrayTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/PointerTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/StandardMethodSubstitutionsTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/TypeCheckTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/WordTest.java Changeset: 63eae4723b18 Author: Christos Kotselidis Date: 2013-04-09 11:13 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/63eae4723b18 Creation of snippets for ArrayCopy write barriers ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopySnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GenericArrayRangeWriteBarrier.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SerialArrayRangeWriteBarrier.java Changeset: e98c48fca45b Author: Christos Kotselidis Date: 2013-04-09 14:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e98c48fca45b Fix checkstyle errors ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java Changeset: 1939fe0e6148 Author: Christos Kotselidis Date: 2013-04-09 14:53 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1939fe0e6148 Add FixedValueAnchor to ArrayRangeWriteBarrier Snippet ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java Changeset: d3c6755fdb11 Author: Christos Kotselidis Date: 2013-04-09 22:34 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d3c6755fdb11 Merge - graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/IfBoxingEliminationTest.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TestNodeInterface.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TypedNodeIteratorTest.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TypedNodeIteratorTest2.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/ArrayCopyIntrinsificationTest.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/HotSpotMethodSubstitutionTest.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/InstalledCodeExecuteHelperTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxingMethodPool.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/BoxedVirtualObjectNode.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/BoxingEliminationPhase.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ExpandBoxingNodesPhase.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/IdentifyBoxingPhase.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/CheckCastTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/CompiledExceptionHandlerTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InstanceOfDynamicTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InstanceOfTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InvokeTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/MethodSubstitutionTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/MonitorTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewArrayTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewInstanceTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewMultiArrayTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/PointerTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/StandardMethodSubstitutionsTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/TypeCheckTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/WordTest.java Changeset: c4ae6e85ecfc Author: Christos Kotselidis Date: 2013-04-09 23:06 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c4ae6e85ecfc Merge Changeset: e41c32a4d573 Author: Thomas Wuerthinger Date: 2013-04-09 19:28 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e41c32a4d573 Change the register_finalizer stub to not overwrite any registers. ! src/cpu/x86/vm/graalRuntime_x86.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: 1fa6536416db Author: Thomas Wuerthinger Date: 2013-04-09 19:29 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1fa6536416db Runtime calls that do not destroy the caller's registers need no spilling at the call site. ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/RuntimeCallTarget.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotRuntimeCallTarget.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Call.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/StandardOp.java Changeset: 50c63b0d858e Author: Thomas Wuerthinger Date: 2013-04-09 19:29 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/50c63b0d858e Merge. Changeset: da39fb4f9b2e Author: Thomas Wuerthinger Date: 2013-04-09 19:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/da39fb4f9b2e Common base class for LIR runtime call ops. ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Call.java Changeset: 14c629440b1a Author: Thomas Wuerthinger Date: 2013-04-09 19:56 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/14c629440b1a Common base LIR instruction for call ops. ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Call.java Changeset: 0c3dc4951410 Author: Thomas Wuerthinger Date: 2013-04-09 19:57 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0c3dc4951410 Move inner class for more logical ordering. ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Call.java Changeset: 63e970d77f51 Author: Thomas Wuerthinger Date: 2013-04-09 20:00 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/63e970d77f51 Common base class for method call operations. ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64IndirectCallOp.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Call.java Changeset: ed49e2135abe Author: Thomas Wuerthinger Date: 2013-04-09 20:00 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ed49e2135abe Merge. Changeset: 4fc644c79b9f Author: Thomas Wuerthinger Date: 2013-04-09 21:55 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4fc644c79b9f Correctly restore registers after runtime calls that create exceptions. ! src/cpu/x86/vm/graalRuntime_x86.cpp Changeset: 977793ed5204 Author: Thomas Wuerthinger Date: 2013-04-09 21:56 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/977793ed5204 Merge. Changeset: 591e9ff4ca5a Author: Thomas Wuerthinger Date: 2013-04-10 01:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/591e9ff4ca5a Merge. Changeset: b87f042d1f29 Author: Thomas Wuerthinger Date: 2013-04-10 02:06 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b87f042d1f29 Set correct temp registers for runtime calls that directly call C methods. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Changeset: 92b00825c037 Author: Thomas Wuerthinger Date: 2013-04-10 02:10 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/92b00825c037 Fixing more runtime call registrations. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Changeset: 09cdf7224794 Author: Lukas Stadler Date: 2013-04-10 10:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/09cdf7224794 PEA: cleanup and documentation for recent changes ! graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/MethodSubstitution.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/BoxingSubstitutions.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/MacroSubstitution.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Changeset: 39f088ba89a9 Author: Lukas Stadler Date: 2013-04-10 10:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/39f088ba89a9 additional Boxing tests ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/BoxingEliminationTest.java Changeset: 6c4ac1a8cd20 Author: Gilles Duboscq Date: 2013-04-10 11:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6c4ac1a8cd20 Run dead code elimination after framestate assignment s/assignement/assignement ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FrameStateAssignementPhase.java + graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FrameStateAssignmentPhase.java Changeset: 16de9b713b4c Author: Christos Kotselidis Date: 2013-04-10 13:55 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/16de9b713b4c Fix erroneous date in Copyright statement, CR-357 ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SerialWriteBarrier.java Changeset: fee450a11838 Author: Christos Kotselidis Date: 2013-04-10 14:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/fee450a11838 Rename abbreviated variables, CR-377 ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SerialArrayRangeWriteBarrier.java Changeset: 3bc8ee03834e Author: Thomas Wuerthinger Date: 2013-04-10 14:59 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3bc8ee03834e Register RAX as a temporary for FREM and DREM stubs. ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java Changeset: dcb9f151f0ec Author: Thomas Wuerthinger Date: 2013-04-10 15:00 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/dcb9f151f0ec Merge. - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FrameStateAssignementPhase.java Changeset: 02f57662b6c4 Author: Lukas Stadler Date: 2013-04-10 15:57 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/02f57662b6c4 remove monitor limitation form TailDuplicationPhase ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java Changeset: 40e7444d62ee Author: Christos Kotselidis Date: 2013-04-10 16:24 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/40e7444d62ee Variable renaming ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SerialArrayRangeWriteBarrier.java Changeset: 1c77db9ba064 Author: Christos Kotselidis Date: 2013-04-10 16:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1c77db9ba064 Merge Changeset: 096725f4da58 Author: Doug Simon Date: 2013-04-10 13:21 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/096725f4da58 the -e option to the eclipseformat can now also accept an Eclipse installation directory ! mxtool/mx.py Changeset: 7afb9d95298e Author: Doug Simon Date: 2013-04-10 17:09 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7afb9d95298e changes to support API changes in JDK 1.8.0-ea-b84 ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/ast/CodeElement.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/ast/CodeExecutableElement.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/ast/CodeTypeMirror.java Changeset: 02630437264e Author: Doug Simon Date: 2013-04-10 17:09 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/02630437264e Merge. Changeset: 68d07bea21b8 Author: Doug Simon Date: 2013-04-10 17:10 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/68d07bea21b8 Merge. Changeset: 585cc62fcdc5 Author: Morris Meyer Date: 2013-04-10 18:51 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/585cc62fcdc5 PTX enhancements - arithmetic, control, float, integer math, control and basic switch ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/ValueUtil.java ! graal/com.oracle.graal.asm.ptx/src/com/oracle/graal/asm/ptx/PTXAssembler.java ! graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java + graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/ControlTest.java + graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/FloatPTXTest.java + graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/IntegerPTXTest.java + graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/LogicPTXTest.java + graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXPhase.java + graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXTestBase.java ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXBackend.java ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXArithmetic.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXCompare.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXControlFlow.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXMove.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/TargetMethodAssembler.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java Changeset: 6d86ce1297bc Author: twisti Date: 2013-04-10 20:43 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/6d86ce1297bc GRAAL-213: add HotSpot-style PrintCompilation and PrintInlining Reviewed-by: ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java ! src/share/vm/graal/graalCompilerToVM.cpp Changeset: 508ae1a5cada Author: Roland Schatz Date: 2013-04-10 17:12 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/508ae1a5cada Fix ServiceProviderProcessor to support multiple providers in the same project. ! graal/com.oracle.graal.api.runtime/src/com/oracle/graal/api/runtime/ServiceProvider.java ! graal/com.oracle.graal.service.processor/src/com/oracle/graal/service/processor/ServiceProviderProcessor.java Changeset: d2c34ddac70f Author: Roland Schatz Date: 2013-04-11 10:39 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d2c34ddac70f Merge. ! graal/com.oracle.graal.service.processor/src/com/oracle/graal/service/processor/ServiceProviderProcessor.java Changeset: eae432b7c462 Author: Roland Schatz Date: 2013-04-11 11:52 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/eae432b7c462 Pass context object to compiler phases. + graal/com.oracle.graal.phases/src/com/oracle/graal/phases/BasePhase.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/Phase.java Changeset: c32173f91d0e Author: Roland Schatz Date: 2013-04-11 12:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c32173f91d0e PhaseSuite + graal/com.oracle.graal.phases/src/com/oracle/graal/phases/PhaseSuite.java Changeset: 94583d9eead8 Author: Roland Schatz Date: 2013-04-11 12:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/94583d9eead8 HighTier phase suite. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java + graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/Suites.java + graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/HighTierContext.java Changeset: 7844a36d0216 Author: Doug Simon Date: 2013-04-11 13:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7844a36d0216 use a project's explicit Java compliance level instead of --source option to mx build command ! mxtool/mx.py Changeset: a8fea2979e63 Author: Michael Haupt Date: 2013-04-11 09:53 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a8fea2979e63 eager infopoint mode (fka debug mode) ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CompilationResult.java + graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/InfopointReason.java ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java + graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/InfopointReasonTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/inlining/InliningTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/DebugInfoBuilder.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64SafepointOp.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotCompilationResult.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderConfiguration.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java + graal/com.oracle.graal.lir/src/com/oracle/graal/lir/InfopointOp.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/TargetMethodAssembler.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InfopointNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/graal/graalCodeInstaller.cpp ! src/share/vm/graal/graalJavaAccess.hpp Changeset: 9f3a77848ea2 Author: Michael Haupt Date: 2013-04-11 11:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9f3a77848ea2 Merge with d2c34ddac70fe8636b79944417f44d396c0f9acf ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java - graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/IfBoxingEliminationTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/DebugInfoBuilder.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TestNodeInterface.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TypedNodeIteratorTest.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TypedNodeIteratorTest2.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/ArrayCopyIntrinsificationTest.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/HotSpotMethodSubstitutionTest.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/InstalledCodeExecuteHelperTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ArrayWriteBarrier.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/FieldWriteBarrier.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/TargetMethodAssembler.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxingMethodPool.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/BoxedVirtualObjectNode.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/BoxingEliminationPhase.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ExpandBoxingNodesPhase.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/IdentifyBoxingPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/CheckCastTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/CompiledExceptionHandlerTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InstanceOfDynamicTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InstanceOfTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InvokeTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/MethodSubstitutionTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/MonitorTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewArrayTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewInstanceTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewMultiArrayTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/PointerTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/StandardMethodSubstitutionsTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/TypeCheckTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/WordTest.java ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/graal/graalCodeInstaller.cpp ! src/share/vm/graal/graalJavaAccess.hpp Changeset: 7c1b70aeb0c7 Author: Michael Haupt Date: 2013-04-11 16:52 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7c1b70aeb0c7 post-merge fixes, test improvements ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/inlining/InliningTest.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InfopointNode.java Changeset: 4f3f35f5d811 Author: Michael Haupt Date: 2013-04-11 16:54 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4f3f35f5d811 Merge with 7844a36d02163c68a94c6ee66c55b4fc138b41fc Changeset: bd2ace51ba04 Author: Morris Meyer Date: 2013-04-11 13:47 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/bd2ace51ba04 GRAAL-221 - PTX array load and store support + graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/ArrayTest.java ! graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/BasicPTXTest.java ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXMove.java Changeset: c6d4a69d5129 Author: Andreas Woess Date: 2013-04-10 14:11 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c6d4a69d5129 Move call site substitutions to inner classes. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteSubstitutions.java Changeset: 1eb16dbb31a7 Author: Doug Simon Date: 2013-04-11 21:38 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1eb16dbb31a7 changed 'mx javap' command to accept class name patterns instead of fully qualified class names ! mxtool/mx.py Changeset: 08a16c26907f Author: Doug Simon Date: 2013-04-11 21:40 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/08a16c26907f MX_TESTFILE environment variable can be used to specify (and preserve) the test list file used by 'mx unittest'. This is useful when wanting to run the command under gdb. ! mx/commands.py Changeset: 23762f2438b6 Author: Doug Simon Date: 2013-04-11 21:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/23762f2438b6 support for compiling LambdaForm invocations (invokevirtual instructions that were rewritten to invokehandle instructions) ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java ! src/share/vm/graal/graalCompiler.hpp ! src/share/vm/graal/graalCompilerToVM.cpp ! src/share/vm/graal/graalEnv.cpp Changeset: 2979aaac95af Author: Bernhard Urban Date: 2013-04-11 22:38 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2979aaac95af assumptions: enable NoFinalizableSubclass assumption ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Assumptions.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/code/dependencies.cpp ! src/share/vm/code/dependencies.hpp ! src/share/vm/graal/graalCodeInstaller.cpp ! src/share/vm/graal/graalCodeInstaller.hpp ! src/share/vm/graal/graalJavaAccess.hpp Changeset: 3b0ec709827c Author: Doug Simon Date: 2013-04-11 23:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3b0ec709827c added macro substitutions for the @PolymorphicSignature methods in MethodHandle ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotReplacementsImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleInvokeBasicNode.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleLinkToInterfaceNode.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleLinkToSpecialNode.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleLinkToStaticNode.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleLinkToVirtualNode.java ! src/share/vm/graal/graalCompilerToVM.cpp Changeset: 2c933625b355 Author: Christian Wimmer Date: 2013-04-11 14:20 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/2c933625b355 Ignore the state of a InfpointNode in the LIRGenerator. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java Changeset: 92d2bedb5dfc Author: Christian Wimmer Date: 2013-04-11 14:22 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/92d2bedb5dfc Change of Snippet template and instantiation process ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopySnippets.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/BoxingSnippets.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/BoxingSubstitutions.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CheckCastSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/InstanceOfSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/LoadExceptionObjectSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MonitorSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/WriteBarrierSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewArrayStub.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/Replacements.java ! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64ConvertSnippets.java + graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/BoxingSnippets.java + graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/BoxingSubstitutions.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/GraalMethodSubstitutions.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/InstanceOfSnippetsTemplates.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/Snippet.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Changeset: 60b9fe7034e6 Author: Christian Wimmer Date: 2013-04-11 14:24 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/60b9fe7034e6 Allow lowering of DeoptimizeNode ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java Changeset: 055d555d5378 Author: Christian Wimmer Date: 2013-04-11 14:26 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/055d555d5378 A Invoke without a state cannot deoptimize ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Changeset: 79312b185b74 Author: Christian Wimmer Date: 2013-04-11 14:27 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/79312b185b74 Fix NodeIntrinsic definitions ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeArrayCastNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java Changeset: 22601d7e507e Author: Christian Wimmer Date: 2013-04-11 14:46 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/22601d7e507e Merge Changeset: 627dc359e918 Author: Christian Wimmer Date: 2013-04-11 15:39 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/627dc359e918 Use correct method to access constant pool ! src/share/vm/graal/graalCompilerToVM.cpp Changeset: 0524e6e34ad8 Author: Christian Wimmer Date: 2013-04-11 15:40 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/0524e6e34ad8 Revert earlier change that caused problems ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Changeset: 80aee92588cd Author: Christian Wimmer Date: 2013-04-11 15:41 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/80aee92588cd Merge ! src/share/vm/graal/graalCompilerToVM.cpp Changeset: f94bb5d20e5d Author: Thomas Wuerthinger Date: 2013-04-11 17:36 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f94bb5d20e5d Rename MethodInvalidatedException to InvalidInstalledCodeException (and make it a checked exception). Make sure that a compiled code object can always be directly called without first doing a check on the native method pointer. ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/InstalledCode.java + graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/InvalidInstalledCodeException.java ! graal/com.oracle.graal.asm.test/src/com/oracle/graal/asm/test/AssemblerTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/deopt/CompiledMethodTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/deopt/SynchronizedMethodDeoptimizationTest.java + graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/HotSpotInstalledCodeTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotInstalledCode.java ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/graal/graalCompilerToVM.cpp ! src/share/vm/runtime/javaCalls.cpp ! src/share/vm/runtime/sharedRuntime.cpp ! src/share/vm/runtime/sharedRuntime.hpp Changeset: 2b840ae76df1 Author: Thomas Wuerthinger Date: 2013-04-11 17:48 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2b840ae76df1 Move nmethod parameter to the last position to keep passed on arguments in the correct registers. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotInstalledCode.java ! src/share/vm/graal/graalCompilerToVM.cpp Changeset: ff5a32117e02 Author: Thomas Wuerthinger Date: 2013-04-12 01:53 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ff5a32117e02 Implement fast invocation of installed code (direct tail call to the target machine code address). ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/HotSpotInstalledCodeTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/InstalledCodeExecuteHelperTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotInstalledCode.java ! src/cpu/sparc/vm/interpreter_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/x86/vm/interpreterGenerator_x86.hpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/graal/graalCompilerToVM.cpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/templateInterpreter.cpp ! src/share/vm/oops/method.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: 22851e342f0e Author: Thomas Wuerthinger Date: 2013-04-12 04:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/22851e342f0e Make calling the installed code from compiled code possible. ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/HotSpotInstalledCodeTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotInstalledCode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/method.cpp Changeset: e0e85d78843b Author: Thomas Wuerthinger Date: 2013-04-12 04:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e0e85d78843b Merge. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/BoxingSnippets.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/BoxingSubstitutions.java ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/graal/graalCompilerToVM.cpp Changeset: 5450f281602b Author: Thomas Wuerthinger Date: 2013-04-12 05:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5450f281602b Merge fix. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java Changeset: 4e2a0220118e Author: Thomas Wuerthinger Date: 2013-04-12 05:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4e2a0220118e Fix imports. ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/deopt/CompiledMethodTest.java Changeset: 9a3e25e270a0 Author: Thomas Wuerthinger Date: 2013-04-12 06:19 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9a3e25e270a0 Clear installed code pointer when unloading method. ! src/share/vm/code/nmethod.cpp Changeset: 8e093f170343 Author: Lukas Stadler Date: 2013-04-11 18:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8e093f170343 fix errorneous handling of ValueAnchorNodes in TailDuplicationPhase ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java Changeset: 0279403fc3c9 Author: Lukas Stadler Date: 2013-04-12 10:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0279403fc3c9 make GraalOptions.BenchmarkDynamicCounters configurable ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java Changeset: 35a52b195f28 Author: Lukas Stadler Date: 2013-04-12 10:53 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/35a52b195f28 remove debug counters ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeAnalysisPhase.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeClosure.java Changeset: 220c9bef97a4 Author: Lukas Stadler Date: 2013-04-12 10:54 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/220c9bef97a4 Merge ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/BoxingSnippets.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/BoxingSubstitutions.java Changeset: c181a7f6311d Author: Lukas Stadler Date: 2013-04-12 10:55 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c181a7f6311d fix import ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeAnalysisPhase.java Changeset: 7309bde698f3 Author: Michael Haupt Date: 2013-04-12 09:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7309bde698f3 mark infopoint-related tests as long ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/InfopointReasonTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/inlining/InliningTest.java Changeset: b008f40b67d0 Author: Michael Haupt Date: 2013-04-12 11:24 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b008f40b67d0 Merge Changeset: 8802f66cba62 Author: Roland Schatz Date: 2013-04-12 13:44 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8802f66cba62 Fix bug in graph dumping. ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Changeset: 0f090aa237e7 Author: Doug Simon Date: 2013-04-12 15:52 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0f090aa237e7 weakened assertion in unsafe.cpp for GRAAL builds ! src/share/vm/prims/unsafe.cpp Changeset: 640996823a81 Author: Matthias Grimmer Date: 2013-04-12 15:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/640996823a81 InstalledCode intrinsification fixes ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/InstalledCodeExecuteHelperTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotInstalledCode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotInstalledCodeExecuteNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotInstalledCodeSubstitutions.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/GraalCodeCacheProvider.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/GraalInstalledCode.java Changeset: 941d7b1fecd8 Author: Matthias Grimmer Date: 2013-04-12 15:55 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/941d7b1fecd8 Fixes ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/InstalledCodeExecuteHelperTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilationTask.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotInstalledCode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotInstalledCodeSubstitutions.java Changeset: 67bc6ad84069 Author: Matthias Grimmer Date: 2013-04-12 16:08 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/67bc6ad84069 Further merge fixes ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/GraalCompilerTest.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/InstalledCodeExecuteHelperTest.java Changeset: 340eb23d3a0a Author: Matthias Grimmer Date: 2013-04-12 16:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/340eb23d3a0a Remove GraalInstalledCode - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/GraalInstalledCode.java Changeset: 5eab174fb727 Author: Matthias Grimmer Date: 2013-04-12 16:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5eab174fb727 Remove non-test from InstalledCodeExecuteHelperTest ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/InstalledCodeExecuteHelperTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotInstalledCodeExecuteNode.java Changeset: d4da9378903d Author: Matthias Grimmer Date: 2013-04-12 16:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d4da9378903d Merge Changeset: c6a1ffc707ff Author: Thomas Wuerthinger Date: 2013-04-12 17:22 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c6a1ffc707ff Comments and #ifdef GRAAL for recent changes to C++ code for calling nmethods directly. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java ! src/cpu/sparc/vm/interpreter_sparc.cpp ! src/cpu/sparc/vm/sharedRuntime_sparc.cpp ! src/cpu/x86/vm/interpreterGenerator_x86.hpp ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/cpu/x86/vm/templateInterpreter_x86_64.cpp ! src/share/vm/code/nmethod.cpp ! src/share/vm/interpreter/abstractInterpreter.hpp ! src/share/vm/interpreter/interpreter.cpp ! src/share/vm/interpreter/templateInterpreter.cpp ! src/share/vm/oops/method.cpp Changeset: 1946c86f8842 Author: Thomas Wuerthinger Date: 2013-04-12 17:23 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1946c86f8842 Merge. Changeset: 5ca15f09106c Author: Roland Schatz Date: 2013-04-12 13:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5ca15f09106c Base class for phase context. ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/HighTierContext.java + graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/PhaseContext.java Changeset: 6d376d09880b Author: Roland Schatz Date: 2013-04-12 13:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6d376d09880b Make CanonicalizerPhase reentrant. ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/BoxingEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/CompareCanonicalizerTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/DegeneratedLoopsTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/IfCanonicalizerTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/InvokeExceptionTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/InvokeHintsTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/LoopUnswitchTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MonitorGraphTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/PushNodesThroughPiTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ReadAfterCheckCast.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ReassociateAndCanonicalTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ScalarTypeSystemTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/StampCanonicalizerTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/StraighteningTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/TypeSystemTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/deopt/CompiledMethodTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PartialEscapeAnalysisTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/inlining/InliningTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopTransformations.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/IterativeConditionalEliminationPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/MethodSubstitutionTest.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/IterativeInliningPhase.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeAnalysisPhase.java Changeset: b393a023dd4e Author: Roland Schatz Date: 2013-04-12 16:55 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b393a023dd4e Make PartialEscapeAnalysisPhase reentrant. ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/BoxingEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/EscapeAnalysisTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/IterativeInliningTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PEAReadEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PartialEscapeAnalysisTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/IterativeInliningPhase.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeAnalysisPhase.java Changeset: fb2b0866e350 Author: Roland Schatz Date: 2013-04-12 17:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/fb2b0866e350 Remove unused fields. ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/phases/LoopFullUnrollPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java Changeset: 989db61f2007 Author: Roland Schatz Date: 2013-04-12 17:21 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/989db61f2007 Make LoopFullUnrollPhase reentrant. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/phases/LoopFullUnrollPhase.java Changeset: 1a99a8df6dad Author: Roland Schatz Date: 2013-04-12 17:55 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1a99a8df6dad Move more phases into HighTier suite. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/Suites.java Changeset: c7f289614722 Author: Roland Schatz Date: 2013-04-12 18:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c7f289614722 Merge. Changeset: dcdeb150988c Author: amurillo Date: 2013-04-04 21:15 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/dcdeb150988c 8011584: new hotspot build - hs25-b27 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 3b890cd4da64 Author: ctornqvi Date: 2013-04-03 21:41 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations Summary: Tests added for Reserve/Commit/Uncommit/Unreserve operations Reviewed-by: zgu, mgerdin ! src/share/vm/prims/whitebox.cpp - test/runtime/NMT/AllocTestType.java + test/runtime/NMT/MallocTestType.java + test/runtime/NMT/ThreadedMallocTestType.java + test/runtime/NMT/ThreadedVirtualAllocTestType.java + test/runtime/NMT/VirtualAllocTestType.java ! test/testlibrary/OutputAnalyzerTest.java ! test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 8554c55669b0 Author: hseigel Date: 2013-04-04 08:47 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/8554c55669b0 8010943: guarantee(length == 0) failed: invalid method ordering length Summary: Add DumpSharedSpaces to IF condition to handle verify during -Xshare:dump. Reviewed-by: coleenp, zgu ! src/share/vm/oops/instanceKlass.cpp Changeset: bad3bed4b323 Author: ccheung Date: 2013-03-29 14:18 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/bad3bed4b323 8006006: [parfait] Memory leak at hotspot/src/share/tools/launcher/wildcard.c Summary: a simple fix to add FileList_free(fl) before returning NULL. Reviewed-by: zgu, coleenp, minqi ! src/share/tools/launcher/wildcard.c Changeset: 17bf4d428955 Author: ccheung Date: 2013-04-03 16:43 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/17bf4d428955 8006103: [parfait] Possible null pointer dereference at hotspot/src/os/linux/vm/os_linux.cpp; os_windows.cpp; os_solaris.cpp; os_bsd.cpp Reviewed-by: zgu, iklam ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp Changeset: cc32ccaaf47f Author: mikael Date: 2013-04-04 10:01 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/cc32ccaaf47f 8003310: Enable -Wunused-function when compiling with gcc Summary: Add the -Wunused-function flag and remove a number of unused functions. Reviewed-by: dholmes, coleenp, kvn ! make/linux/makefiles/gcc.make ! src/cpu/x86/vm/assembler_x86.cpp ! src/cpu/x86/vm/methodHandles_x86.cpp ! src/cpu/x86/vm/x86_64.ad ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/compiler/compileLog.cpp ! src/share/vm/compiler/compilerOracle.cpp ! src/share/vm/gc_implementation/g1/g1CollectorPolicy.cpp ! src/share/vm/gc_implementation/g1/ptrQueue.cpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/memory/heap.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/opto/block.cpp ! src/share/vm/opto/compile.cpp ! src/share/vm/opto/connode.cpp ! src/share/vm/opto/subnode.cpp ! src/share/vm/prims/jni.cpp ! src/share/vm/prims/jniCheck.hpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/synchronizer.hpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/globalDefinitions.cpp ! src/share/vm/utilities/globalDefinitions.hpp Changeset: 4c8bb5e4f68f Author: zgu Date: 2013-04-05 12:19 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/4c8bb5e4f68f 8011161: NMT: Memory leak when encountering out of memory error while initializing memory snapshot Summary: Fix memory leaks when NMT fails to initialize snapshot and worker thread Reviewed-by: dcubed, ccheung, rdurbin ! src/share/vm/services/memTracker.cpp Changeset: 8be1318fbe77 Author: dcubed Date: 2013-04-05 10:38 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/8be1318fbe77 Merge ! src/cpu/x86/vm/x86_64.ad ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/runtime/arguments.cpp - test/runtime/NMT/AllocTestType.java Changeset: 46d24f112c27 Author: dcubed Date: 2013-04-05 16:16 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/46d24f112c27 Merge - make/bsd/build.sh - make/linux/build.sh - make/solaris/build.sh Changeset: 4b7cf00ccb08 Author: ccheung Date: 2013-04-05 11:15 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/4b7cf00ccb08 8006001: [parfait] Possible file leak in hotspot/src/os/linux/vm/perfMemory_linux.cpp Reviewed-by: zgu, coleenp, hseigel, dholmes ! src/os/bsd/vm/perfMemory_bsd.cpp ! src/os/linux/vm/perfMemory_linux.cpp ! src/os/solaris/vm/perfMemory_solaris.cpp ! src/os/windows/vm/perfMemory_windows.cpp Changeset: b933e75e7cbe Author: zgu Date: 2013-04-05 23:10 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b933e75e7cbe Merge Changeset: 09b0d3e9ba6c Author: bharadwaj Date: 2013-04-09 08:52 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/09b0d3e9ba6c 8011671: JCK tests on static interface methods fail under b84: Illegal type at constant pool entry 5 Summary: Restore incorrect removal of support for static interface method verification in Java 8 Reviewed-by: kvn, coleenp ! src/share/vm/classfile/verifier.cpp Changeset: 9b4a6a172a8a Author: amurillo Date: 2013-04-11 01:03 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/9b4a6a172a8a Added tag hs25-b27 for changeset 09b0d3e9ba6c ! .hgtags Changeset: 5dcfeb396fed Author: katleman Date: 2013-04-11 09:39 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/5dcfeb396fed Added tag jdk8-b85 for changeset 42fe530cd478 ! .hgtags Changeset: 511e334ee345 Author: amurillo Date: 2013-04-11 16:35 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/511e334ee345 Merge ! .hgtags - test/runtime/NMT/AllocTestType.java Changeset: e437668ced9d Author: amurillo Date: 2013-04-11 01:14 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/e437668ced9d 8011948: new hotspot build - hs25-b28 Reviewed-by: jcoomes ! make/hotspot_version Changeset: 68fe50d4f1d5 Author: johnc Date: 2013-04-05 10:20 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/68fe50d4f1d5 8011343: Add new flag for verifying the heap during startup Summary: Perform verification during VM startup under control of new flag and within a VMOperation. Reviewed-by: stefank, jmasa, brutisso ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vm_operations.cpp ! src/share/vm/runtime/vm_operations.hpp - test/gc/TestVerifyBeforeGCDuringStartup.java + test/gc/TestVerifyDuringStartup.java Changeset: 8617e38bb4cb Author: jmasa Date: 2013-02-11 10:31 -0800 URL: http://hg.openjdk.java.net/graal/graal/rev/8617e38bb4cb 8008508: CMS does not correctly reduce heap size after a Full GC Reviewed-by: johnc, ysr ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/memory/generation.cpp ! src/share/vm/memory/generation.hpp ! src/share/vm/memory/tenuredGeneration.cpp ! src/share/vm/memory/tenuredGeneration.hpp ! src/share/vm/runtime/vmStructs.cpp Changeset: 83f27710f5f7 Author: brutisso Date: 2013-04-08 07:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/83f27710f5f7 7197666: java -d64 -version core dumps in a box with lots of memory Summary: Allow task queues to be mmapped instead of malloced on Solaris Reviewed-by: coleenp, jmasa, johnc, tschatzl ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/allocation.inline.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/utilities/taskqueue.hpp Changeset: 63f57a8c5283 Author: mgerdin Date: 2013-04-09 15:32 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/63f57a8c5283 8009808: TEST-BUG : test case is using bash style tests. Default shell for jtreg is bourne. thus failure Summary: Rewrite test to use Java only instead of shell script Reviewed-by: mgerdin, brutisso Contributed-by: leonid.mesnik at oracle.com + test/gc/6941923/Test6941923.java - test/gc/6941923/test6941923.sh Changeset: ba42fd5e00e6 Author: mgerdin Date: 2013-04-10 13:27 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ba42fd5e00e6 8010196: NPG: Internal Error: Metaspace allocation lock -- possible deadlock Summary: Refactor the CLD dependency list into a separate class. Use an ObjectLocker to synchronize additions to the CLD dependency list. Reviewed-by: stefank, coleenp ! src/share/vm/classfile/classLoaderData.cpp ! src/share/vm/classfile/classLoaderData.hpp + test/gc/metaspace/G1AddMetaspaceDependency.java Changeset: 7b835924c31c Author: stefank Date: 2013-04-10 14:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7b835924c31c 8011872: Include Bit Map addresses in the hs_err files Reviewed-by: brutisso, jmasa ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp ! src/share/vm/gc_implementation/g1/concurrentMark.cpp ! src/share/vm/gc_implementation/g1/concurrentMark.hpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.hpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp ! src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp ! src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/memory/genCollectedHeap.cpp ! src/share/vm/memory/genCollectedHeap.hpp ! src/share/vm/utilities/bitMap.cpp ! src/share/vm/utilities/bitMap.hpp ! src/share/vm/utilities/vmError.cpp Changeset: 480d934f62a8 Author: mgerdin Date: 2013-04-11 16:35 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/480d934f62a8 Merge ! src/share/vm/runtime/arguments.cpp - test/runtime/NMT/AllocTestType.java Changeset: 705ef39fcaa9 Author: neliasso Date: 2013-04-05 11:09 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/705ef39fcaa9 8006016: Memory leak at hotspot/src/share/vm/adlc/output_c.cpp Reviewed-by: kvn, roland Contributed-by: niclas.adlertz at oracle.com ! src/share/vm/adlc/output_c.cpp ! src/share/vm/adlc/output_h.cpp Changeset: f67065f02409 Author: bharadwaj Date: 2013-04-08 07:40 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f67065f02409 8010913: compiler/6863420 often exceeds timeout Summary: add longer timeout for jtreg, add internal timeout thread to prevent spurious timeouts Reviewed-by: twisti, kvn Contributed-by: drchase ! test/compiler/6863420/Test.java Changeset: b84fd7d73702 Author: iignatyev Date: 2013-04-09 09:54 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b84fd7d73702 8007288: Additional WB API for compiler's testing Reviewed-by: kvn, vlivanov ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/prims/whitebox.cpp ! src/share/vm/runtime/compilationPolicy.cpp ! src/share/vm/runtime/compilationPolicy.hpp ! src/share/vm/utilities/accessFlags.hpp ! src/share/vm/utilities/globalDefinitions.hpp + test/compiler/whitebox/ClearMethodStateTest.java ! test/compiler/whitebox/CompilerWhiteBoxTest.java ! test/compiler/whitebox/DeoptimizeAllTest.java ! test/compiler/whitebox/DeoptimizeMethodTest.java + test/compiler/whitebox/EnqueueMethodForCompilationTest.java ! test/compiler/whitebox/IsMethodCompilableTest.java ! test/compiler/whitebox/MakeMethodNotCompilableTest.java ! test/compiler/whitebox/SetDontInlineMethodTest.java + test/compiler/whitebox/SetForceInlineMethodTest.java ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 84ab5667f290 Author: roland Date: 2013-04-10 09:52 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/84ab5667f290 8011706: specjvm2008 test xml.transform gets array bound exception with c1 Summary: loop invariant code motion may move load before store to the same field Reviewed-by: kvn ! src/share/vm/c1/c1_ValueMap.cpp + test/compiler/8011706/Test8011706.java Changeset: d79859ff6535 Author: kmo Date: 2013-04-11 07:12 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/d79859ff6535 8011952: Missing ResourceMarks in TraceMethodHandles Summary: add missing ResourceMark under TraceMethodHandles in LinkResolver Reviewed-by: dholmes ! src/share/vm/interpreter/linkResolver.cpp Changeset: 9befe2fce567 Author: vlivanov Date: 2013-04-11 09:08 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/9befe2fce567 8011972: Field can be erroneously marked as contended when @Contended annotation isn't present Reviewed-by: kvn, kmo, shade ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/classFileParser.hpp Changeset: b5db9d29062f Author: vlivanov Date: 2013-04-11 11:42 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b5db9d29062f Merge Changeset: 7a5aec879506 Author: bharadwaj Date: 2013-04-11 17:16 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/7a5aec879506 Merge ! src/share/vm/prims/whitebox.cpp ! src/share/vm/utilities/globalDefinitions.hpp ! test/testlibrary/whitebox/sun/hotspot/WhiteBox.java Changeset: 6d88a566d369 Author: amurillo Date: 2013-04-11 21:45 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/6d88a566d369 Merge - test/gc/6941923/test6941923.sh - test/gc/TestVerifyBeforeGCDuringStartup.java Changeset: 5201379fe487 Author: amurillo Date: 2013-04-11 21:45 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/5201379fe487 Added tag hs25-b28 for changeset 6d88a566d369 ! .hgtags Changeset: 89e4d67fdd2a Author: Gilles Duboscq Date: 2013-04-12 14:05 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/89e4d67fdd2a Merge ! .hgtags ! make/hotspot_version ! src/cpu/x86/vm/assembler_x86.cpp ! src/os/bsd/vm/os_bsd.cpp ! src/os/linux/vm/os_linux.cpp ! src/os/solaris/vm/os_solaris.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/classfile/systemDictionary.cpp ! src/share/vm/compiler/compileBroker.cpp ! src/share/vm/compiler/compilerOracle.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp ! src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp ! src/share/vm/gc_interface/collectedHeap.hpp ! src/share/vm/interpreter/interpreterRuntime.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/memory/heap.cpp ! src/share/vm/memory/universe.cpp ! src/share/vm/oops/constantPool.cpp ! src/share/vm/oops/instanceKlass.cpp ! src/share/vm/oops/method.hpp ! src/share/vm/oops/methodData.cpp ! src/share/vm/oops/methodData.hpp ! src/share/vm/prims/jni.cpp ! src/share/vm/runtime/arguments.cpp ! src/share/vm/runtime/compilationPolicy.cpp ! src/share/vm/runtime/compilationPolicy.hpp ! src/share/vm/runtime/globals.hpp ! src/share/vm/runtime/safepoint.cpp ! src/share/vm/runtime/synchronizer.cpp ! src/share/vm/runtime/thread.cpp ! src/share/vm/runtime/vmStructs.cpp ! src/share/vm/runtime/vm_operations.cpp ! src/share/vm/runtime/vm_operations.hpp ! src/share/vm/utilities/debug.cpp ! src/share/vm/utilities/globalDefinitions.hpp ! src/share/vm/utilities/vmError.cpp - test/gc/6941923/test6941923.sh - test/gc/TestVerifyBeforeGCDuringStartup.java - test/runtime/NMT/AllocTestType.java Changeset: 5ab06146e985 Author: Gilles Duboscq Date: 2013-04-12 14:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5ab06146e985 Rename "node()" methods in interfaces to "asNode" Remove erroneous javadoc in CyclicMaterializeStoreNode ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PartialEscapeAnalysisTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/Invoke.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/Access.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AccessNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingAccessNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/PostOrderNodeIterator.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/CyclicMaterializeStoreNode.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeVerificationPhase.java Changeset: c46b5c340660 Author: Gilles Duboscq Date: 2013-04-12 18:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c46b5c340660 Merge ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java - test/gc/6941923/test6941923.sh - test/gc/TestVerifyBeforeGCDuringStartup.java - test/runtime/NMT/AllocTestType.java Changeset: b28c80b6ee58 Author: Gilles Duboscq Date: 2013-04-12 18:42 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b28c80b6ee58 Merge ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PartialEscapeAnalysisTest.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java Changeset: 4720f96a15b7 Author: Doug Simon Date: 2013-04-12 20:32 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4720f96a15b7 fixed minor regression ! src/share/vm/graal/graalCompiler.hpp Changeset: cd22923e7ca7 Author: Doug Simon Date: 2013-04-12 21:35 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cd22923e7ca7 removed unnecessary code ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleInvokeBasicNode.java Changeset: 6194aefabf1a Author: Doug Simon Date: 2013-04-12 21:41 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6194aefabf1a weakened assertion in unsafe.cpp for GRAAL builds such that non-GRAAL builds still work ! src/share/vm/prims/unsafe.cpp Changeset: d538dce8f403 Author: Doug Simon Date: 2013-04-12 21:58 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d538dce8f403 support for non-GRAAL VMs co-existing with GRAAL VMs ! .hgignore ! make/bsd/makefiles/compiler1.make ! make/bsd/makefiles/compiler2.make ! make/bsd/makefiles/tiered.make ! make/linux/makefiles/compiler1.make ! make/linux/makefiles/compiler2.make ! make/linux/makefiles/tiered.make ! make/solaris/makefiles/compiler1.make ! make/solaris/makefiles/compiler2.make ! make/solaris/makefiles/tiered.make ! mx/commands.py Changeset: d4b868ed9cfb Author: Doug Simon Date: 2013-04-12 22:07 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d4b868ed9cfb buildvms command now runs "java -version" for each VM built unless -n option is specified ! mx/commands.py Changeset: a0ab945fb95f Author: Doug Simon Date: 2013-04-12 22:13 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a0ab945fb95f build output during buildvms command is sent to console (instead of log files) if -c option is given ! mx/commands.py Changeset: d766fd8eede0 Author: Doug Simon Date: 2013-04-12 22:34 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d766fd8eede0 VM copy made during initial copy of the JDK is now named 'boot' instead of 'server0' to better reflect that it is the default VM (which may not be 'server') from the boot JDK ! mx/commands.py Changeset: ed81c74f92ff Author: Christian Wimmer Date: 2013-04-12 16:05 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/ed81c74f92ff Cache boolean flags instead of full Annotation objects ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Changeset: d24955427b0b Author: Christian Wimmer Date: 2013-04-12 16:08 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/d24955427b0b Remove MetaUtil.getMirrorOrFail; Add necessary functionality to the Graal API so that all previous usages of java.lang.Class can now use ResolvedJavaType ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/MetaUtil.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaMethod.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedPrimitiveType.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java Changeset: cfe822a31f67 Author: Christian Wimmer Date: 2013-04-12 17:40 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/cfe822a31f67 Use same type check for varargs and non-varargs parameters ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java Changeset: 908cac5f443c Author: Thomas Wuerthinger Date: 2013-04-13 15:05 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/908cac5f443c Change the parameter to the custom canonicalizer to always be of ValueNode type. ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java Changeset: e7541d478e38 Author: Thomas Wuerthinger Date: 2013-04-13 17:55 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e7541d478e38 Added DebugHistory utility and corresponding unit tests. + graal/com.oracle.graal.debug.test/src/com/oracle/graal/debug/test/DebugHistogramTest.java ! graal/com.oracle.graal.debug/src/com/oracle/graal/debug/Debug.java + graal/com.oracle.graal.debug/src/com/oracle/graal/debug/DebugHistogram.java + graal/com.oracle.graal.debug/src/com/oracle/graal/debug/internal/DebugHistogramImpl.java ! mx/projects Changeset: 3495149b9531 Author: Thomas Wuerthinger Date: 2013-04-13 18:07 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3495149b9531 Added support for trimming the name of objects in the histogram and a corresponding test case. ! graal/com.oracle.graal.debug.test/src/com/oracle/graal/debug/test/DebugHistogramTest.java ! graal/com.oracle.graal.debug/src/com/oracle/graal/debug/internal/DebugHistogramImpl.java Changeset: 2cae919cd3af Author: Christos Kotselidis Date: 2013-04-12 23:29 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2cae919cd3af Introduce enumeration for the different write barrier types ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CompareAndSwapNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java Changeset: 0c8ec85fa013 Author: Christos Kotselidis Date: 2013-04-13 00:33 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0c8ec85fa013 Merge ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/BoxingSnippets.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/BoxingSubstitutions.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java ! graal/com.oracle.graal.word/src/com/oracle/graal/word/phases/WordTypeRewriterPhase.java - test/gc/6941923/test6941923.sh - test/gc/TestVerifyBeforeGCDuringStartup.java - test/runtime/NMT/AllocTestType.java Changeset: 368ed6c6a02b Author: Christos Kotselidis Date: 2013-04-13 22:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/368ed6c6a02b Merge From christian.thalinger at oracle.com Sat Apr 13 20:44:40 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Sat, 13 Apr 2013 20:44:40 -0700 Subject: change checkstyle default severity to error Message-ID: <6777693F-3714-4141-9A7E-8AD8E375672D@oracle.com> Could we change the checkstyle default severity to error? It would make it easier to write a Mercurial commit hook. -- Chris diff --git a/graal/com.oracle.graal.graph/.checkstyle_checks.xml b/graal/com.oracle.graal.graph/.checkstyle_checks.xml --- a/graal/com.oracle.graal.graph/.checkstyle_checks.xml +++ b/graal/com.oracle.graal.graph/.checkstyle_checks.xml @@ -9,7 +9,7 @@ Description: none --> - + From thomas.wuerthinger at oracle.com Sun Apr 14 13:39:20 2013 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Sun, 14 Apr 2013 22:39:20 +0200 Subject: change checkstyle default severity to error In-Reply-To: <6777693F-3714-4141-9A7E-8AD8E375672D@oracle.com> References: <6777693F-3714-4141-9A7E-8AD8E375672D@oracle.com> Message-ID: <7ED92AD1-1445-46A8-9139-BC9F4EACC0DC@oracle.com> Absolutely. A push with the change is in the gate. - thomas On Apr 14, 2013, at 5:44 AM, Christian Thalinger wrote: > Could we change the checkstyle default severity to error? It would make it easier to write a Mercurial commit hook. > > -- Chris > > diff --git a/graal/com.oracle.graal.graph/.checkstyle_checks.xml b/graal/com.oracle.graal.graph/.checkstyle_checks.xml > --- a/graal/com.oracle.graal.graph/.checkstyle_checks.xml > +++ b/graal/com.oracle.graal.graph/.checkstyle_checks.xml > @@ -9,7 +9,7 @@ > Description: none > --> > > - > + > > > > From thomas.wuerthinger at oracle.com Sun Apr 14 14:22:23 2013 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Sun, 14 Apr 2013 23:22:23 +0200 Subject: method prologue code generation In-Reply-To: <5DD1503F815BD14889DC81D28643E3A732A1C04C@sausexdag06.amd.com> References: <5DD1503F815BD14889DC81D28643E3A732A1BFDF@sausexdag06.amd.com> <9A91FC3D-CAFC-4A93-8633-D6483B69597F@oracle.com> <5DD1503F815BD14889DC81D28643E3A732A1C04C@sausexdag06.amd.com> Message-ID: <705DE4E1-6BCE-41C0-A44B-557D50FE6E54@oracle.com> The compiler is configured via a RegisterConfig instance. This class has a method getCallingConvention that takes the signature of the called method and the type of the call to determine the configuration. I think some confusion might currently come from the fact that PTX uses the AMD64 register configuration. We will change that such that PTX provides its own configuration. - thomas On Apr 10, 2013, at 6:12 PM, "Venkatachalam, Vasanth" wrote: > Thanks. For future reference, is there a file I can look at to understand what Graal's parameter->register mapping conventions are, atleast for x86? > I notice that when running the same test case multiple times the same registers are chosen, but slight changes to the test case parameters result in different registers and it's not always clear what the pattern is (e.g., param1 = register encoding 0, param2 = register encoding 1, etc.). For some test cases the first param goes into a register with encoding 0 but for others it goes into a register with encoding 6. > > Vasanth > > > > -----Original Message----- > From: Thomas Wuerthinger [mailto:thomas.wuerthinger at oracle.com] > Sent: Wednesday, April 10, 2013 11:00 AM > To: Venkatachalam, Vasanth > Cc: graal-dev at openjdk.java.net > Subject: Re: method prologue code generation > > Vasanth, > > On Apr 10, 2013, at 5:33 PM, "Venkatachalam, Vasanth" wrote: >> I'm looking at PTXBackend.emitCode( ) and it looks like the code for the method prologue is being emitted before the actual code generation takes place in the call to lirGen.lir.emitCode(tasm). In particular, it looks like the registers that are later used in the code generation of the method body are being manually declared here. >> >> Can someone explain the intent for doing things in this order? > I believe this is more a requirement of PTX assembly to declare the kernel parameters before the kernel body. > >> My concern is the following. It looks like the mapping of method parameters/variables to registers only happens in the call to lirGen.lir.emitCode( ), so before this call takes place it seems you wouldn't really know which registers will be used for different parameters/variables. >> >> So how would you know what registers need to be declared in the prologue section, before you generate the code for the body of the method? > The locations used for the parameters are usually part of the calling convention. This contract between the caller and the callee is defined based on the method signature. > >> On the other hand, do you have a way of piping the variable->register mapping information from lirGen.lir.emitCode( ) so that you can retrieve this when you generate the prologue? > It is not necessary to pipe the parameter->register information as it is defined based on the method signature. The variable->register mapping is done automatically by the register allocator. In PTX, you only have to specify how many registers you want to "reserve" for future use. > > Hope this helps, > thomas > From christian.thalinger at oracle.com Sun Apr 14 15:21:57 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Sun, 14 Apr 2013 15:21:57 -0700 Subject: change checkstyle default severity to error In-Reply-To: <7ED92AD1-1445-46A8-9139-BC9F4EACC0DC@oracle.com> References: <6777693F-3714-4141-9A7E-8AD8E375672D@oracle.com> <7ED92AD1-1445-46A8-9139-BC9F4EACC0DC@oracle.com> Message-ID: <8362B074-56D0-4366-998B-C6C0EA87A22F@oracle.com> Thanks. -- Chris On Apr 14, 2013, at 1:39 PM, Thomas Wuerthinger wrote: > Absolutely. A push with the change is in the gate. - thomas > > On Apr 14, 2013, at 5:44 AM, Christian Thalinger wrote: > >> Could we change the checkstyle default severity to error? It would make it easier to write a Mercurial commit hook. >> >> -- Chris >> >> diff --git a/graal/com.oracle.graal.graph/.checkstyle_checks.xml b/graal/com.oracle.graal.graph/.checkstyle_checks.xml >> --- a/graal/com.oracle.graal.graph/.checkstyle_checks.xml >> +++ b/graal/com.oracle.graal.graph/.checkstyle_checks.xml >> @@ -9,7 +9,7 @@ >> Description: none >> --> >> >> - >> + >> >> >> >> > From doug.simon at oracle.com Mon Apr 15 08:46:06 2013 From: doug.simon at oracle.com (Doug Simon) Date: Mon, 15 Apr 2013 17:46:06 +0200 Subject: Default JVM in Graal JDK renamed Message-ID: <2A8243C7-72E0-4803-8126-D71AC0E9A7AC@oracle.com> To better reflect the fact that the default JVM (defined in jvm.cfg) in the JDK used by Graal may not be the server VM, it is now named "original". That is, the following two executions are semantically equivalent: jdk1.7.0*/product/bin/java -version jdk1.7.0*/product/bin/java -original -version To ensure the jvm.cfg file is updated correctly once you pull changeset cbfcb1054619[1], you need to remove the local copies of the JDK. If you are using 1.7, then this will do it: rm -rf jdk1.7.0* -Doug [1] http://hg.openjdk.java.net/graal/graal/rev/cbfcb1054619 From doug.simon at oracle.com Mon Apr 15 08:45:11 2013 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Mon, 15 Apr 2013 15:45:11 +0000 Subject: hg: graal/graal: 13 new changesets Message-ID: <20130415154601.5D916482F5@hg.openjdk.java.net> Changeset: b78686983a75 Author: twisti Date: 2013-04-13 22:59 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b78686983a75 GRAAL-218: add CompileTheWorld functionality Reviewed-by: ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ConstantPool.java + graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/CompileTheWorldTest.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompileTheWorld.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompiler.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java ! src/share/vm/graal/graalCompiler.cpp ! src/share/vm/graal/graalCompilerToVM.cpp ! src/share/vm/runtime/globals.hpp Changeset: 23c96de53386 Author: Thomas Wuerthinger Date: 2013-04-14 22:38 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/23c96de53386 Change severity of checkstyle problems from "warning" to "error". Fixed several System.out.print violations. ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/TypeSystemTest.java ! graal/com.oracle.graal.graph/.checkstyle_checks.xml ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeAnalysisPhase.java Changeset: 616d93ef8ff8 Author: Thomas Wuerthinger Date: 2013-04-14 22:38 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/616d93ef8ff8 Merge. Changeset: 0298d8a0caf5 Author: Christian Haeubl Date: 2013-04-04 11:57 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0298d8a0caf5 added JUnit 4.11 support to ProfilingInfoTest ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ProfilingInfoTest.java Changeset: 6c33b2076d7c Author: Christian Haeubl Date: 2013-04-08 17:48 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6c33b2076d7c minor HotSpot deoptimization cleanups ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp ! src/share/vm/code/codeBlob.hpp Changeset: 58f9750afcab Author: Christian Haeubl Date: 2013-04-15 08:47 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/58f9750afcab ComputeProbabilityPhase bugfix ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ComputeProbabilityPhase.java Changeset: 01958088b87d Author: Christian Haeubl Date: 2013-04-15 08:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/01958088b87d Merge. - graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/IfBoxingEliminationTest.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TestNodeInterface.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TypedNodeIteratorTest.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TypedNodeIteratorTest2.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/ArrayCopyIntrinsificationTest.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/HotSpotMethodSubstitutionTest.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/InstalledCodeExecuteHelperTest.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ArrayWriteBarrier.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/FieldWriteBarrier.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxingMethodPool.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/BoxedVirtualObjectNode.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/BoxingEliminationPhase.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ExpandBoxingNodesPhase.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/IdentifyBoxingPhase.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/PushNodesThroughPi.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/CheckCastTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/CompiledExceptionHandlerTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InstanceOfDynamicTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InstanceOfTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InvokeTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/MethodSubstitutionTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/MonitorTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewArrayTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewInstanceTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewMultiArrayTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/PointerTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/StandardMethodSubstitutionsTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/TypeCheckTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/WordTest.java ! src/cpu/x86/vm/sharedRuntime_x86_64.cpp - test/gc/6941923/test6941923.sh - test/gc/TestVerifyBeforeGCDuringStartup.java - test/runtime/NMT/AllocTestType.java Changeset: 79b098d44d20 Author: Christian Haeubl Date: 2013-04-15 08:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/79b098d44d20 Merge. Changeset: e2dae636732a Author: Doug Simon Date: 2013-04-15 12:55 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e2dae636732a added 'mx buildvars' command to list (some of) the variables that can be passed to 'mx build' with the -D option ! mx/commands.py Changeset: cbfcb1054619 Author: Doug Simon Date: 2013-04-15 14:27 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cbfcb1054619 renamed 'boot' VM to 'original' VM ! mx/commands.py Changeset: 35e31499ae9e Author: Doug Simon Date: 2013-04-15 14:31 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/35e31499ae9e added build of server-nograal VM to the gate ! mx/commands.py Changeset: 0c9c4ae236b2 Author: Doug Simon Date: 2013-04-15 14:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0c9c4ae236b2 refactoring to ensure the path to the JDKs dir is consistent between the _jdk() and clean() command ! mx/commands.py Changeset: 9f361c0f912b Author: Doug Simon Date: 2013-04-15 14:47 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9f361c0f912b added note about mx/env to the output of 'mx buildvars' ! mx/commands.py From christian.thalinger at oracle.com Mon Apr 15 17:03:37 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 15 Apr 2013 17:03:37 -0700 Subject: Annotation / API to mark finalise and / or GC In-Reply-To: References: Message-ID: <700C8444-6AC5-4BAC-AC54-686D2FF1263B@oracle.com> I don't want to be rude but I have to ask: how is this related to the Graal compiler? -- Chris On Apr 14, 2013, at 3:58 AM, Suminda Dharmasena wrote: > Hi, > > In moving towards a more predictable GC I like to suggest that: > make available an interface to finalise and delete and delete without finalise object pausing on the thread that calls the API / specific thread pool or an attached thread / executor / scheduled executor / java GC thread > add an annotation to mark for immediate delete after null assignment or exiting block or last use pausing the last referencing thread or java GC thread > Suminda > -- > Suminda Sirinath Salpitikorala Dharmasena, B.Sc. Comp. & I.S. (Hon.) Lond., P.G.Dip. Ind. Maths. J'Pura, MIEEE, MACM, CEO Sakr??! ? Address: 6G ? 1st Lane ? Pagoda Road ? Nugegoda 10250 ? Sri Lanka. ? Tele: +94-(0)11-5 864614 / 5 875614 / 2 825908 ? Web: http://www.sakrio.com ? > > This email is subjected to the email Terms of Use and Disclaimer: http://www.sakrio.com/email-legal. Please read this first. > -- From thomas.wuerthinger at oracle.com Tue Apr 16 08:13:23 2013 From: thomas.wuerthinger at oracle.com (Thomas Wuerthinger) Date: Tue, 16 Apr 2013 17:13:23 +0200 Subject: PATCH: Parameter ambiguous in SnippetTemplate In-Reply-To: <07A8E780-A6D2-4749-822C-6EA980A5D989@oracle.com> References: <07A8E780-A6D2-4749-822C-6EA980A5D989@oracle.com> Message-ID: <0C79E98E-AC50-406B-AC32-C26ACF4989D9@oracle.com> It is hard to reproduce the issue. Most likely it is because you are using a different JDK version? We could switch to a system without .* imports in order to improve source compatibility. - thomas On Apr 2, 2013, at 11:45 PM, Christian Thalinger wrote: > I know I'm doing stuff different than others but this file didn't compile for me because Parameter was ambiguous. Two ways to fix it: either change the imports or use Snippet.Parameter. > > -- Chris > > diff --git a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java > --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java > +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java > @@ -22,7 +22,8 @@ > */ > package com.oracle.graal.replacements; > > -import java.lang.reflect.*; > +import java.lang.reflect.Array; > +import java.lang.reflect.Modifier; > import java.util.*; > import java.util.Map.Entry; > import java.util.concurrent.*; > From christian.thalinger at oracle.com Tue Apr 16 08:59:20 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 16 Apr 2013 08:59:20 -0700 Subject: PATCH: Parameter ambiguous in SnippetTemplate In-Reply-To: <0C79E98E-AC50-406B-AC32-C26ACF4989D9@oracle.com> References: <07A8E780-A6D2-4749-822C-6EA980A5D989@oracle.com> <0C79E98E-AC50-406B-AC32-C26ACF4989D9@oracle.com> Message-ID: On Apr 16, 2013, at 8:13 AM, Thomas Wuerthinger wrote: > It is hard to reproduce the issue. Doug fixed it last week or so. > Most likely it is because you are using a different JDK version? We could switch to a system without .* imports in order to improve source compatibility. Maybe that would be a good idea. -- Chris > > - thomas > > On Apr 2, 2013, at 11:45 PM, Christian Thalinger wrote: > >> I know I'm doing stuff different than others but this file didn't compile for me because Parameter was ambiguous. Two ways to fix it: either change the imports or use Snippet.Parameter. >> >> -- Chris >> >> diff --git a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java >> --- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java >> +++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java >> @@ -22,7 +22,8 @@ >> */ >> package com.oracle.graal.replacements; >> >> -import java.lang.reflect.*; >> +import java.lang.reflect.Array; >> +import java.lang.reflect.Modifier; >> import java.util.*; >> import java.util.Map.Entry; >> import java.util.concurrent.*; >> > From doug.simon at oracle.com Sat Apr 20 18:00:13 2013 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Sun, 21 Apr 2013 01:00:13 +0000 Subject: hg: graal/graal: 77 new changesets Message-ID: <20130421010405.6C245484B7@hg.openjdk.java.net> Changeset: 3476bda8dd78 Author: Roland Schatz Date: 2013-04-15 16:47 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3476bda8dd78 Make phase suites extensible. + graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/HighTier.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/Suites.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/PhaseSuite.java Changeset: dedfff70763f Author: Roland Schatz Date: 2013-04-15 16:56 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/dedfff70763f Compiler configurations. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java + graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/BasicConfiguration.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java + graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/CompilerConfiguration.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/Suites.java < graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/Suites.java ! make/build-graal.xml ! mx/projects Changeset: 221ef4b022c5 Author: Gilles Duboscq Date: 2013-04-15 19:54 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/221ef4b022c5 Add special case for astore in graph builder to handle jsr retrunAddress Use Debug.log for TraceBytecodeParser ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Changeset: 5f66acd13e41 Author: Bernhard Urban Date: 2013-04-12 11:06 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5f66acd13e41 CompilationResult: record more metrics for DataPatches ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/TargetMethodAssembler.java Changeset: 5b25562f8bd7 Author: Bernhard Urban Date: 2013-04-12 11:06 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5b25562f8bd7 assumptions: simplify hashCode() ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Assumptions.java Changeset: bc26f978b0ce Author: Bernhard Urban Date: 2013-04-15 19:54 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/bc26f978b0ce HotSpotResolvedObjectType: implement hasFinalizeSubclass() correctly don't use the (wrong) cached value, but ask the runtime on each request. Fixes regression on xml.* benchmarks @ specjvm2008. The problem was: After the constructor of Object was deoptimized due to an assumption violation, it was recompiled again after some time. However, on recompilation, the value of hasFinalizeSubclass for the class was not updated and it was compiled again with a, now wrong, assumption, which then triggers deoptimization again. This was repeated until it hit the recompilation limit (defined by PerMethodRecompilationCutoff), and therefore only executed by the interpreter from now on, causing the performance regression. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompiler.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/graal/graalCompiler.cpp ! src/share/vm/graal/graalCompilerToVM.cpp ! src/share/vm/graal/graalVMToCompiler.cpp ! src/share/vm/graal/graalVMToCompiler.hpp Changeset: 5c63e4385115 Author: Bernhard Urban Date: 2013-04-16 11:11 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5c63e4385115 javac: use UTF-8 as encoding explicitly patch by gilles. ! make/build-graal.xml ! mx/commands.py Changeset: 703228415b74 Author: Doug Simon Date: 2013-04-16 11:33 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/703228415b74 more accurate error message when launching a VM that has not yet been built ! mx/commands.py Changeset: d0aab82a6046 Author: Doug Simon Date: 2013-04-16 12:06 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d0aab82a6046 removed unused code in lowering of instanceof in the context of an IfNode ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/InstanceOfSnippetsTemplates.java Changeset: fb73538b57c6 Author: Doug Simon Date: 2013-04-16 12:06 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/fb73538b57c6 Merge. ! mx/commands.py Changeset: b2c5cdd6d8a1 Author: Bernhard Urban Date: 2013-04-16 12:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b2c5cdd6d8a1 TargetMethodAssembler: guard metric processing ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/TargetMethodAssembler.java Changeset: 6b0a5e236eea Author: Roland Schatz Date: 2013-04-16 11:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6b0a5e236eea Allow CustomCanonicalizer in reentrant CanonicalizerPhase. ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java Changeset: e895d8f4a6aa Author: Roland Schatz Date: 2013-04-16 13:21 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e895d8f4a6aa PartialCanonicalizerPhase. + graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/PartialCanonicalizerPhase.java Changeset: da92cfd1ceaf Author: Roland Schatz Date: 2013-04-16 13:21 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/da92cfd1ceaf Make FloatingReadPhase reentrant. ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/FloatingReadPhase.java Changeset: c5fa76a20868 Author: Roland Schatz Date: 2013-04-16 13:21 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c5fa76a20868 Remove unused field. ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ReadEliminationPhase.java Changeset: 2cfdde003076 Author: Roland Schatz Date: 2013-04-16 13:21 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2cfdde003076 Make IterativeConditionalEliminationPhase reentrant. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/IterativeConditionalEliminationPhase.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/IterativeInliningPhase.java Changeset: f5c6a9b0262f Author: Roland Schatz Date: 2013-04-16 13:22 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f5c6a9b0262f MidTier phase suite. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/BasicConfiguration.java + graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/MidTier.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/PhaseSuite.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/CompilerConfiguration.java + graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/MidTierContext.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/Suites.java Changeset: cf3c89ef00f7 Author: Roland Schatz Date: 2013-04-16 13:33 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cf3c89ef00f7 Merge. Changeset: d07cdc67b2bc Author: Michael Haupt Date: 2013-04-16 13:42 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d07cdc67b2bc replace offending character ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Changeset: 0a8d5ca4379c Author: Michael Haupt Date: 2013-04-16 14:05 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0a8d5ca4379c InfopointNode.verify() ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InfopointNode.java Changeset: 5cabfd00241e Author: Michael Haupt Date: 2013-04-16 14:06 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5cabfd00241e merge Changeset: e178e4598f85 Author: Roland Schatz Date: 2013-04-16 15:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e178e4598f85 Remove public fields. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/Suites.java Changeset: 79432a8f1ff8 Author: Roland Schatz Date: 2013-04-16 15:27 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/79432a8f1ff8 Rename PartialCanonicalizerPhase to IncrementalCanonicalizerPhase. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/MidTier.java + graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/IncrementalCanonicalizerPhase.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/PartialCanonicalizerPhase.java Changeset: 025448743177 Author: Roland Schatz Date: 2013-04-16 15:27 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/025448743177 mx: generate services files from provider descriptions ! mxtool/mx.py Changeset: 57f85e39c75f Author: Roland Schatz Date: 2013-04-16 15:27 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/57f85e39c75f Move logic from ServiceProviderProcessor to mx. ! graal/com.oracle.graal.service.processor/src/com/oracle/graal/service/processor/ServiceProviderProcessor.java Changeset: febfb532ed2f Author: Thomas Wuerthinger Date: 2013-04-16 15:00 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/febfb532ed2f Removed several instances of System.out.print. ! graal/com.oracle.graal.hotspot.server/src/com/oracle/graal/hotspot/server/InvocationSocket.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/logging/CountingProxy.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/logging/Logger.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java Changeset: 07f05f2a8149 Author: Thomas Wuerthinger Date: 2013-04-16 16:07 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/07f05f2a8149 Remove methodCallTarget() method from the Invoke interface. ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/NestedLoopTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java ! graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/test/ArrayCopyIntrinsificationTest.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DirectCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IndirectCallTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/Invoke.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoweredCallTargetNode.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationVerificationPhase.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java Changeset: b67a0963fb00 Author: Thomas Wuerthinger Date: 2013-04-16 16:07 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b67a0963fb00 Merge. - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/PartialCanonicalizerPhase.java Changeset: c60f69931e1a Author: amurillo Date: 2013-04-11 21:54 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/c60f69931e1a 8011949: new hotspot build - hs25-b29 Reviewed-by: jcoomes ! make/hotspot_version Changeset: b8b081e53312 Author: twisti Date: 2013-04-12 12:22 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/b8b081e53312 8011933: add number of classes, methods and time spent to CompileTheWorld Reviewed-by: jrose, kvn ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp Changeset: 393fd4ef89c4 Author: twisti Date: 2013-04-12 15:43 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/393fd4ef89c4 8011678: test/Makefile should pick up JT_HOME environment variable Reviewed-by: kvn ! test/Makefile Changeset: f36e073d56a4 Author: drchase Date: 2013-04-12 15:53 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/f36e073d56a4 7104565: trim jprt build targets Summary: remove JPRT debug builds, remove -DDEBUG -DFASTDEBUG and use ASSERT instead in sources Reviewed-by: dholmes, kvn, coleenp ! make/Makefile ! make/bsd/Makefile ! make/bsd/makefiles/buildtree.make ! make/bsd/makefiles/debug.make ! make/bsd/makefiles/defs.make ! make/bsd/makefiles/fastdebug.make - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make ! make/jprt.properties ! make/linux/Makefile ! make/linux/makefiles/buildtree.make ! make/linux/makefiles/debug.make ! make/linux/makefiles/defs.make ! make/linux/makefiles/fastdebug.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make ! make/solaris/Makefile ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/debug.make ! make/solaris/makefiles/defs.make ! make/solaris/makefiles/fastdebug.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make ! make/windows/build.make ! make/windows/makefiles/defs.make ! make/windows/makefiles/vm.make ! make/windows/projectfiles/compiler2/ADLCompiler.dsp ! make/windows/projectfiles/tiered/ADLCompiler.dsp ! src/cpu/sparc/vm/frame_sparc.cpp ! src/os/bsd/dtrace/generateJvmOffsets.cpp ! src/os/solaris/dtrace/generateJvmOffsets.cpp ! src/os/windows/vm/os_windows.cpp ! src/share/tools/hsdis/Makefile ! src/share/vm/classfile/stackMapFrame.hpp ! src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ! src/share/vm/memory/allocation.hpp ! src/share/vm/runtime/vmThread.cpp Changeset: bc63dd2539a4 Author: kvn Date: 2013-04-12 20:37 -0400 URL: http://hg.openjdk.java.net/graal/graal/rev/bc63dd2539a4 Merge ! make/bsd/makefiles/debug.make - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make ! make/linux/makefiles/debug.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make ! make/solaris/makefiles/debug.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make Changeset: 886d1fd67dc3 Author: drchase Date: 2013-04-12 19:14 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/886d1fd67dc3 6443505: Ideal() function for CmpLTMask Summary: Repair wrong code generation, added new matching rule Reviewed-by: kvn, twisti ! src/cpu/sparc/vm/sparc.ad ! src/cpu/x86/vm/x86_32.ad ! src/cpu/x86/vm/x86_64.ad ! src/share/vm/opto/cfgnode.cpp + test/compiler/6443505/Test6443505.java Changeset: bb4a966cc68f Author: roland Date: 2013-04-15 09:42 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/bb4a966cc68f 8011582: assert(nbits == 32 || (-(1 << nbits-1) <= x && x < ( 1 << nbits-1))) failed: value out of range Summary: c1 runtime's predicate_failed_trap should use jump_to on sparc Reviewed-by: kvn ! src/cpu/sparc/vm/c1_Runtime1_sparc.cpp Changeset: acadb114c818 Author: roland Date: 2013-04-15 17:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/acadb114c818 8011648: C1: optimized build is broken after 7153771 Summary: missing #ifdef ASSERT Reviewed-by: kvn ! src/share/vm/c1/c1_Canonicalizer.cpp ! src/share/vm/c1/c1_Canonicalizer.hpp ! src/share/vm/c1/c1_Instruction.hpp ! src/share/vm/c1/c1_InstructionPrinter.cpp ! src/share/vm/c1/c1_InstructionPrinter.hpp ! src/share/vm/c1/c1_LIR.cpp ! src/share/vm/c1/c1_LIR.hpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/c1/c1_LIRGenerator.hpp ! src/share/vm/c1/c1_Optimizer.cpp ! src/share/vm/c1/c1_RangeCheckElimination.hpp ! src/share/vm/c1/c1_ValueMap.hpp Changeset: a38d748d4130 Author: Gilles Duboscq Date: 2013-04-16 14:31 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a38d748d4130 Add support for the 'optimized' build in mx Add some CompileTheWorld benchmarks ! mx/commands.py ! mx/sanitycheck.py Changeset: 9d74a0d7b231 Author: Gilles Duboscq Date: 2013-04-16 17:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9d74a0d7b231 Add settings to use US-ASCII as the default encoding of the projects + mx/eclipse-settings/org.eclipse.core.resources.prefs Changeset: 43223d3f5dcd Author: Gilles Duboscq Date: 2013-04-16 17:39 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/43223d3f5dcd Merge with hsx/hotspot-comp ! make/Makefile ! make/bsd/Makefile ! make/bsd/makefiles/buildtree.make - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make ! make/hotspot_version ! make/linux/Makefile ! make/linux/makefiles/buildtree.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make ! make/solaris/Makefile ! make/solaris/makefiles/buildtree.make ! make/solaris/makefiles/debug.make ! make/solaris/makefiles/fastdebug.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make ! make/windows/build.make ! make/windows/makefiles/vm.make ! mx/commands.py ! src/os/windows/vm/os_windows.cpp ! src/share/vm/c1/c1_LIRGenerator.cpp ! src/share/vm/classfile/classLoader.cpp ! src/share/vm/classfile/classLoader.hpp ! src/share/vm/memory/allocation.hpp Changeset: f2aebc22372a Author: Gilles Duboscq Date: 2013-04-16 17:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f2aebc22372a Fix hotspot optimized build ! src/share/vm/classfile/classFileParser.cpp ! src/share/vm/classfile/vmSymbols.cpp ! src/share/vm/opto/runtime.cpp ! src/share/vm/utilities/quickSort.cpp Changeset: 8d4174140745 Author: Gilles Duboscq Date: 2013-04-16 18:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8d4174140745 Make the native build less verbose unless mx -v is used ! mx/commands.py Changeset: 85b71f453ef5 Author: Gilles Duboscq Date: 2013-04-16 18:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/85b71f453ef5 Merge - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractCallTargetNode.java Changeset: 45b37dcb24de Author: Roland Schatz Date: 2013-04-16 19:01 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/45b37dcb24de Automatically add service providers to build-graal.xml ! make/build-graal.xml ! mx/commands.py Changeset: 380857cb7117 Author: Gilles Duboscq Date: 2013-04-16 19:13 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/380857cb7117 Add the CTW result in to a different value depending on the mode ! mx/sanitycheck.py Changeset: 0735e848762a Author: Bernhard Urban Date: 2013-04-12 16:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0735e848762a hasFinalizer-assumption: add testcase + graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FinalizableSubclassTest.java Changeset: 0f3fe35513a0 Author: Doug Simon Date: 2013-04-16 22:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0f3fe35513a0 renamed build variable used to make a Graal/non-Graal build from OMIT_GRAAL to INCLUDE_GRAAL and ensured it is only used internally ! make/bsd/makefiles/compiler1.make ! make/bsd/makefiles/compiler2.make ! make/bsd/makefiles/tiered.make ! make/bsd/makefiles/vm.make ! make/linux/makefiles/compiler1.make ! make/linux/makefiles/compiler2.make ! make/linux/makefiles/tiered.make ! make/linux/makefiles/vm.make ! make/solaris/makefiles/compiler1.make ! make/solaris/makefiles/compiler2.make ! make/solaris/makefiles/tiered.make ! mx/commands.py Changeset: e49300a46e88 Author: Doug Simon Date: 2013-04-16 22:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e49300a46e88 removed unused and long deprecated 'example' command ! mx/commands.py Changeset: 50161aa21af2 Author: Doug Simon Date: 2013-04-16 22:46 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/50161aa21af2 deleted definition of TEST_IN_BUILD and GRAAL build variables as they are no longer used by the make files ! mx/commands.py Changeset: f0fc8329bf98 Author: Doug Simon Date: 2013-04-16 22:55 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f0fc8329bf98 ensure that the generated build-graal.xml is stable ! make/build-graal.xml ! mx/commands.py Changeset: 1d584a42941f Author: Doug Simon Date: 2013-04-16 23:18 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1d584a42941f added BUILD_GRAAL_JAR build variable to Makefile to control whether or not graal.jar is built by make ! make/Makefile Changeset: ff622b1b2c94 Author: Gilles Duboscq Date: 2013-04-17 10:13 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ff622b1b2c94 fix compile the world bench in mx ! mx/sanitycheck.py Changeset: bc5c5336008b Author: Roland Schatz Date: 2013-04-17 11:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/bc5c5336008b Add gate test to check build-graal.xml is up to date. ! mx/commands.py Changeset: 626bc0fac6d9 Author: Gilles Duboscq Date: 2013-04-17 15:34 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/626bc0fac6d9 Add BootstrapGraal when using compile the work with a graal-enabled vm ! mx/sanitycheck.py Changeset: f6a8efb8d104 Author: Christos Kotselidis Date: 2013-04-17 15:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f6a8efb8d104 Better naming for WriteBarrierType get-functions ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Changeset: 5248c53f9978 Author: Christos Kotselidis Date: 2013-04-17 15:38 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5248c53f9978 Remove redundant checks from WriteBarrierType get-functions ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Changeset: 4b0cb32b0a25 Author: Christos Kotselidis Date: 2013-04-17 15:59 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4b0cb32b0a25 Merge Changeset: 0b7d9bcc0f44 Author: Bernhard Urban Date: 2013-04-17 12:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0b7d9bcc0f44 javac: remove encoding parameter ! make/build-graal.xml ! mx/commands.py Changeset: a653da473eab Author: Bernhard Urban Date: 2013-04-17 12:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a653da473eab hasNoFinalizer-assumption: check if assumption is recorded ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FinalizableSubclassTest.java Changeset: 11516ac4fbda Author: Bernhard Urban Date: 2013-04-17 15:08 +0000 URL: http://hg.openjdk.java.net/graal/graal/rev/11516ac4fbda hasNoFinalizer-assumption: generate class files for testcase ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FinalizableSubclassTest.java Changeset: 4e6df9021a59 Author: Gilles Duboscq Date: 2013-04-17 18:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4e6df9021a59 Assemble the CTW bench in the same value, remove PEA from nocomplex ! mx/sanitycheck.py Changeset: e1f024e02597 Author: Christos Kotselidis Date: 2013-04-17 22:58 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e1f024e02597 Crypto substitutions and VMErrorNode extend DeoptimizingStubCall ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/AESCryptSubstitutions.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CipherBlockChainingSubstitutions.java Changeset: c433aad055b9 Author: Christos Kotselidis Date: 2013-04-17 22:59 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c433aad055b9 Merge Changeset: 34eba4e78a0a Author: Christos Kotselidis Date: 2013-04-18 01:23 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/34eba4e78a0a Attach LocationNode to CompareAndSwapNode ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierAdditionPhase.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CompareAndSwapNode.java Changeset: 642e04f1ea93 Author: Christos Kotselidis Date: 2013-04-18 02:05 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/642e04f1ea93 Add write barrier verification phase ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/WriteBarrierVerificationPhase.java Changeset: 3ec1f3b8974e Author: Christos Kotselidis Date: 2013-04-18 02:06 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3ec1f3b8974e Turn off phase verification by default ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java Changeset: 84c21338d5aa Author: Roland Schatz Date: 2013-04-18 10:23 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/84c21338d5aa Put Replacements object into MidTierContext. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/MidTierContext.java Changeset: cd2600a2336e Author: Roland Schatz Date: 2013-04-18 10:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cd2600a2336e Store snippet templates in Replacements object. + graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/SnippetTemplateCache.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteSubstitutions.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotInstalledCodeIntrinsics.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/Replacements.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/ReplacementsProvider.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/GraalMethodSubstitutions.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Changeset: fb676e23ba51 Author: Roland Schatz Date: 2013-04-18 13:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/fb676e23ba51 Rename BasicConfiguration to BasicCompilerConfiguration. + graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/BasicCompilerConfiguration.java - graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/BasicConfiguration.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/Suites.java ! make/build-graal.xml Changeset: 0331f7512be2 Author: Roland Schatz Date: 2013-04-18 16:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0331f7512be2 CPU capability detection. ! graal/com.oracle.graal.amd64/src/com/oracle/graal/amd64/AMD64.java ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Architecture.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotGraalRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java ! src/share/vm/graal/graalCompilerToVM.cpp Changeset: 50d87c79f831 Author: Roland Schatz Date: 2013-04-19 12:01 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/50d87c79f831 Better names for useSSE and useAVX variables. ! graal/com.oracle.graal.amd64/src/com/oracle/graal/amd64/AMD64.java Changeset: 700f6a63763a Author: Doug Simon Date: 2013-04-19 10:48 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/700f6a63763a removed unused has_debug_info parameter ! src/share/vm/graal/graalCodeInstaller.cpp ! src/share/vm/graal/graalEnv.cpp ! src/share/vm/graal/graalEnv.hpp Changeset: 123991e4fbd8 Author: Doug Simon Date: 2013-04-19 11:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/123991e4fbd8 removed unused CodeInstaller constructor ! src/share/vm/graal/graalCodeInstaller.cpp Changeset: c8f4e1081c0b Author: Doug Simon Date: 2013-04-19 14:05 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c8f4e1081c0b support for referencing commands in other suites (e.g. mx.suite('graal').commands.build([])) ! mx/projects ! mxtool/mx.py Changeset: cdd10396f2ad Author: Doug Simon Date: 2013-04-19 14:06 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cdd10396f2ad Merge. Changeset: 78017d2c8bea Author: Bernhard Urban Date: 2013-04-19 10:09 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/78017d2c8bea InstanceOfNode: remove duplicated code ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java Changeset: 31c1168e1a8e Author: Bernhard Urban Date: 2013-04-19 11:22 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/31c1168e1a8e rename ReadAfterCheckCast -> ReadAfterCheckCastTest - graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ReadAfterCheckCast.java + graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ReadAfterCheckCastTest.java Changeset: 9b455ec15820 Author: Bernhard Urban Date: 2013-04-19 16:41 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9b455ec15820 canonicalizer: eliminate nested checkcasts + graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/EliminateNestedCheckCastsTest.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java From doug.simon at oracle.com Tue Apr 23 13:32:36 2013 From: doug.simon at oracle.com (Doug Simon) Date: Tue, 23 Apr 2013 22:32:36 +0200 Subject: Issues debugging HotSpot with gdb 7.5 Message-ID: <8D446046-B901-405E-87AF-6692E73BF835@oracle.com> At some point, gdb 7.5 on my LinuxMint (Release 14) box stopped being able to evaluate functions while debugging HotSpot. For example, calling the debug functions in debug.cpp would either hang or crash the VM. I now believe this is a bug (feature?) introduced with gdb 7.5. A workaround that has worked for me is to downgrade to gdb 7.4 by adding one of the "precise-updates" mirrors[1] to /etc/apt/sources.list and then: $ sudo apt-get install gdb=7.4* -Doug [1] http://packages.ubuntu.com/precise-updates/amd64/gdb/download From christian.thalinger at oracle.com Tue Apr 23 14:15:26 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Tue, 23 Apr 2013 14:15:26 -0700 Subject: Issues debugging HotSpot with gdb 7.5 In-Reply-To: <8D446046-B901-405E-87AF-6692E73BF835@oracle.com> References: <8D446046-B901-405E-87AF-6692E73BF835@oracle.com> Message-ID: <0FE59482-E684-4A8F-A861-54BE2FACA8B8@oracle.com> Hmm. We had similar problems in the past related to stack alignment. Is the stack pointer sane (16-bytes aligned)? -- Chris On Apr 23, 2013, at 1:32 PM, Doug Simon wrote: > At some point, gdb 7.5 on my LinuxMint (Release 14) box stopped being able to evaluate functions while debugging HotSpot. For example, calling the debug functions in debug.cpp would either hang or crash the VM. I now believe this is a bug (feature?) introduced with gdb 7.5. A workaround that has worked for me is to downgrade to gdb 7.4 by adding one of the "precise-updates" mirrors[1] to /etc/apt/sources.list and then: > > $ sudo apt-get install gdb=7.4* > > -Doug > > [1] http://packages.ubuntu.com/precise-updates/amd64/gdb/download From doug.simon at oracle.com Tue Apr 23 14:23:02 2013 From: doug.simon at oracle.com (Doug Simon) Date: Tue, 23 Apr 2013 23:23:02 +0200 Subject: Issues debugging HotSpot with gdb 7.5 In-Reply-To: <0FE59482-E684-4A8F-A861-54BE2FACA8B8@oracle.com> References: <8D446046-B901-405E-87AF-6692E73BF835@oracle.com> <0FE59482-E684-4A8F-A861-54BE2FACA8B8@oracle.com> Message-ID: <9F359803-53AB-49CE-A3AF-2232597DBBC2@oracle.com> On Apr 23, 2013, at 11:15 PM, Christian Thalinger wrote: > Hmm. We had similar problems in the past related to stack alignment. Is the stack pointer sane (16-bytes aligned)? Pretty sure it is. This happens even when there are only C++ and interpreter frames (i.e., no compiled frames) on the stack. -Doug > > -- Chris > > On Apr 23, 2013, at 1:32 PM, Doug Simon wrote: > >> At some point, gdb 7.5 on my LinuxMint (Release 14) box stopped being able to evaluate functions while debugging HotSpot. For example, calling the debug functions in debug.cpp would either hang or crash the VM. I now believe this is a bug (feature?) introduced with gdb 7.5. A workaround that has worked for me is to downgrade to gdb 7.4 by adding one of the "precise-updates" mirrors[1] to /etc/apt/sources.list and then: >> >> $ sudo apt-get install gdb=7.4* >> >> -Doug >> >> [1] http://packages.ubuntu.com/precise-updates/amd64/gdb/download > From doug.simon at oracle.com Tue Apr 23 14:51:23 2013 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Tue, 23 Apr 2013 21:51:23 +0000 Subject: hg: graal/graal: 79 new changesets Message-ID: <20130423215538.2650B4853D@hg.openjdk.java.net> Changeset: cf470d096a8f Author: Doug Simon Date: 2013-04-21 21:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cf470d096a8f provided Register with a hashCode() implementation ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Register.java Changeset: 2ff3499d408e Author: Doug Simon Date: 2013-04-21 21:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2ff3499d408e enhanced support for sandboxed debug scope such that their debug config can be specified ! graal/com.oracle.graal.debug/src/com/oracle/graal/debug/Debug.java ! graal/com.oracle.graal.debug/src/com/oracle/graal/debug/internal/DebugScope.java ! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/GraphPrinterDumpHandler.java Changeset: 9be78aeab2e1 Author: Doug Simon Date: 2013-04-21 21:41 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9be78aeab2e1 temporaries are recorded for compiled stubs, allowing for better register allocation around calls to such stubs (GRAAL-210) ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotRuntimeCallTarget.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java Changeset: 59db04ec1598 Author: Thomas Wuerthinger Date: 2013-04-17 23:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/59db04ec1598 Change method signature of createInvokeNode method from MethodCallTargetNode to CallTargetNode. ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Changeset: b6629b739a55 Author: Thomas Wuerthinger Date: 2013-04-22 09:54 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b6629b739a55 Merge. - graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ReadAfterCheckCast.java - graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/BasicConfiguration.java Changeset: f78437ffb8d3 Author: Roland Schatz Date: 2013-04-22 10:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f78437ffb8d3 Restructure class hierarchy of LocationNode. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ComputeAddressNode.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Changeset: 589e140a7f1c Author: Roland Schatz Date: 2013-04-22 10:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/589e140a7f1c Allow locations to have long displacements. ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java Changeset: 9adb07d6f07f Author: Roland Schatz Date: 2013-04-22 10:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9adb07d6f07f AddLocationNode + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AddLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LocationNode.java Changeset: c08d340ba2bf Author: Lukas Stadler Date: 2013-04-22 15:38 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c08d340ba2bf remove useless /@formatter:off ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/DeoptimizationReason.java ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/hotpath/HP_idea.java Changeset: 898045a71791 Author: Lukas Stadler Date: 2013-04-22 15:38 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/898045a71791 fix typo in MacroSubstitution and MethodSubstitution ! graal/com.oracle.graal.api.replacements/src/com/oracle/graal/api/replacements/MethodSubstitution.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/MacroSubstitution.java Changeset: 9dfefdee8f3f Author: Christian Humer Date: 2013-04-08 12:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9dfefdee8f3f Fixed getting signature if returnType is null. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/TemplateMethod.java Changeset: 119a20bb3b1d Author: Christian Humer Date: 2013-04-08 16:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/119a20bb3b1d Fixed minor bug in BinaryNodeTest. ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/BinaryNodeTest.java Changeset: 160f088e40db Author: Christian Humer Date: 2013-04-08 16:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/160f088e40db Made handling of compile errors more robust in the truffle annotation parser. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/AbstractParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/Utils.java Changeset: 77c17c97f713 Author: Christian Humer Date: 2013-04-08 17:00 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/77c17c97f713 Fixed verifying specialization argument length must be done before generating specialization ids. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java Changeset: 216dce75d5ac Author: Christian Humer Date: 2013-04-08 17:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/216dce75d5ac Merge. - make/bsd/build.sh - make/linux/build.sh - make/solaris/build.sh - make/test/Queens.java - make/windows/projectfiles/kernel/Makefile - make/windows/projectfiles/kernel/vm.def - make/windows/projectfiles/kernel/vm.dsw - test/runtime/8007736/TestStaticIF.java Changeset: c3ec5230967a Author: Christian Humer Date: 2013-04-08 18:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c3ec5230967a Added default execute methods for Truffle-SL. ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ConditionNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/TypedNode.java Changeset: 9f3bade42fd2 Author: Christian Humer Date: 2013-04-08 18:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9f3bade42fd2 Missed adding CompileErrorException. + graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/CompileErrorException.java Changeset: bd067a48a9c2 Author: Christian Humer Date: 2013-04-08 18:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/bd067a48a9c2 Changed execute method generation strategy. Limited it for primitive execute methods. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/Utils.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/ExecutableTypeData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java Changeset: 8b9ea2f5c36e Author: Christian Humer Date: 2013-04-08 18:28 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8b9ea2f5c36e Removed guards from NodeData. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeData.java Changeset: 61ba6fc21ba4 Author: Christian Humer Date: 2013-04-15 18:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/61ba6fc21ba4 Sourcegen can now generate execute methods of signature execute(frame, evaluatedValue). ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/ast/CodeTreeBuilder.java + graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/ast/CodeTreeVariable.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/ExecutableTypeData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/ExecutableTypeMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/GenericParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeFieldData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/ShortCircuitData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/ShortCircuitParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationListenerParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ActualParameter.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/MethodSpec.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/TemplateMethod.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/TemplateMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/GuardParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/TypeCastParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/TypeCheckParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/TypeData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/TypeSystemMethodParser.java Changeset: 797bb88bf004 Author: Christian Humer Date: 2013-04-16 11:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/797bb88bf004 Fixed evaluated execute generation for short circuit definitions. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java Changeset: 1964871a642d Author: Christian Humer Date: 2013-04-16 11:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1964871a642d Enabled execute evaluated methods in typed node. ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/TypedNode.java Changeset: 97ad6d3e7557 Author: Christian Humer Date: 2013-04-20 12:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/97ad6d3e7557 Codegen API changes. Executed child nodes are now defined using @NodeChildren instead of fields. + graal/com.oracle.truffle.api.codegen/src/com/oracle/truffle/api/codegen/NodeChild.java + graal/com.oracle.truffle.api.codegen/src/com/oracle/truffle/api/codegen/NodeChildren.java ! graal/com.oracle.truffle.api.codegen/src/com/oracle/truffle/api/codegen/NodeClass.java ! graal/com.oracle.truffle.api.codegen/src/com/oracle/truffle/api/codegen/TypeCast.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/TruffleTypes.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/Utils.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/ast/CodeExecutableElement.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/ast/CodeTypeMirror.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/codewriter/AbstractCodeWriter.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/ExecutableTypeMethodParser.java + graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeChildData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeFieldData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/ShortCircuitParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ClassElementFactory.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/MethodSpec.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ParameterSpec.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/TemplateMethodParser.java Changeset: 67bee207f20c Author: Christian Humer Date: 2013-04-20 12:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/67bee207f20c Made import generation more robust. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/codewriter/OrganizedImports.java Changeset: aa9ffb3a715e Author: Christian Humer Date: 2013-04-20 12:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/aa9ffb3a715e Updated Truffle-SL to new codegen API. ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/NodeFactory.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ArithmeticNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/BinaryNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/IfNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/LessThanNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/LogicalAndNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/PrintNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/TernaryNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/WriteLocalNode.java Changeset: 5f7f0d3e3638 Author: Christian Humer Date: 2013-04-20 12:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5f7f0d3e3638 Updated codegen tests to new codegen API. ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/BinaryNodeTest.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/BuiltinTest.java + graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/ExecuteEvaluatedTest.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/GuardsTest.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/TestHelper.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/TypeSystemTest.java Changeset: b69312e4eceb Author: Christian Humer Date: 2013-04-20 12:22 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b69312e4eceb Minor fix for private template types. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java Changeset: 9d29e5aa54d2 Author: Christian Humer Date: 2013-04-20 12:23 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9d29e5aa54d2 Merge. - graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/IfBoxingEliminationTest.java - graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ReadAfterCheckCast.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TestNodeInterface.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TypedNodeIteratorTest.java - graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/TypedNodeIteratorTest2.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/ArrayCopyIntrinsificationTest.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/HotSpotMethodSubstitutionTest.java - graal/com.oracle.graal.hotspot.test/src/com/oracle/graal/hotspot/InstalledCodeExecuteHelperTest.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ArrayWriteBarrier.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/FieldWriteBarrier.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/AbstractCallTargetNode.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxingMethodPool.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/BoxedVirtualObjectNode.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/BoxingEliminationPhase.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ExpandBoxingNodesPhase.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/IdentifyBoxingPhase.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/PushNodesThroughPi.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/CheckCastTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/CompiledExceptionHandlerTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InstanceOfDynamicTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InstanceOfTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/InvokeTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/MethodSubstitutionTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/MonitorTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewArrayTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewInstanceTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/NewMultiArrayTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/PointerTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/StandardMethodSubstitutionsTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/TypeCheckTest.java - graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/WordTest.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/ast/CodeExecutableElement.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/ast/CodeTypeMirror.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java - make/bsd/makefiles/jvmg.make - make/bsd/makefiles/profiled.make - make/linux/makefiles/jvmg.make - make/linux/makefiles/profiled.make - make/solaris/makefiles/jvmg.make - make/solaris/makefiles/profiled.make - test/gc/6941923/test6941923.sh - test/gc/TestVerifyBeforeGCDuringStartup.java - test/runtime/NMT/AllocTestType.java Changeset: e27f125147d6 Author: Christian Humer Date: 2013-04-20 12:45 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e27f125147d6 Fixed deprecated static imports to junit. ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/BinaryNodeTest.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/BuiltinTest.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/GuardsTest.java Changeset: 6d92fdf1c999 Author: Christian Humer Date: 2013-04-22 12:52 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6d92fdf1c999 Fixes several minor issues. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/ProcessorContext.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/Utils.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeChildData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ClassElementFactory.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/TemplateMethod.java Changeset: bc82cde765b9 Author: Christian Humer Date: 2013-04-22 16:39 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/bc82cde765b9 Disabled access using the getter in the generated code to avoid frame escapes in PE. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java Changeset: 76a6e7907b67 Author: Christian Humer Date: 2013-04-22 16:39 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/76a6e7907b67 Minor cleanup. ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/BinaryNodeTest.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/ExecuteEvaluatedTest.java Changeset: 7e3c7d55d538 Author: Christian Humer Date: 2013-04-22 16:40 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7e3c7d55d538 Merge. Changeset: ee3a9188c65e Author: Christian Humer Date: 2013-04-22 17:09 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ee3a9188c65e Checkstyle fixes. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java Changeset: bb2447c64055 Author: Doug Simon Date: 2013-04-22 17:59 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/bb2447c64055 strings used in compiled stubs are lowered to malloc'ed C strings so that there are no embedded oops (for the strings) in the resulting installed code ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java ! src/cpu/x86/vm/graalRuntime_x86.cpp ! src/share/vm/graal/graalCompilerToVM.cpp ! src/share/vm/graal/graalRuntime.cpp ! src/share/vm/graal/graalRuntime.hpp Changeset: 374ece5ff845 Author: Roland Schatz Date: 2013-04-22 18:57 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/374ece5ff845 Make LocationNodes usable in Snippets. ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AddLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/type/GenericStamp.java Changeset: b9cf7d0b598e Author: Christian Haeubl Date: 2013-04-22 13:29 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b9cf7d0b598e removal of FixedNode.probability (draft) ! graal/com.oracle.graal.alloc/src/com/oracle/graal/alloc/ComputeBlockOrder.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/BoxingEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/EscapeAnalysisTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/IterativeInliningTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PEAReadEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PartialEscapeAnalysisTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/inlining/InliningTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragment.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragmentInside.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopPolicies.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopsData.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/phases/LoopTransformHighPhase.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/Invoke.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StructuredGraph.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/Block.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/ControlFlowGraph.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/NodeProbabilities.java + graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ComputeInliningRelevanceClosure.java + graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ComputeProbabilityClosure.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ComputeProbabilityPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java ! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinterObserver.java ! graal/com.oracle.graal.replacements.test/src/com/oracle/graal/replacements/test/MethodSubstitutionTest.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/BlockState.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/GraphEffectList.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeAnalysisPhase.java Changeset: 8a339b567533 Author: Christian Haeubl Date: 2013-04-22 15:35 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8a339b567533 fixed frame omission on windows ! graal/com.oracle.graal.hotspot.amd64.test/src/com/oracle/graal/hotspot/amd64/test/AMD64HotSpotFrameOmissionTest.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java Changeset: ec607ddaa99b Author: Christian Haeubl Date: 2013-04-22 15:56 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ec607ddaa99b windows-specific mx fix for executing unit tests selectively ! mx/commands.py Changeset: 5fbee58dba33 Author: Christian Haeubl Date: 2013-04-22 17:06 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5fbee58dba33 fixed ldiv underflow handling on windows ! src/os/windows/vm/os_windows.cpp Changeset: 8f01fe16e473 Author: Christian Haeubl Date: 2013-04-22 17:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8f01fe16e473 refactorings and cleanups for the removal of FixedNode.probability ! graal/com.oracle.graal.alloc/src/com/oracle/graal/alloc/ComputeBlockOrder.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PartialEscapeAnalysisTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopPolicies.java ! graal/com.oracle.graal.loop/src/com/oracle/graal/loop/phases/LoopTransformHighPhase.java - graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/NodeProbabilities.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/NodesToDoubles.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ComputeInliningRelevanceClosure.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ComputeProbabilityClosure.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/OptimisticOptimizations.java + graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/ComputeInliningRelevanceClosure.java + graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/ComputeProbabilityClosure.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/PartialEscapeAnalysisPhase.java Changeset: 6aea59f0965c Author: Christian Haeubl Date: 2013-04-23 08:44 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6aea59f0965c Merge. Changeset: f453894e72ea Author: Christos Kotselidis Date: 2013-04-23 09:40 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f453894e72ea Add WriteBarrier addition test + graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/WriteBarrierAdditionTest.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SerialWriteBarrier.java Changeset: 3370b7abcc6e Author: Christos Kotselidis Date: 2013-04-23 09:41 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3370b7abcc6e Merge - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ComputeProbabilityPhase.java Changeset: 8e7dc0023b04 Author: Roland Schatz Date: 2013-04-23 10:29 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8e7dc0023b04 Rename generateLea to generateAddress. ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AddLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ComputeAddressNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LocationNode.java Changeset: 136cc8fd8890 Author: Thomas Wuerthinger Date: 2013-04-23 11:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/136cc8fd8890 Modified build-graal.xml ! make/build-graal.xml Changeset: 8f540423a5be Author: Thomas Wuerthinger Date: 2013-04-23 11:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8f540423a5be Added two new classes to the Truffle API: CompilerDirectives and CompilerAsserts. + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerAsserts.java + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java Changeset: 94df73308c7a Author: Thomas Wuerthinger Date: 2013-04-23 11:21 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/94df73308c7a Merge. - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ComputeProbabilityPhase.java Changeset: ba3dfa9e36d8 Author: Thomas Wuerthinger Date: 2013-04-23 11:29 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ba3dfa9e36d8 Modified build-graal.xml ! make/build-graal.xml Changeset: 27c75e4016db Author: Doug Simon Date: 2013-04-23 14:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/27c75e4016db clarified code for emitting LIR code to save RBP ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/StandardOp.java Changeset: e49ea51a3395 Author: Christos Kotselidis Date: 2013-04-23 14:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e49ea51a3395 Small changes to WriteBarrierAddition test ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/WriteBarrierAdditionTest.java Changeset: 3f6769475741 Author: Christos Kotselidis Date: 2013-04-23 14:51 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3f6769475741 Merge Changeset: dd596345f28a Author: Christos Kotselidis Date: 2013-04-23 14:56 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/dd596345f28a Merge Changeset: 435bb9425124 Author: Lukas Stadler Date: 2013-04-23 15:19 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/435bb9425124 added enum to Lowerable interface (before/after guard lowering) ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FloatingReadTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MemoryScheduleTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/PushNodesThroughPiTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ReadAfterCheckCastTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/WriteBarrierAdditionTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotInstalledCodeExecuteNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/InitializeArrayNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/InitializeObjectNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TLABAllocateNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPost.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/WriteBarrierPre.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteTargetNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SerialArrayRangeWriteBarrier.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SerialWriteBarrier.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConvertNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerDivNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerRemNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedDivNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRemNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadHubNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessFieldNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AccessIndexedNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ArrayLengthNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CompareAndSwapNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ExceptionObjectNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadExceptionObjectNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorEnterNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorExitNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewInstanceNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewMultiArrayNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/Lowerable.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/CyclicMaterializeStoreNode.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/MaterializeObjectNode.java Changeset: c4561d60fd9a Author: Lukas Stadler Date: 2013-04-23 15:21 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c4561d60fd9a add grouping to dynamic counters ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/SurvivingCounterNode.java ! graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/GraphEffectList.java Changeset: 931bd99780a7 Author: Lukas Stadler Date: 2013-04-23 15:32 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/931bd99780a7 Merge ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/WriteBarrierAdditionTest.java Changeset: 4497235516df Author: Thomas Wuerthinger Date: 2013-04-23 14:59 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4497235516df New API for representing Source objects and SourceSection objects. SourceSection objects can be associated with Truffle interpreter nodes. + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/Source.java + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/SourceSection.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java Changeset: cdf10fb20022 Author: Thomas Wuerthinger Date: 2013-04-23 15:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cdf10fb20022 Remove Node.replaceChild method from the public API. Node.replace remains as the only method in the API to modify the AST. ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java Changeset: 9640bb930327 Author: Thomas Wuerthinger Date: 2013-04-23 15:07 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9640bb930327 Preserve the source section during node rewrites. ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java Changeset: 542712a4732a Author: Thomas Wuerthinger Date: 2013-04-23 15:08 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/542712a4732a Merge. Changeset: 07f8d136a05e Author: Thomas Wuerthinger Date: 2013-04-23 15:34 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/07f8d136a05e Truffle API changes for the Frame API. Introduction of Assumptions class. ! graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/FrameSlotTypeSpecializationTest.java ! graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/FrameTest.java ! graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/ReturnTypeSpecializationTest.java + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/Assumption.java + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/LoopCountReceiver.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/TruffleRuntime.java - graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/DefaultTypeConversion.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/Frame.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameDescriptor.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameSlot.java + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameSlotImpl.java + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameSlotTypeException.java - graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameSlotTypeListener.java + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameTypeConversion.java + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameUtil.java - graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameVersion.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/MaterializedFrame.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/NativeFrame.java - graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/TypeConversion.java + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/AbstractAssumption.java + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultAssumption.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultCallTarget.java + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultFrameTypeConversion.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultMaterializedFrame.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultTruffleRuntime.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultVirtualFrame.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/intrinsics/TruffleIntrinsics.java + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/InvalidAssumptionException.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/RootNode.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/SlowPathException.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/UnexpectedResultException.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/TruffleTypes.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/TypeSystemCodeGenerator.java ! graal/com.oracle.truffle.sl.test/src/com/oracle/truffle/sl/test/AbstractTest.java ! graal/com.oracle.truffle.sl.test/src/com/oracle/truffle/sl/test/AddTest.java ! graal/com.oracle.truffle.sl.test/src/com/oracle/truffle/sl/test/ComparisonTest.java ! graal/com.oracle.truffle.sl.test/src/com/oracle/truffle/sl/test/DivTest.java ! graal/com.oracle.truffle.sl.test/src/com/oracle/truffle/sl/test/LoopPrintTest.java ! graal/com.oracle.truffle.sl.test/src/com/oracle/truffle/sl/test/LoopTest.java ! graal/com.oracle.truffle.sl.test/src/com/oracle/truffle/sl/test/MulTest.java ! graal/com.oracle.truffle.sl.test/src/com/oracle/truffle/sl/test/SubTest.java ! graal/com.oracle.truffle.sl.test/src/com/oracle/truffle/sl/test/SumTest.java ! graal/com.oracle.truffle.sl.test/src/com/oracle/truffle/sl/test/TernaryTest.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/NodeFactory.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/FrameSlotNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ReadLocalNode.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/WriteLocalNode.java Changeset: 324dcaedb1ed Author: Thomas Wuerthinger Date: 2013-04-23 15:44 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/324dcaedb1ed Added a method isValid to the Assumption class. Added javadoc to the Assumption class. ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/Assumption.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultAssumption.java Changeset: 5a43592b5112 Author: Thomas Wuerthinger Date: 2013-04-23 15:44 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5a43592b5112 Merge. Changeset: 4015295cc5f5 Author: Thomas Wuerthinger Date: 2013-04-23 16:19 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4015295cc5f5 Merge. Changeset: 0f4ae7bbe062 Author: Doug Simon Date: 2013-04-23 16:55 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0f4ae7bbe062 fixed bug in handling of -V mx option ! mxtool/mx.py Changeset: 0ee7c7afdd20 Author: Doug Simon Date: 2013-04-23 16:56 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0ee7c7afdd20 fixed possible NPE in LIRFrameState.toString() ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRFrameState.java Changeset: 3df022b2eebe Author: Roland Schatz Date: 2013-04-23 17:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3df022b2eebe LowTier phase suite. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/BasicCompilerConfiguration.java + graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LowTier.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/CompilerConfiguration.java + graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/LowTierContext.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/Suites.java Changeset: bff0abdbc8b6 Author: Roland Schatz Date: 2013-04-23 17:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/bff0abdbc8b6 Restructure phase context hierarchy. ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/BoxingEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/EscapeAnalysisTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/IterativeInliningTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PEAReadEliminationTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ea/PartialEscapeAnalysisTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/HighTierContext.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/LowTierContext.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/MidTierContext.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/tiers/PhaseContext.java Changeset: 223e01540fe8 Author: Roland Schatz Date: 2013-04-23 17:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/223e01540fe8 Remove TargetDescription from LoweringTool. ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FloatingReadTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MemoryScheduleTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/PushNodesThroughPiTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ReadAfterCheckCastTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/WriteBarrierAdditionTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LoweringTool.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java Changeset: 950a385e059b Author: Roland Schatz Date: 2013-04-23 17:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/950a385e059b Make LoweringPhase reentrant. ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/FloatingReadTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/MemoryScheduleTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/PushNodesThroughPiTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ReadAfterCheckCastTest.java ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/WriteBarrierAdditionTest.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java Changeset: 2d80e5f17bf8 Author: Roland Schatz Date: 2013-04-23 17:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2d80e5f17bf8 Make GuardLoweringPhase reentrant. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Changeset: 71ebe4030676 Author: Roland Schatz Date: 2013-04-23 17:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/71ebe4030676 Make DeadCodeEliminationPhase reentrant. ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DeadCodeEliminationPhase.java Changeset: 4acb1c45040f Author: Roland Schatz Date: 2013-04-23 17:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4acb1c45040f Remove unused MID_LEVEL position from PhasePlan. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/PhasePlan.java Changeset: 7409a84b6001 Author: Roland Schatz Date: 2013-04-23 17:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7409a84b6001 Move more phases into tiers. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/GraalCompiler.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/HighTier.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/LowTier.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/MidTier.java Changeset: fe5bc02fcd19 Author: Thomas Wuerthinger Date: 2013-04-23 20:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/fe5bc02fcd19 Replace TruffleIntrinsics.deoptimize() calls with CompilerDirectives.transferToInterpreter(). Remove obsolete TruffleIntrinsics class. - graal/com.oracle.truffle.api/src/com/oracle/truffle/api/intrinsics/TruffleIntrinsics.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/TruffleTypes.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java Changeset: d27550f2f80f Author: Thomas Wuerthinger Date: 2013-04-23 20:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d27550f2f80f Move ExactMath from truffle.api.intrinsics to truffle.api package. + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/ExactMath.java - graal/com.oracle.truffle.api/src/com/oracle/truffle/api/intrinsics/ExactMath.java Changeset: 90c3837d6a1c Author: Thomas Wuerthinger Date: 2013-04-23 20:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/90c3837d6a1c Merge. Changeset: 76afb8f4c930 Author: Thomas Wuerthinger Date: 2013-04-23 20:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/76afb8f4c930 Fix imports. ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/ArithmeticNode.java Changeset: a9cfbe03d9c4 Author: Lukas Stadler Date: 2013-04-23 21:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a9cfbe03d9c4 don't pushThroughPi if nullness before/after pi differs ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java From lpxz at ust.hk Wed Apr 24 13:46:44 2013 From: lpxz at ust.hk (lpxz) Date: Thu, 25 Apr 2013 04:46:44 +0800 Subject: help on understanding the code Message-ID: <517844B4.3000405@ust.hk> Dear all, I start to learn graal recently, as I found few documents publicly available, I send my questions here. As for the CFG attached, i am curious about the following questions. 1) why the node "If" is often after a node "%", what functionality does the node "%" achieve? 2) what is the node "unsafeload"used for, why is it always immediately after the startnode? 3) How is the framestate used? I see the nodes "begin" and "endnode" in the CFG, does each pair delimit one framestate? Thanks a lot for your help. Regards Peng From christian.thalinger at oracle.com Wed Apr 24 21:08:57 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Wed, 24 Apr 2013 21:08:57 -0700 Subject: RFR (M): GRAAL-246: intrinsify Reflection.getCallerClass Message-ID: <0106E2E8-DCDD-44F6-9145-D49AB846EED2@oracle.com> [Now that the CallerSensitive changes have arrived in the jdk8 repository I finally had to time to finish this up.] http://cr.openjdk.java.net/~twisti/GRAAL-246 GRAAL-246: intrinsify Reflection.getCallerClass graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionSubstitutions.java graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java src/share/vm/graal/graalCompilerToVM.cpp src/share/vm/graal/graalJavaAccess.hpp From doug.simon at oracle.com Thu Apr 25 02:34:26 2013 From: doug.simon at oracle.com (Doug Simon) Date: Thu, 25 Apr 2013 11:34:26 +0200 Subject: RFR (M): GRAAL-246: intrinsify Reflection.getCallerClass In-Reply-To: <0106E2E8-DCDD-44F6-9145-D49AB846EED2@oracle.com> References: <0106E2E8-DCDD-44F6-9145-D49AB846EED2@oracle.com> Message-ID: <52E9BD4B-8AD4-40A6-92F4-93D2466D4E99@oracle.com> You should also make ReflectionGetCallerClassNode implement Canonicalizable so that the 'constantification' can happen earlier. On Apr 25, 2013, at 6:08 AM, Christian Thalinger wrote: > [Now that the CallerSensitive changes have arrived in the jdk8 repository I finally had to time to finish this up.] > > http://cr.openjdk.java.net/~twisti/GRAAL-246 > > GRAAL-246: intrinsify Reflection.getCallerClass > > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java > graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionSubstitutions.java > graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java > src/share/vm/graal/graalCompilerToVM.cpp > src/share/vm/graal/graalJavaAccess.hpp > From christian.thalinger at oracle.com Thu Apr 25 09:35:07 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 25 Apr 2013 09:35:07 -0700 Subject: RFR (M): GRAAL-246: intrinsify Reflection.getCallerClass In-Reply-To: <52E9BD4B-8AD4-40A6-92F4-93D2466D4E99@oracle.com> References: <0106E2E8-DCDD-44F6-9145-D49AB846EED2@oracle.com> <52E9BD4B-8AD4-40A6-92F4-93D2466D4E99@oracle.com> Message-ID: <40EB8F80-3564-4243-A4FE-7F3B02229D0F@oracle.com> On Apr 25, 2013, at 2:34 AM, Doug Simon wrote: > You should also make ReflectionGetCallerClassNode implement Canonicalizable so that the 'constantification' can happen earlier. Indeed. And it works too :-) Is the lowering version actually used then? Here the updated webrev: http://cr.openjdk.java.net/~twisti/GRAAL-246 -- Chris > > On Apr 25, 2013, at 6:08 AM, Christian Thalinger wrote: > >> [Now that the CallerSensitive changes have arrived in the jdk8 repository I finally had to time to finish this up.] >> >> http://cr.openjdk.java.net/~twisti/GRAAL-246 >> >> GRAAL-246: intrinsify Reflection.getCallerClass >> >> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java >> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java >> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java >> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionSubstitutions.java >> graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java >> src/share/vm/graal/graalCompilerToVM.cpp >> src/share/vm/graal/graalJavaAccess.hpp >> > From christian.thalinger at oracle.com Thu Apr 25 09:46:11 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Thu, 25 Apr 2013 09:46:11 -0700 Subject: RFR (M): GRAAL-246: intrinsify Reflection.getCallerClass In-Reply-To: <517908A5.5050200@gmx.at> References: <0106E2E8-DCDD-44F6-9145-D49AB846EED2@oracle.com> <517908A5.5050200@gmx.at> Message-ID: [Resending because of missing CC.] On Apr 25, 2013, at 3:42 AM, Andreas Woess wrote: > In ReflectionGetCallerClassNode.getCallerClassNode(), case 0 is dead > code (n starts at 1). That's on purpose. There are two (and now three) copies of this security sensitive code in HotSpot: 1) JVM_GetCallerClass 2) LibraryCallKit::inline_native_Reflection_getCallerClass 3) ReflectionGetCallerClassNode.getCallerClassNode When I reworked this code I tried to make the code as similar as possible to avoid future bugs. There is a comment before the loop: 67 // NOTE: Start the loop at depth 1 because the current frame state does 68 // not include the Reflection.getCallerClass() frame. and the exception which is really a should not reach here: 73 throw GraalInternalError.shouldNotReachHere("current frame state does not include the Reflection.getCallerClass frame"); I would like to keep it this way. -- Chris > > - andreas > > On 25.04.2013 06:08, Christian Thalinger wrote: >> [Now that the CallerSensitive changes have arrived in the jdk8 repository I finally had to time to finish this up.] >> >> http://cr.openjdk.java.net/~twisti/GRAAL-246 >> >> GRAAL-246: intrinsify Reflection.getCallerClass >> >> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java >> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java >> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java >> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionSubstitutions.java >> graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java >> src/share/vm/graal/graalCompilerToVM.cpp >> src/share/vm/graal/graalJavaAccess.hpp >> > From Eric.Caspole at amd.com Fri Apr 26 06:52:39 2013 From: Eric.Caspole at amd.com (Caspole, Eric) Date: Fri, 26 Apr 2013 13:52:39 +0000 Subject: Small change to build Graal with Lambda repo Message-ID: Hi everybody, I have been experimenting to build Graal against the jdk 8 lambda tip repo. It seems the args for sun.reflect.Reflection.getCallerClass() changed between JDK 7 and 8. This one line change allows the build to succeed and I can use this JDK 8 Graal build in NetBeans to run the Junits. http://cr.openjdk.java.net/~ecaspole/reflection_args_for_lambda_jdk/webrev.00/ I am not sure there is a JDK 8 branch for Graal, can this be integrated without breaking JDK 7? Thanks, Eric From doug.simon at oracle.com Fri Apr 26 07:26:33 2013 From: doug.simon at oracle.com (Doug Simon) Date: Fri, 26 Apr 2013 16:26:33 +0200 Subject: Small change to build Graal with Lambda repo In-Reply-To: References: Message-ID: <579844FA-B5B1-478B-BC59-FE3803BDFDA4@oracle.com> On Apr 26, 2013, at 3:52 PM, "Caspole, Eric" wrote: > Hi everybody, > I have been experimenting to build Graal against the jdk 8 lambda tip repo. It seems the args for sun.reflect.Reflection.getCallerClass() changed between JDK 7 and 8. > > This one line change allows the build to succeed and I can use this JDK 8 Graal build in NetBeans to run the Junits. > http://cr.openjdk.java.net/~ecaspole/reflection_args_for_lambda_jdk/webrev.00/ > > I am not sure there is a JDK 8 branch for Graal, can this be integrated without breaking JDK 7? I don't think so. However, if this is the only thing preventing one using the latest JDK 8, I vote we just delete the test. The alternative is to use a bunch of reflection to make the right call based on the underlying JDK which kind of defeats the intention of the JTT tests which should only stress a limited number of features. -Doug From eric.caspole at amd.com Fri Apr 26 10:03:08 2013 From: eric.caspole at amd.com (Eric Caspole) Date: Fri, 26 Apr 2013 13:03:08 -0400 Subject: Small change to build Graal with Lambda repo In-Reply-To: <579844FA-B5B1-478B-BC59-FE3803BDFDA4@oracle.com> References: <579844FA-B5B1-478B-BC59-FE3803BDFDA4@oracle.com> Message-ID: <517AB34C.6040803@amd.com> Thanks Doug, OK, I removed that file in this one: http://cr.openjdk.java.net/~ecaspole/reflection_args_for_lambda_jdk/webrev.01/ Regards, Eric On 04/26/2013 10:26 AM, Doug Simon wrote: > > On Apr 26, 2013, at 3:52 PM, "Caspole, Eric" wrote: > >> Hi everybody, >> I have been experimenting to build Graal against the jdk 8 lambda tip repo. It seems the args for sun.reflect.Reflection.getCallerClass() changed between JDK 7 and 8. >> >> This one line change allows the build to succeed and I can use this JDK 8 Graal build in NetBeans to run the Junits. >> http://cr.openjdk.java.net/~ecaspole/reflection_args_for_lambda_jdk/webrev.00/ >> >> I am not sure there is a JDK 8 branch for Graal, can this be integrated without breaking JDK 7? > > I don't think so. However, if this is the only thing preventing one using the latest JDK 8, I vote we just delete the test. The alternative is to use a bunch of reflection to make the right call based on the underlying JDK which kind of defeats the intention of the JTT tests which should only stress a limited number of features. > > -Doug > From christian.thalinger at oracle.com Fri Apr 26 12:10:44 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 26 Apr 2013 12:10:44 -0700 Subject: Small change to build Graal with Lambda repo In-Reply-To: <579844FA-B5B1-478B-BC59-FE3803BDFDA4@oracle.com> References: <579844FA-B5B1-478B-BC59-FE3803BDFDA4@oracle.com> Message-ID: <1991A1EE-B4BC-40EA-943D-050FCDB806C2@oracle.com> On Apr 26, 2013, at 7:26 AM, Doug Simon wrote: > > On Apr 26, 2013, at 3:52 PM, "Caspole, Eric" wrote: > >> Hi everybody, >> I have been experimenting to build Graal against the jdk 8 lambda tip repo. It seems the args for sun.reflect.Reflection.getCallerClass() changed between JDK 7 and 8. >> >> This one line change allows the build to succeed and I can use this JDK 8 Graal build in NetBeans to run the Junits. >> http://cr.openjdk.java.net/~ecaspole/reflection_args_for_lambda_jdk/webrev.00/ >> >> I am not sure there is a JDK 8 branch for Graal, can this be integrated without breaking JDK 7? > > I don't think so. However, if this is the only thing preventing one using the latest JDK 8, I vote we just delete the test. Yes, we should remove the test because it's an internal API that can be changed any time. For that exact same reason I didn't add a test for: GRAAL-246: intrinsify Reflection.getCallerClass -- Chris > The alternative is to use a bunch of reflection to make the right call based on the underlying JDK which kind of defeats the intention of the JTT tests which should only stress a limited number of features. > > -Doug From doug.simon at oracle.com Fri Apr 26 12:12:59 2013 From: doug.simon at oracle.com (Doug Simon) Date: Fri, 26 Apr 2013 21:12:59 +0200 Subject: Small change to build Graal with Lambda repo In-Reply-To: <1991A1EE-B4BC-40EA-943D-050FCDB806C2@oracle.com> References: <579844FA-B5B1-478B-BC59-FE3803BDFDA4@oracle.com> <1991A1EE-B4BC-40EA-943D-050FCDB806C2@oracle.com> Message-ID: I've applied the patch and pushed it to the internal repository. I'll propagate it to the OpenJDK repo now. On Apr 26, 2013, at 9:10 PM, Christian Thalinger wrote: > > On Apr 26, 2013, at 7:26 AM, Doug Simon wrote: > >> >> On Apr 26, 2013, at 3:52 PM, "Caspole, Eric" wrote: >> >>> Hi everybody, >>> I have been experimenting to build Graal against the jdk 8 lambda tip repo. It seems the args for sun.reflect.Reflection.getCallerClass() changed between JDK 7 and 8. >>> >>> This one line change allows the build to succeed and I can use this JDK 8 Graal build in NetBeans to run the Junits. >>> http://cr.openjdk.java.net/~ecaspole/reflection_args_for_lambda_jdk/webrev.00/ >>> >>> I am not sure there is a JDK 8 branch for Graal, can this be integrated without breaking JDK 7? >> >> I don't think so. However, if this is the only thing preventing one using the latest JDK 8, I vote we just delete the test. > > Yes, we should remove the test because it's an internal API that can be changed any time. For that exact same reason I didn't add a test for: > > GRAAL-246: intrinsify Reflection.getCallerClass > > -- Chris > >> The alternative is to use a bunch of reflection to make the right call based on the underlying JDK which kind of defeats the intention of the JTT tests which should only stress a limited number of features. >> >> -Doug > From doug.simon at oracle.com Fri Apr 26 12:14:15 2013 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Fri, 26 Apr 2013 19:14:15 +0000 Subject: hg: graal/graal: 59 new changesets Message-ID: <20130426191721.EA85E48648@hg.openjdk.java.net> Changeset: 1fcaf6edc69d Author: Andreas Woess Date: 2013-04-24 13:35 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1fcaf6edc69d CallSiteTargetNode: address review comment ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteTargetNode.java Changeset: 8cf939b349dd Author: Andreas Woess Date: 2013-04-24 14:14 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8cf939b349dd Frame API: automatically change frame slot type for uninitialized slots ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultVirtualFrame.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/NodeFactory.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/WriteLocalNode.java Changeset: 2a4b57f02fb4 Author: Christian Humer Date: 2013-04-24 17:44 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2a4b57f02fb4 Implemented basic support for assumptions for sourcecode generation. + graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/AssumptionsTest.java + graal/com.oracle.truffle.api.codegen/src/com/oracle/truffle/api/codegen/NodeAssumptions.java ! graal/com.oracle.truffle.api.codegen/src/com/oracle/truffle/api/codegen/Specialization.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/TruffleTypes.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationMethodParser.java Changeset: c62bf8be5caf Author: Christian Humer Date: 2013-04-24 17:44 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c62bf8be5caf Merge. Changeset: e16363e50252 Author: Christian Humer Date: 2013-04-24 17:48 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e16363e50252 Fixed minor bug in gen constructor generation. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java Changeset: f5e58a1eca55 Author: Thomas Wuerthinger Date: 2013-04-24 18:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f5e58a1eca55 Added method CompilerDirectives.bailout to the Truffle API. ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java Changeset: 159ac409c27a Author: Thomas Wuerthinger Date: 2013-04-24 18:53 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/159ac409c27a Fix new line at end of file. ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java Changeset: 5054a206fcf0 Author: Thomas Wuerthinger Date: 2013-04-24 20:35 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5054a206fcf0 Remove endLine and endIndex from SourceSection class and add charIndex and charLength instead. Also add getCode() method. ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/SourceSection.java Changeset: 90eb4bb7f755 Author: Christian Humer Date: 2013-04-24 18:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/90eb4bb7f755 Added some javadoc to executeWith. ! graal/com.oracle.truffle.api.codegen/src/com/oracle/truffle/api/codegen/NodeChild.java Changeset: 39f08ef7b5d8 Author: Christian Humer Date: 2013-04-24 18:39 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/39f08ef7b5d8 Fixed bugs for execute evaluated generation. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java Changeset: 8e3a1635cc9e Author: Christian Humer Date: 2013-04-24 21:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8e3a1635cc9e Implemented @NodeChild(executeWith={...}). ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/AssumptionsTest.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/BinaryNodeTest.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/BuiltinTest.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/ExecuteEvaluatedTest.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/GuardsTest.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/TestHelper.java ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/TypeSystemTest.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/GenericParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeChildData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeMethodParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/MessageContainer.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/TemplateMethod.java Changeset: cadb3702cb8f Author: Christian Humer Date: 2013-04-24 21:50 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cadb3702cb8f Merge. Changeset: 261a43921c5e Author: Doug Simon Date: 2013-04-22 18:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/261a43921c5e rename: HotSpotGraalRuntime.getInstance() -> graalRuntime() ! graal/com.oracle.graal.compiler.ptx.test/src/com/oracle/graal/compiler/ptx/test/PTXTestBase.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64DeoptimizeOp.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotGraalRuntime.java ! graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotGraalRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompileTheWorld.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/CompilerThread.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotGraalRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/VMToCompilerImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/debug/LocalImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotConstantPool.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotInstalledCode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotMethodData.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaField.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedObjectType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotSignature.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotUnresolvedJavaType.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotInstalledCodeExecuteNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotSnippetUtils.java Changeset: 17b598df8da9 Author: Doug Simon Date: 2013-04-25 16:53 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/17b598df8da9 Merge. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotInstalledCodeExecuteNode.java - graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ComputeProbabilityPhase.java - graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/DefaultTypeConversion.java - graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameSlotTypeListener.java - graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameVersion.java - graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/TypeConversion.java - graal/com.oracle.truffle.api/src/com/oracle/truffle/api/intrinsics/ExactMath.java - graal/com.oracle.truffle.api/src/com/oracle/truffle/api/intrinsics/TruffleIntrinsics.java Changeset: 90ee20fd2c05 Author: Doug Simon Date: 2013-04-25 16:57 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/90ee20fd2c05 help text fix ! mx/commands.py Changeset: 90ca451a2f28 Author: Roland Schatz Date: 2013-04-25 11:39 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/90ca451a2f28 Make LIRGeneratorTool an interface. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java Changeset: d006c9920e94 Author: Roland Schatz Date: 2013-04-25 16:12 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d006c9920e94 Make kind of LIR memory access operations explicit. ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64AddressValue.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXMove.java Changeset: 899295127bc4 Author: Roland Schatz Date: 2013-04-25 16:12 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/899295127bc4 Get rid of the distinction between UNUSED and ILLEGAL value. - graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/AllocatableValue.java + graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/AllocatableValue.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Value.java ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotUnwindOp.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64SafepointOp.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64AddressValue.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64BitManipulationOp.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXAddressValue.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXArithmetic.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRInstruction.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIRVerifier.java ! src/share/vm/graal/graalJavaAccess.hpp Changeset: 8f46f129d7b6 Author: Roland Schatz Date: 2013-04-25 16:14 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8f46f129d7b6 Fix wrong parameter order. ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/WriteRegisterNode.java Changeset: 1342574c4f7d Author: Roland Schatz Date: 2013-04-25 16:14 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1342574c4f7d Move targets can only be AllocatableValues. ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CallingConvention.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/AllocatableValue.java ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Value.java ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/PhiResolver.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRegisterConfig.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotRuntimeCallTarget.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/GetObjectAddressNode.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXControlFlow.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java Changeset: a5f2b9012865 Author: Roland Schatz Date: 2013-04-25 16:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/a5f2b9012865 Interval locations can only be AllocatableValues. ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/Interval.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/MoveResolver.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java ! graal/com.oracle.graal.lir.ptx/src/com/oracle/graal/lir/ptx/PTXMove.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/LIR.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/StandardOp.java Changeset: 9ee5f3bfa755 Author: Roland Schatz Date: 2013-04-25 17:18 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9ee5f3bfa755 Restructure load/store/lea LIR instructions. ! graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java ! graal/com.oracle.graal.compiler.ptx/src/com/oracle/graal/compiler/ptx/PTXLIRGenerator.java ! graal/com.oracle.graal.compiler.sparc/src/com/oracle/graal/compiler/sparc/SPARCLIRGenerator.java ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/gen/LIRGenerator.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorExitStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AddLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LocationNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LIRGeneratorTool.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java Changeset: 2a0a6dfe27be Author: Roland Schatz Date: 2013-04-25 17:26 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2a0a6dfe27be Merge. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java Changeset: d73ad771a602 Author: Doug Simon Date: 2013-04-25 17:45 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d73ad771a602 return immutable collections from (some) CompilationResult getters ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CompilationResult.java Changeset: ba441e21796f Author: Doug Simon Date: 2013-04-25 17:46 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ba441e21796f rename variable that reflected legacy type name ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Changeset: c78ef1df7b06 Author: Doug Simon Date: 2013-04-25 18:36 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c78ef1df7b06 made verification of node intrinsification always be run, independent of whether assertions are enabled improved error message when verification of node intrinsification fails ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationVerificationPhase.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java Changeset: e26191d535a7 Author: Doug Simon Date: 2013-04-25 18:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e26191d535a7 added guarantee() method to GraalInternalError ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/GraalInternalError.java Changeset: 21bb567c444e Author: Doug Simon Date: 2013-04-25 18:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/21bb567c444e Merge. - graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/AllocatableValue.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java Changeset: e6251a86e8e3 Author: Christian Humer Date: 2013-04-25 11:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e6251a86e8e3 Fixed some minor bugs in executeWith supprt. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/SpecializationData.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/typesystem/TypeData.java Changeset: 2e12f1719a42 Author: Christian Humer Date: 2013-04-25 19:44 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2e12f1719a42 Merge. - graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/AllocatableValue.java Changeset: 1e1d619487b9 Author: Thomas Wuerthinger Date: 2013-04-25 17:42 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1e1d619487b9 Additional assertions to guard against calls to abstract methods. ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Call.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java Changeset: 2b62ddcf8fd8 Author: Thomas Wuerthinger Date: 2013-04-25 18:11 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2b62ddcf8fd8 Allow lazy resolving of the constant input value of the node injecting probabilities into if nodes. ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BranchProbabilityNode.java Changeset: 83992e8ebc7b Author: Thomas Wuerthinger Date: 2013-04-25 18:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/83992e8ebc7b Delay the reporting of an error in the branch probability injection node. ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BranchProbabilityNode.java Changeset: b0f9ab5a185b Author: Thomas Wuerthinger Date: 2013-04-25 18:32 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/b0f9ab5a185b Devirtualize invoke before handing it to the macro node. ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java Changeset: de9949311e80 Author: Thomas Wuerthinger Date: 2013-04-25 18:37 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/de9949311e80 Merge. - graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/AllocatableValue.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java Changeset: 7ef126622c47 Author: Thomas Wuerthinger Date: 2013-04-25 18:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/7ef126622c47 Import fix. ! graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Call.java Changeset: 6369d37b37d1 Author: Thomas Wuerthinger Date: 2013-04-25 19:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6369d37b37d1 Added annotation CompilerDirectives.CompilationFinal for fields that should be considered final during compilation, but are not final while executing in the Truffle interpreter. ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java Changeset: 46f2b152d249 Author: Thomas Wuerthinger Date: 2013-04-25 20:00 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/46f2b152d249 Merge. Changeset: 9fde96e0c96b Author: Thomas Wuerthinger Date: 2013-04-25 20:10 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/9fde96e0c96b Merge. Changeset: 5e1465ec46d6 Author: Thomas Wuerthinger Date: 2013-04-25 21:34 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/5e1465ec46d6 Change the way branch probabilities are injected. Update all snippets. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopySnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CheckCastSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotSnippetUtils.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/InstanceOfSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MonitorSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/NewObjectSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/SystemSubstitutions.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/TypeCheckSnippetUtils.java ! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64ConvertSnippets.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BranchProbabilityNode.java Changeset: 18d28d9bb13a Author: Thomas Wuerthinger Date: 2013-04-25 22:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/18d28d9bb13a Fix branch probability injection. ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BranchProbabilityNode.java Changeset: dc04c7e8f714 Author: Thomas Wuerthinger Date: 2013-04-25 22:30 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/dc04c7e8f714 Add javadoc to BranchProbabilityNode.probability node intrinsic. Avoid combined conditions in connection with the probability. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopySnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CheckCastSnippets.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/InstanceOfSnippets.java ! graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64ConvertSnippets.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BranchProbabilityNode.java Changeset: 1188b7c42196 Author: Thomas Wuerthinger Date: 2013-04-25 22:44 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1188b7c42196 Changed the behavior of CompilerDirectives.injectBranchProbability and added javadoc to document the new behavior. Introduced probability constants. Removed CompilerDirectives.slowpath(). ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java Changeset: 3ef5689248b0 Author: Thomas Wuerthinger Date: 2013-04-25 23:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3ef5689248b0 Fix canonicalization of BranchProbabilityNode. ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BranchProbabilityNode.java Changeset: cd1a1d92b3e3 Author: Andreas Woess Date: 2013-04-25 18:14 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cd1a1d92b3e3 Frame API: Introduce FrameSlotKind. ! graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/FrameSlotTypeSpecializationTest.java ! graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/FrameTest.java ! graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/ReturnTypeSpecializationTest.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameDescriptor.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameSlot.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameSlotImpl.java + graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameSlotKind.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/FrameUtil.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultVirtualFrame.java ! graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/NodeFactory.java Changeset: 1f4f33291099 Author: Bernhard Urban Date: 2013-04-26 14:14 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1f4f33291099 GraphBuilder: remove hack for obtaining profile information of unique subtypes let's see how it affects performance ! graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java Changeset: 712d583d0d21 Author: Thomas Wuerthinger Date: 2013-04-26 14:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/712d583d0d21 Perform deopt-to-guard conversion at snippet installation time. ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Changeset: ea24896c95c9 Author: Thomas Wuerthinger Date: 2013-04-26 14:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ea24896c95c9 Disable ScalaDacapo-actors benchmark. ! mx/sanitycheck.py Changeset: eeb046e7e7da Author: Thomas Wuerthinger Date: 2013-04-26 14:39 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/eeb046e7e7da Merge. Changeset: 6f8d76dbe874 Author: Thomas Wuerthinger Date: 2013-04-26 15:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6f8d76dbe874 Fix ReadAfterCheckCastTest to be a bit more relaxed about the graph structure. ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ReadAfterCheckCastTest.java Changeset: d9b3221c577d Author: Thomas Wuerthinger Date: 2013-04-26 15:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d9b3221c577d Fix imports. ! graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/ReadAfterCheckCastTest.java Changeset: aff0f54d9a4a Author: Thomas Wuerthinger Date: 2013-04-26 15:32 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/aff0f54d9a4a Remove auto-kill of unused usages in the canonicalizer. ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java Changeset: fa188fbfe3fe Author: Thomas Wuerthinger Date: 2013-04-26 15:58 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/fa188fbfe3fe Perform only targeted canonicalization after tail duplication. ! graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/phases/HighTier.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java Changeset: e162d9e32830 Author: Thomas Wuerthinger Date: 2013-04-26 17:15 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e162d9e32830 Added a clazz parameter to Frame.getArguments in order to allow unsafe access to the arguments object (i.e., avoiding the null check and the type cast). ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/TypeSystemTest.java ! graal/com.oracle.truffle.api.test/src/com/oracle/truffle/api/test/ArgumentsTest.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/Frame.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/NativeFrame.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultMaterializedFrame.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/impl/DefaultVirtualFrame.java Changeset: 199c77760850 Author: Thomas Wuerthinger Date: 2013-04-26 18:40 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/199c77760850 Rename InputChangedListener => NodeChangedListener. Add event for usage count of a node dropping to 0. ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/CanonicalizerPhase.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/IterativeConditionalEliminationPhase.java Changeset: ecdb9cc57fdc Author: Thomas Wuerthinger Date: 2013-04-26 18:45 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ecdb9cc57fdc Fix import. ! graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java Changeset: c485a44097b3 Author: Chris Seaton Date: 2013-04-26 10:22 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/c485a44097b3 toString for SourceSection. ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/SourceSection.java Changeset: 902a1d4dc26c Author: Chris Seaton Date: 2013-04-26 10:44 -0700 URL: http://hg.openjdk.java.net/graal/graal/rev/902a1d4dc26c Merge. Changeset: 52e6d0e8d6f7 Author: Doug Simon Date: 2013-04-26 20:31 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/52e6d0e8d6f7 removed Reflection_getCallerClass01 as it uses internal JDK API that differs between JDK7 and JDK8 - graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/reflect/Reflection_getCallerClass01.java From doug.simon at oracle.com Fri Apr 26 12:20:26 2013 From: doug.simon at oracle.com (Doug Simon) Date: Fri, 26 Apr 2013 21:20:26 +0200 Subject: RFR (M): GRAAL-246: intrinsify Reflection.getCallerClass In-Reply-To: References: <0106E2E8-DCDD-44F6-9145-D49AB846EED2@oracle.com> <517908A5.5050200@gmx.at> Message-ID: <406017F7-3937-44BD-A0E7-0A3C2E3854F9@oracle.com> Looks fine to me. On Apr 25, 2013, at 6:46 PM, Christian Thalinger wrote: > [Resending because of missing CC.] > > On Apr 25, 2013, at 3:42 AM, Andreas Woess wrote: > >> In ReflectionGetCallerClassNode.getCallerClassNode(), case 0 is dead >> code (n starts at 1). > > That's on purpose. There are two (and now three) copies of this security sensitive code in HotSpot: > > 1) JVM_GetCallerClass > 2) LibraryCallKit::inline_native_Reflection_getCallerClass > 3) ReflectionGetCallerClassNode.getCallerClassNode > > When I reworked this code I tried to make the code as similar as possible to avoid future bugs. > > There is a comment before the loop: > > 67 // NOTE: Start the loop at depth 1 because the current frame state does > 68 // not include the Reflection.getCallerClass() frame. > > and the exception which is really a should not reach here: > > 73 throw GraalInternalError.shouldNotReachHere("current frame state does not include the Reflection.getCallerClass frame"); > > I would like to keep it this way. > > -- Chris > >> >> - andreas >> >> On 25.04.2013 06:08, Christian Thalinger wrote: >>> [Now that the CallerSensitive changes have arrived in the jdk8 repository I finally had to time to finish this up.] >>> >>> http://cr.openjdk.java.net/~twisti/GRAAL-246 >>> >>> GRAAL-246: intrinsify Reflection.getCallerClass >>> >>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java >>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java >>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java >>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionSubstitutions.java >>> graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java >>> src/share/vm/graal/graalCompilerToVM.cpp >>> src/share/vm/graal/graalJavaAccess.hpp >>> >> > From christian.thalinger at oracle.com Fri Apr 26 12:41:51 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Fri, 26 Apr 2013 12:41:51 -0700 Subject: RFR (M): GRAAL-246: intrinsify Reflection.getCallerClass In-Reply-To: <406017F7-3937-44BD-A0E7-0A3C2E3854F9@oracle.com> References: <0106E2E8-DCDD-44F6-9145-D49AB846EED2@oracle.com> <517908A5.5050200@gmx.at> <406017F7-3937-44BD-A0E7-0A3C2E3854F9@oracle.com> Message-ID: Thank you, Doug. I'm going to push this later today. -- Chris On Apr 26, 2013, at 12:20 PM, Doug Simon wrote: > Looks fine to me. > > On Apr 25, 2013, at 6:46 PM, Christian Thalinger wrote: > >> [Resending because of missing CC.] >> >> On Apr 25, 2013, at 3:42 AM, Andreas Woess wrote: >> >>> In ReflectionGetCallerClassNode.getCallerClassNode(), case 0 is dead >>> code (n starts at 1). >> >> That's on purpose. There are two (and now three) copies of this security sensitive code in HotSpot: >> >> 1) JVM_GetCallerClass >> 2) LibraryCallKit::inline_native_Reflection_getCallerClass >> 3) ReflectionGetCallerClassNode.getCallerClassNode >> >> When I reworked this code I tried to make the code as similar as possible to avoid future bugs. >> >> There is a comment before the loop: >> >> 67 // NOTE: Start the loop at depth 1 because the current frame state does >> 68 // not include the Reflection.getCallerClass() frame. >> >> and the exception which is really a should not reach here: >> >> 73 throw GraalInternalError.shouldNotReachHere("current frame state does not include the Reflection.getCallerClass frame"); >> >> I would like to keep it this way. >> >> -- Chris >> >>> >>> - andreas >>> >>> On 25.04.2013 06:08, Christian Thalinger wrote: >>>> [Now that the CallerSensitive changes have arrived in the jdk8 repository I finally had to time to finish this up.] >>>> >>>> http://cr.openjdk.java.net/~twisti/GRAAL-246 >>>> >>>> GRAAL-246: intrinsify Reflection.getCallerClass >>>> >>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java >>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java >>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java >>>> graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionSubstitutions.java >>>> graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java >>>> src/share/vm/graal/graalCompilerToVM.cpp >>>> src/share/vm/graal/graalJavaAccess.hpp >>>> >>> >> > From tom.deneau at amd.com Sat Apr 27 06:26:54 2013 From: tom.deneau at amd.com (Deneau, Tom) Date: Sat, 27 Apr 2013 13:26:54 +0000 Subject: if then else constructs and ptx backend Message-ID: Hi -- I am working with Vasanth on the HSAIL backend. As you may know we patterned this after some of the PTX backend work. We have noticed a problem with if then else constructs and I see a similar problem in the PTX backend. Below is some java code and the ptx code. Note the dangling if block at L233. Can you tell us where we should start to look to solve this problem? -- Tom Deneau Java code: public static int testIfThen(int a) { return (a > 5 ? a + 7 : a - 3); } testIfThen: .entry testIfThen ( .param .u32 param0 ) { .reg .pred %p,%q; .reg .u32 %r<16>; .version 1.4 .target sm_10 L117: setp.ge.s32 %p, 5, %r6; @%p bra L2147483647; # I assume this should really be bra L233 L172: sub.s32 %r6, %r6, 3; L200: mov.s32 %r0, %r6; exit; L233: add.s32 %r6, %r6, 7; # doesn't rejoin the main flow to exit } From morris.meyer at oracle.com Sat Apr 27 09:59:59 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Sat, 27 Apr 2013 12:59:59 -0400 Subject: if then else constructs and ptx backend In-Reply-To: References: Message-ID: <517C040F.2000001@oracle.com> Tom, I've been working to expand the PTX implementation. As part of GRAAL-234 I've added PTX compilation through a lightweight linkage to libcuda and have first successful compilation on my Mac Pro with a GTX 660 card. I'll be sending that out to review next week. Take a look at PTXControlFlow.BranchOp - I think that might need a tweak. --mm On 4/27/13 9:26 AM, Deneau, Tom wrote: > Hi -- > > I am working with Vasanth on the HSAIL backend. As you may know we patterned this > after some of the PTX backend work. We have noticed a problem with if then else constructs > and I see a similar problem in the PTX backend. Below is some java code and the ptx code. > Note the dangling if block at L233. > > Can you tell us where we should start to look to solve this problem? > > -- Tom Deneau > > > Java code: > public static int testIfThen(int a) { > return (a > 5 ? a + 7 : a - 3); > } > > > testIfThen: > .entry testIfThen ( > .param .u32 param0 > ) { > .reg .pred %p,%q; > .reg .u32 %r<16>; > .version 1.4 > .target sm_10 > L117: > setp.ge.s32 %p, 5, %r6; > @%p > bra L2147483647; # I assume this should really be bra L233 > L172: > sub.s32 %r6, %r6, 3; > L200: > mov.s32 %r0, %r6; > exit; > L233: > add.s32 %r6, %r6, 7; # doesn't rejoin the main flow to exit > } > > From doug.simon at oracle.com Sat Apr 27 18:00:09 2013 From: doug.simon at oracle.com (doug.simon at oracle.com) Date: Sun, 28 Apr 2013 01:00:09 +0000 Subject: hg: graal/graal: 45 new changesets Message-ID: <20130428010237.5C45648667@hg.openjdk.java.net> Changeset: 47e7933283f1 Author: Doug Simon Date: 2013-04-26 18:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/47e7933283f1 added support for adding callee save information to a DebugInfo (GRAAL-81) ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CodeUtil.java ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/CompilationResult.java ! graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/DebugInfo.java + graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/RegisterSaveLayout.java ! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java ! graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CompilationPrinter.java Changeset: e1200d5141fa Author: Doug Simon Date: 2013-04-26 18:21 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e1200d5141fa generalized invoke intrinsification when being replaced by a ControlSinkNode ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java Changeset: 0266549ff6e0 Author: Doug Simon Date: 2013-04-26 18:36 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0266549ff6e0 added support from compiled stubs to be installed as RuntimeStubs and to be able to directly call C/C++ runtime functions (GRAAL-81) replaced NewArraySlowStubCall with NewArrayRuntimeCall using this support ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBackend.java + graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotCRuntimeCallEpilogueOp.java + graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotCRuntimeCallPrologueOp.java + graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotDeoptimizeCallerOp.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotReturnOp.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotCompilationResult.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotInstalledCode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizeCallerNode.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotInstalledCodeExecuteNode.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayRuntimeCall.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArraySlowStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotSnippetUtils.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewArrayStub.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java + graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64RegisterPreservationOp.java + graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64RestoreRegistersOp.java + graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64SaveRegistersOp.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/FrameMap.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/StandardOp.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/asm/TargetMethodAssembler.java ! src/share/vm/classfile/systemDictionary.hpp ! src/share/vm/classfile/vmSymbols.hpp ! src/share/vm/graal/graalCodeInstaller.cpp ! src/share/vm/graal/graalCodeInstaller.hpp ! src/share/vm/graal/graalCompilerToVM.cpp ! src/share/vm/graal/graalJavaAccess.cpp ! src/share/vm/graal/graalJavaAccess.hpp ! src/share/vm/graal/graalRuntime.cpp ! src/share/vm/graal/graalRuntime.hpp Changeset: bdf4604fec2e Author: Doug Simon Date: 2013-04-26 18:38 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/bdf4604fec2e Merge. - graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/AllocatableValue.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotSnippetUtils.java ! graal/com.oracle.graal.lir/src/com/oracle/graal/lir/StandardOp.java ! src/share/vm/graal/graalJavaAccess.hpp Changeset: cbc0b38db597 Author: Doug Simon Date: 2013-04-26 18:46 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cbc0b38db597 fixed formatting of NewArrayStub logging ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewArrayStub.java Changeset: 26d11d3ca6bc Author: Doug Simon Date: 2013-04-26 22:00 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/26d11d3ca6bc fixed debug scopes during snippet preparation ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Changeset: e8dc8748f415 Author: Doug Simon Date: 2013-04-26 22:18 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e8dc8748f415 added check for JaCoCo methods being inserted into replacement methods added JaCoCo exclusion tag to TypeCheckSnippetUtils and Stub ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/TypeCheckSnippetUtils.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/ReplacementsImpl.java Changeset: cdc21fd3d389 Author: Doug Simon Date: 2013-04-26 22:19 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cdc21fd3d389 removed obsolete JaCoCo inclusion filter ! mx/commands.py Changeset: 430707bc6f58 Author: Doug Simon Date: 2013-04-26 22:20 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/430707bc6f58 Merge. - graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/reflect/Reflection_getCallerClass01.java Changeset: 0a8bf24d660a Author: Christian Humer Date: 2013-04-26 22:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0a8bf24d660a Implemented improvements to the generated source code. ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/GuardsTest.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java Changeset: 52fde777a605 Author: Christian Humer Date: 2013-04-26 22:43 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/52fde777a605 Implemented improvements to the generated source code. ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/TruffleTypes.java Changeset: f43d04388815 Author: Christian Humer Date: 2013-04-26 22:44 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f43d04388815 Merge. - graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/reflect/Reflection_getCallerClass01.java Changeset: 927e0792094b Author: Christian Humer Date: 2013-04-26 23:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/927e0792094b Merge. - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArraySlowStubCall.java Changeset: 0fccad3ce40d Author: Thomas Wuerthinger Date: 2013-04-27 00:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0fccad3ce40d Introduce CompilerDirectives.Unsafe. Mark Frame.getArguments method as unsafe. ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/CompilerDirectives.java ! graal/com.oracle.truffle.api/src/com/oracle/truffle/api/frame/Frame.java Changeset: e7c396ce0f3d Author: Doug Simon Date: 2013-04-26 22:56 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e7c396ce0f3d better error message for incorrect usage of @NodeIntrinsic ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java Changeset: 4bf3af9abdfb Author: Doug Simon Date: 2013-04-26 22:57 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4bf3af9abdfb generalized support for C runtime calls ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CRuntimeCall.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayRuntimeCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewArrayStub.java Changeset: d4684b468e93 Author: Doug Simon Date: 2013-04-27 00:32 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/d4684b468e93 made NewInstanceStub a RuntimeStub that directly calls the C runtime (GRAAL-81) ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotCompilationResult.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotRuntimeCallTarget.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceSlowStubCall.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotSnippetUtils.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewArrayStub.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewInstanceStub.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/Stub.java ! src/share/vm/graal/graalCompilerToVM.cpp ! src/share/vm/graal/graalRuntime.hpp Changeset: 6bb12a72d26b Author: Doug Simon Date: 2013-04-27 00:32 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/6bb12a72d26b Merge. Changeset: 3a94641c9e69 Author: Doug Simon Date: 2013-04-27 00:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3a94641c9e69 removed new_array and new_instance assembler stubs (GRAAL-81) ! src/cpu/x86/vm/graalRuntime_x86.cpp ! src/share/vm/graal/graalRuntime.hpp Changeset: 4e260c2ced0e Author: Doug Simon Date: 2013-04-27 01:24 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/4e260c2ced0e removed new_multi_array assembler stub (GRAAL-81) ! graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotRuntimeCallTarget.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java + graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/stubs/NewMultiArrayStub.java ! src/cpu/x86/vm/graalRuntime_x86.cpp ! src/share/vm/graal/graalCompilerToVM.cpp ! src/share/vm/graal/graalRuntime.hpp Changeset: 86d981cd8e22 Author: Christian Humer Date: 2013-04-27 00:49 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/86d981cd8e22 Fixed a bug in new code generation layout. ! graal/com.oracle.truffle.api.codegen.test/src/com/oracle/truffle/api/codegen/test/GuardsTest.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/ast/CodeTreeBuilder.java ! graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java Changeset: cc2149467eed Author: Christian Humer Date: 2013-04-27 00:58 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/cc2149467eed Merge. Changeset: f1ffa0639a2a Author: Christian Humer Date: 2013-04-27 08:59 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f1ffa0639a2a Merge. - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayRuntimeCall.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceSlowStubCall.java Changeset: 44e05c9afb54 Author: Doug Simon Date: 2013-04-27 10:13 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/44e05c9afb54 replaced definition of SLOT_PER_WORD with use of VMRegImpl::slots_per_word ! src/share/vm/graal/graalCodeInstaller.cpp Changeset: 412f6e6dad73 Author: Thomas Wuerthinger Date: 2013-04-27 01:09 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/412f6e6dad73 Allow FixedGuard usages for InstanceOf nodes. ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConvertDeoptimizeToGuardPhase.java ! graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/InstanceOfSnippetsTemplates.java Changeset: 0c5bb7eb1a48 Author: Thomas Wuerthinger Date: 2013-04-27 01:28 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0c5bb7eb1a48 Remove unused import. ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ConvertDeoptimizeToGuardPhase.java Changeset: e6d3af0a42ab Author: Thomas Wuerthinger Date: 2013-04-27 01:34 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/e6d3af0a42ab Merge. - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayRuntimeCall.java - graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceSlowStubCall.java Changeset: 545a023c2ca3 Author: Thomas Wuerthinger Date: 2013-04-27 11:12 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/545a023c2ca3 Merge. Changeset: f14413a91e12 Author: Thomas Wuerthinger Date: 2013-04-27 11:41 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f14413a91e12 Relax System_currentTimeMillis test. ! graal/com.oracle.graal.jtt/src/com/oracle/graal/jtt/jdk/System_currentTimeMillis02.java Changeset: 50a81e6eddbc Author: Thomas Wuerthinger Date: 2013-04-27 14:01 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/50a81e6eddbc Improve opportunities for intermediate materialization ifs. ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Changeset: f1170c277b7b Author: Thomas Wuerthinger Date: 2013-04-27 15:38 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f1170c277b7b Implement instanceof after instanceof swapping. ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/JavaTypeProfile.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java Changeset: 1ac1247bb98d Author: Thomas Wuerthinger Date: 2013-04-27 15:38 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/1ac1247bb98d Implemented isnull after instanceof swapping. ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Changeset: 3b4f3f92879e Author: Thomas Wuerthinger Date: 2013-04-27 16:22 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3b4f3f92879e Implement swapping for distinct conditions on same values. ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Changeset: 442643db2a52 Author: Thomas Wuerthinger Date: 2013-04-27 17:16 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/442643db2a52 Implement swapping of == if one value is proven equal and the other is proven distinct. ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Changeset: 3c441e8c9e7f Author: Thomas Wuerthinger Date: 2013-04-27 17:22 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/3c441e8c9e7f Added comment. ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Changeset: 2026d0a1dd19 Author: Thomas Wuerthinger Date: 2013-04-27 18:02 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/2026d0a1dd19 Cap probability to 1.0. ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Changeset: 98603705e565 Author: Thomas Wuerthinger Date: 2013-04-27 18:06 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/98603705e565 Fix capping. ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Changeset: f11381a65725 Author: Thomas Wuerthinger Date: 2013-04-27 20:17 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/f11381a65725 Do not swap if nodes when there is a loop exit node between them. Do not swap if one of the compares has unorderedIsTrue set. ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Changeset: 8649dbda7d25 Author: Thomas Wuerthinger Date: 2013-04-27 21:09 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/8649dbda7d25 New experiment with megamorphic inlining. ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java Changeset: c408b74bfc42 Author: Thomas Wuerthinger Date: 2013-04-27 21:25 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/c408b74bfc42 Adjust probabilities if some types can be ruled out via static analysis. ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java Changeset: ee75b4f569ed Author: Thomas Wuerthinger Date: 2013-04-27 21:41 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ee75b4f569ed Don't create null check guard if object is kown to be non-null. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/spi/LoweringTool.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java Changeset: 0f4041cc6be1 Author: Thomas Wuerthinger Date: 2013-04-27 22:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0f4041cc6be1 First draft of node for loading a method from the vtable of a hub. ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java + graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java Changeset: 0e661acc3b4a Author: Thomas Wuerthinger Date: 2013-04-28 01:01 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/0e661acc3b4a Fix null pointer exception in if reordering. ! graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java Changeset: 217e82c93bde Author: Thomas Wuerthinger Date: 2013-04-28 01:04 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/217e82c93bde Cap probabilities when adjusting them. ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java Changeset: ee8cd087a731 Author: Thomas Wuerthinger Date: 2013-04-28 02:03 +0200 URL: http://hg.openjdk.java.net/graal/graal/rev/ee8cd087a731 Dispatch based on method instead of type if it seems more beneficial. ! graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/ResolvedJavaMethod.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java ! graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotRuntime.java ! graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/InliningUtil.java ! graal/com.oracle.graal.phases/src/com/oracle/graal/phases/GraalOptions.java From morris.meyer at oracle.com Mon Apr 29 07:44:33 2013 From: morris.meyer at oracle.com (Morris Meyer) Date: Mon, 29 Apr 2013 10:44:33 -0400 Subject: RFR(M) GRAAL-234 - PTX code loader Message-ID: <517E8751.3070901@oracle.com> Folks, I have extended the Graal PTX back-end to incorporate a light and tight linkage to Nvidia GPUs. I've managed to have the Graal-generated PTX code from Java methods properly compile using the Cuda 5.0 drivers on my GTX 660 graphics card. If you are wondering about this comment in src/share/vm/runtime/thread.cpp: // Initialize the os module before using TLS os::init(); + // probe for warp capability + gpu::init(); + Per http://docs.nvidia.com/cuda/pdf/ptx_isa_3.1.pdf - the Parallel Thread Execution ISA Version 3.1 from Nvidia: "A warp is a maximal subset of threads from a single cooperative thread array (CTA), such that the threads execute the same instructions at the same time. ...Each grid of CTAs has a 1D, 2D or 3D shape" I am currently assigned JDK-8013168, which is to extend the set of code pointers from Method to support multiple architectures. This will be necessary to adapt the loaded GPU kernel to internal HotSpot method invocation, as well as architectures that have a heterogeneous CPU+APU configuration. WEBREV - http://cr.openjdk.java.net/~morris/GRAAL-234.01 JIRA - https://lafo.ssw.uni-linz.ac.at/jira/browse/GRAAL-234 --morris "to boldly go" __________________________________________________________________ Output: vendor: 0x000010DE device: 0x000011C0 model: NVIDIA GeForce GTX 660 gpu_bsd::probe_gpu(APPLE): 1 gpu::Ptx::probe_linkage gpu_ptx::probe_linkage(APPLE): 1 gpu::initialize_gpu gpu_ptx::_cuda_cu_init: 0 gpu_ptx::_cuda_cu_device_get_count(1): 0 gpu_ptx::_cuda_cu_device_get(0): 0 gpu_ptx::_cuda_cu_device_compute_capability(major 3, minor 0): 0 gpu_ptx::_cuda_cu_device_get_name(GeForce GTX 660): 0 gpu_ptx::_cuda_cu_ctx_create(3b013800): 0 gpu_ptx::initialize_gpu(): 1 gpu::generate_kernel gpu::Ptx::generate_kernel gpu_ptx::_cuda_cu_module_load_data_ex(39b575a0): 0 gpu_ptx::jit_log_buffer gpu_ptx::_cuda_cu_module_get_function(testAddConst1I):3b119600 0 testAddConst1I: .version 1.4 .target sm_10 .entry testAddConst1I ( .param .u32 param0 ) { .reg .pred %p,%q; .reg .u32 %r<16>; L121: add.s32 %r2, %r2, 1; mov.s32 %r0, %r2; exit; } From Vasanth.Venkatachalam at amd.com Mon Apr 29 08:29:28 2013 From: Vasanth.Venkatachalam at amd.com (Venkatachalam, Vasanth) Date: Mon, 29 Apr 2013 15:29:28 +0000 Subject: access to JIRA bug tracking lists for Graal Message-ID: <5DD1503F815BD14889DC81D28643E3A732A2C66A@sausexdag06.amd.com> Hi, Whom should we contact to get access to the JIRA bug tracking lists for Graal development? For example, we want to be able to access https://lafo.ssw.uni-linz.ac.at/jira/browse/GRAAL-234 Vasanth From christian.thalinger at oracle.com Mon Apr 29 11:25:14 2013 From: christian.thalinger at oracle.com (Christian Thalinger) Date: Mon, 29 Apr 2013 11:25:14 -0700 Subject: access to JIRA bug tracking lists for Graal In-Reply-To: <5DD1503F815BD14889DC81D28643E3A732A2C66A@sausexdag06.amd.com> References: <5DD1503F815BD14889DC81D28643E3A732A2C66A@sausexdag06.amd.com> Message-ID: <32A3FBD0-648C-4E9B-8B21-1CBE14A8CA56@oracle.com> On Apr 29, 2013, at 8:29 AM, "Venkatachalam, Vasanth" wrote: > Hi, > > Whom should we contact to get access to the JIRA bug tracking lists for Graal development? > > > For example, we want to be able to access https://lafo.ssw.uni-linz.ac.at/jira/browse/GRAAL-234 I don't think there is any useful information in that bug. This is probably only a tracking bug. Partly this is my fault because I started to file GRAAL issues to track my work and I used them in my reviews. Maybe we should stop it. -- Chris > > Vasanth