RFR: 8357619: [JVMCI] Revisit phantom_ref parameter in JVMCINMethodData::get_nmethod_mirror
Erik Österlund
eosterlund at openjdk.org
Thu May 29 13:04:41 UTC 2025
On Wed, 28 May 2025 10:28:38 GMT, Doug Simon <dnsimon at openjdk.org> wrote:
> The point of the `phantom_ref` parameter (introduced by [JDK-8234359](https://bugs.openjdk.org/browse/JDK-8234359)) of `JVMCINMethodData::get_nmethod_mirror` is to avoid the special resurrection semantics of a phantom read when reading the field during GC, which is when `JVMCINMethodData::invalidate_nmethod_mirror` can be called.
> This case can be handled directly in `JVMCINMethodData::invalidate_nmethod_mirror` and so the `phantom_ref` parameter can be removed.
src/hotspot/share/jvmci/jvmciCompilerToVM.cpp line 2834:
> 2832: // Only the mirror in the HotSpot heap is accessible
> 2833: // through JVMCINMethodData
> 2834: oop nmethod_mirror = data->get_nmethod_mirror(nm);
Is the nmethod guaranteed to be on-stack here? If not it gotta be phantom.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25488#discussion_r2112390139
More information about the graal-dev
mailing list