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

Stefan Karlsson stefan.karlsson at oracle.com
Mon Mar 19 11:29:01 UTC 2018


Hi Roman,

On 2018-03-19 11:17, Roman Kennke wrote:
> 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.

This seems like primitive accesses, I'll be happy to leave those to you. ;)

Thanks,
StefanK

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