RFR: 8218734: SA: Incorrect and raw loads of OopHandles
Erik Österlund
erik.osterlund at oracle.com
Thu Feb 14 09:01:01 UTC 2019
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 don't think I need another webrev.
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