RFR: 8257020: [JVMCI] enable a JVMCICompiler to specify which GCs it supports [v5]
Vladimir Kozlov
kvn at openjdk.java.net
Wed Dec 2 17:28:00 UTC 2020
On Wed, 2 Dec 2020 13:32:29 GMT, Doug Simon <dnsimon at openjdk.org> wrote:
>> A number of jtreg tests require a specific GC. These tests should be ignored when EnableJVMCI is true and the JVMCI compiler does not support the required GC.
>>
>> This PR adds `JVMCICompiler.isGCSupported` and makes use of it in `WhiteBox.isGCSupported`.
>>
>> Prior to this PR, a test requiring a GC not yet supported by a JVMCI compiler fail as follows:
>> Error occurred during initialization of VM
>> JVMCI Compiler does not support selected GC: epsilon gc
>
> Doug Simon has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains seven commits:
>
> - Keep EnableJVMCI off for GCs that don't fully support JVMCI
> - implemented isGCSupported in Graal compiler
> - removed JVMCI logic from GCConfig and introduced WhiteBox.isGCSupportedByJVMCI instead
> - removed broken check_jvmci_supported_gc logic
> - removed redundant signature
> - move logic to GCConfig
> - enable a JVMCICompiler to specify which GCs it supports
Latest changes looks like reversal of original. Will GraalVM have additional checks to allow ask Graal before disabling JVMCI?
src/hotspot/share/jvmci/jvmci_globals.cpp line 207:
> 205: // Check if selected GC is supported by JVMCI and Java compiler
> 206: if (!(UseSerialGC || UseParallelGC || UseG1GC)) {
> 207: log_warning(gc)("Selected GC does not support JVMCI: %s", GCConfig::hs_err_name());
I would add new UL tag `jvmci` if we don't have it yet and use it here. Also message should say `EnableJVMCI is turned off because ...'
-------------
PR: https://git.openjdk.java.net/jdk/pull/1423
More information about the hotspot-dev
mailing list