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