RFR (S): 8153439: do not install an empty SpeculationLog in an nmethod

Christian Thalinger christian.thalinger at oracle.com
Tue Apr 5 00:00:05 UTC 2016


> On Apr 4, 2016, at 12:34 PM, Christian Thalinger <christian.thalinger at oracle.com> wrote:
> 
> No, not good.  We are failing a couple JVMCI tests.  Looking into it…

Ok, this got a little out of control but for the better:

http://cr.openjdk.java.net/~twisti/8153439/webrev.01/

The actual fix is to check for a null log argument.  The rest is moving the tests into an mx-controlled directory so we can edit and run the tests in an IDE.  This made it much easier to figure out what the issue was because stupid jtreg just swallowed all exceptions.

While moving the tests I fixed a bunch of them because they didn’t have the proper @compile directives and so failed when running standalone.  Again, stupid jtreg.

Also, I’m wondering if hasSpeculations() should be an interface method in SpeculationLog.  I think it should.

> 
>> On Apr 4, 2016, at 11:50 AM, Christian Thalinger <christian.thalinger at oracle.com> wrote:
>> 
>> Thanks for the quick turnaround.  Looks good.
>> 
>>> On Apr 4, 2016, at 11:30 AM, Doug Simon <doug.simon at oracle.com> wrote:
>>> 
>>> The JVMCI speculation log mechanism might not be used by a specific JVMCI compiler or JVMCI compiler configuration. In this case, the nmethod::_speculation_log field should be initialized to NULL to reduce unnecessary processing of the field by the GC.
>>> 
>>> https://bugs.openjdk.java.net/browse/JDK-8153439
>>> http://cr.openjdk.java.net/~dnsimon/8153439
>> 
> 



More information about the hotspot-compiler-dev mailing list