RFR: 8340733: Add scope for relaxing constraint on JavaCalls from CompilerThread [v5]
Tomáš Zezula
duke at openjdk.org
Fri Oct 4 16:34:54 UTC 2024
> [JDK-8318694](https://bugs.openjdk.org/browse/JDK-8318694) limited the ability for JVMCI CompilerThreads to make Java upcalls. This is to mitigate against deadlock when an upcall does class loading. Class loading can easily create deadlock situations in -Xcomp or -Xbatch mode.
>
> However, for Truffle, upcalls are unavoidable if Truffle partial evaluation occurs as part of JIT compilation inlining. This occurs when the Graal inliner sees a constant Truffle AST node which allows a Truffle-specific inlining extension to perform Truffle partial evaluation (PE) on the constant. Such PE involves upcalls to the Truffle runtime (running in Java).
>
> This PR provides the escape hatch such that Truffle specific logic can put a compiler thread into "allow Java upcall" mode during the scope of the Truffle logic.
Tomáš Zezula has updated the pull request incrementally with one additional commit since the last revision:
Simplified C2V_BLOCK.
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/21285/files
- new: https://git.openjdk.org/jdk/pull/21285/files/346f8982..e07d4448
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=21285&range=04
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=21285&range=03-04
Stats: 8 lines in 1 file changed: 0 ins; 7 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/21285.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/21285/head:pull/21285
PR: https://git.openjdk.org/jdk/pull/21285
More information about the hotspot-compiler-dev
mailing list