RFR: 8199739: Use HeapAccess when loading oops from static fields in javaClasses.cpp

Roman Kennke rkennke at redhat.com
Mon Mar 19 10:17:34 UTC 2018

Hi Stefan,

thank you!

grepping for static_field_addr() yields some more places that'd need
similar treatment:

jlong java_lang_ref_SoftReference::clock()
void java_lang_ref_SoftReference::set_clock(jlong value)

Maybe cover them as well? Or I'll file a separate issue. Your call.

Thanks, Roman

> Hi all,
> Kim and Roman commented that my patch doesn't work with Shenandoah.
> Here's an updated version:
> http://cr.openjdk.java.net/~stefank/8199739/webrev.02/
> Thanks,
> StefanK
> On 2018-03-16 15:39, Stefan Karlsson wrote:
>> Hi all,
>> Please review this patch to use HeapAccess<>::oop_load instead of
>> oopDesc::load_decode_heap_oop when loading oops from static fields in
>> javaClasses.cpp:
>> http://cr.openjdk.java.net/~stefank/8199739/webrev.01/
>> https://bugs.openjdk.java.net/browse/JDK-8199739
>> It's necessary to use HeapAccess<>::oop_load to inject load barriers
>> for GCs that need them.
>> Thanks,
>> StefanK

More information about the hotspot-dev mailing list