RFR: JDK-8299229: Allow UseZGC with JVMCI and enable nmethod entry barrier support [v4]

Erik Österlund eosterlund at openjdk.org
Mon Jan 30 14:01:19 UTC 2023


On Tue, 24 Jan 2023 00:55:53 GMT, Tom Rodriguez <never at openjdk.org> wrote:

> Type profiles are never read from the extra data section by JVMCI and speculative_trap_data_tag isn't exposed at all. Exception seen flags are the only thing we search for in the extra data section and I'm not even sure why that's done. See https://github.com/tkrodriguez/jdk/blob/tkr-zgc/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotProfilingInfo.java#L144 and https://github.com/tkrodriguez/jdk/blob/tkr-zgc/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotProfilingInfo.java#L113. I could adjust the logic to simply disallow reads of Klass* from the extra data section until such a day as we actually need to support it.

Concurrent class unloading is going to remove rows from the extra data section under the MDO lock. It looks like said lines are iterated over here: https://github.com/tkrodriguez/jdk/blob/tkr-zgc/src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/HotSpotProfilingInfo.java#L163
I don't think the iteration itself is safe, without holding the lock, as rows are concurrently rearranged.

-------------

PR: https://git.openjdk.org/jdk/pull/11996


More information about the hotspot-dev mailing list