RFR: 8317368: [JVMCI] SIGSEGV in JVMCIEnv::initialize_installed_code on libgraal [v4]
Vladimir Kozlov
kvn at openjdk.org
Mon Apr 15 18:09:05 UTC 2024
On Mon, 15 Apr 2024 17:55:54 GMT, Tom Rodriguez <never at openjdk.org> wrote:
>> This fixes some lurking issues with JVMCI and nmethod related both BarrierSetNMethod and the garbage collection of nmethods. In particular the stack walking in c2v_iterateFrames visits many frames and needs a KeepStackGCProcessedMark for safety. Additionally, JVMCI interacts with nmethods in complex ways and needs some sort of strong root during these interactions. A new JavaThread field has been added that mirrors the way JVMTI keeps nmethods alive.
>
> Tom Rodriguez has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains five commits:
>
> - Merge branch 'master' into tkr-nmethod-keep-alive
> - Comment updates
> - Merge branch 'master' into tkr-nmethod-keep-alive
> - Move BarrierSetNMethod call into JVMCINMethodHandle::set_nmethod
> - 8317368: [JVMCI] SIGSEGV in JVMCIEnv::initialize_installed_code on libgraal
Seems fine.
May be we should consider specialized `jvmciJavaThread` subclass to keep all JVMCI fields instead of having them in `JavaThread` even when Graal is not used.
-------------
Marked as reviewed by kvn (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/17714#pullrequestreview-2001846563
More information about the graal-dev
mailing list