RFR: 8218734: SA: Incorrect and raw loads of OopHandles

Stefan Karlsson stefan.karlsson at oracle.com
Thu Feb 14 09:12:03 UTC 2019


On 2019-02-14 10:01, Erik Österlund wrote:
> Hi Stefan,
> 
> Looks good. One thing though...
> 
> At VMOopHandle.java line 38:
> 
> * Remove weird double indentation
> * Remove weird double semicolon
> * Use Field instead of AddressField

I'll fix.

> 
> I don't think I need another webrev.

Thanks for reviewing.

StefanK

> 
> Thanks,
> /Erik
> 
> On 2019-02-11 09:39, Stefan Karlsson wrote:
>> Hi all,
>>
>> Please review this patch to fix the resolving of oops inside the (VM) 
>> OopHandles.
>>
>> https://cr.openjdk.java.net/~stefank/8218734/webrev.01/
>> https://bugs.openjdk.java.net/browse/JDK-8218734
>>
>> Before this patch the OopHandle::_obj was assumed to be located at 
>> offset 0, and the SA resolved OopHandle (Klass::_java_mirror and 
>> ClassLoaderData::_class_loader) without the required load barrier for 
>> ZGC. I've added a new class VMOopHandle (The SA already has a 
>> OopHandle), which handles the resolving (load or load + barrier).
>>
>> The OopHandle type is grouped under the Oops section in vmStructs.cpp. 
>> It's not an oop, so I added a newline to separate it out from the 
>> rest. Any suggestion of a better location in that file?
>>
>> Tested with the jtreg tests in serviceability/sa + patches to make ZGC 
>> usable with the SA's hprof dumping.
>>
>> Thanks,
>> StefanK


More information about the serviceability-dev mailing list