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

Roman Kennke rkennke at redhat.com
Thu Sep 27 20:37:42 UTC 2018

> 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 reviewing!

More information about the hotspot-dev mailing list