RFR: 8242440: use separate, destroyable JavaVM instances per libgraal compiler thread [v4]

Doug Simon dnsimon at openjdk.java.net
Fri Apr 22 14:22:14 UTC 2022


On Fri, 22 Apr 2022 13:23:12 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:

>> Doug Simon has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   avoid resource allocation in JVMCIRuntime::release_and_clear_globals
>
> src/hotspot/share/jvmci/jvmci.hpp line 122:
> 
>> 120:   // Returns true iff there is a new shared library JavaVM per compilation.
>> 121:   static bool one_shared_library_javavm_per_compilation() {
>> 122:     return JVMCIThreadsPerNativeLibraryRuntime == 1 && JVMCICompilerIdleDelay == 0;
> 
> Why does this check for `JVMCICompilerIdleDelay == 0` and where is this method used?

It's used in `JVMCIRuntime::post_compile`.

The combination of `JVMCIThreadsPerNativeLibraryRuntime == 1 && JVMCICompilerIdleDelay == 0` is the stress test mode for multi-isolate support. It forces a new libgraal isolate to be used for every single compilation. I've updated the help text for `JVMCICompilerIdleDelay ` to document this mode: https://github.com/openjdk/jdk/pull/8262/commits/ea170e7af1e2a97a0509224fd6ba79bcb07038bd

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

PR: https://git.openjdk.java.net/jdk/pull/8262


More information about the hotspot-dev mailing list