RFR: JDK-8211241: Missing obj equals in TemplateTable::fast_aldc

Daniel D. Daugherty daniel.daugherty at oracle.com
Thu Sep 27 20:39:01 UTC 2018


On 9/27/18 4:37 PM, Roman Kennke wrote:
>> On 9/27/18 4:07 PM, Roman Kennke wrote:
>>> TemplateTable::fast_aldc compares the just-loaded reference with
>>> Universe::the_null_sentinel. If it really is that null-sentinel, we may
>>> get a false negative (with GCs like Shenandoah that allow both
>>> from-space and to-space copies of an object to be around), and thus skip
>>> NULL-ing the ref. In other words, it would allow to get
>>> the-null-sentinel out into the wild as oop which can cause subtle and
>>> not-so-subtle bugs.
>>>
>>> Fix is easy, call cmpoop() which re-routes through GC-interface for GCs
>>> that need it:
>>>
>>> http://cr.openjdk.java.net/~rkennke/JDK-8211241/webrev.00/
>> src/hotspot/cpu/aarch64/templateTable_aarch64.cpp
>>      No comments.
>>
>> src/hotspot/cpu/x86/templateTable_x86.cpp
>>      No comments.
>>
>> Thumbs up (on the change)!
>>
>>> Testing: hotspot/jtreg:tier1
>> Did you use jdk_submit or local testing? I don't expect build
>> problems but the templateTable_x86.cpp will affect all X86/X64
>> platforms right?
> I tested locally on x86_64 and aarch64. I always push my stuff through
> jdk/submit before pushing to jdk/jdk, usually after or during reviews.

Thanks for confirming the testing.

Dan


>
> Thanks for reviewing!
> Roman
>



More information about the hotspot-compiler-dev mailing list