RFR: 8336663: [JVMCI] VM Crash on ZGC due to incompatible handle returned by HotSpotJVMCIRuntime#getJObjectValue
Tomáš Zezula
duke at openjdk.org
Thu Jul 18 11:15:31 UTC 2024
On Thu, 18 Jul 2024 00:04:43 GMT, Dean Long <dlong at openjdk.org> wrote:
>> The `HotSpotJVMCIRuntime#getJObjectValue` method returns a real JNI local handle instead of a JVMCI handle to prevent random crashes on ZGC.
>
> Does "JVMCI shared library" mean libgraal? I thought it was its own separate logical VM and used it's own internal GC, not ZGC. How is Truffle shared library compiler different from libgraal?
@dean-long
> Does "JVMCI shared library" mean libgraal?
Yes
>I thought it was its own separate logical VM and used it's own internal GC, not ZGC.
Yes, the JVMCI shared library uses its own serial GC. However, the JVMCI shared library interacts with objects in the HotSpot heap through IndirectHotSpotObjectConstantImpl. The updated getJObjectValue method unwraps the IndirectHotSpotObjectConstantImpl to a jobject that points to an object in the HotSpot heap.
>How is Truffle shared library compiler different from libgraal?
It's basically the same thing. Truffle compiler is a part of JVMCI shared library. The only difference is the entry point.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/20219#issuecomment-2236242709
More information about the hotspot-compiler-dev
mailing list