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

Reply via email to