RFR(S) 8234432: AOT tests failing with 'used 'epsilon gc' is different from current 'g1 gc'' after CMS removal
Vladimir Kozlov
vladimir.kozlov at oracle.com
Sat Nov 23 02:54:05 UTC 2019
Got it. My thinking was in reverse ;)
Changes are good.
Vladimir
On 11/22/19 6:47 PM, Dean Long wrote:
> On 11/22/19 6:37 PM, Vladimir Kozlov wrote:
>> Hmm. I assumed that Graal should have GCs list which is subset of GCs in Hotspot. But it could be not true since
>> GraalVM have to run with JDK 8.
>>
>> May be we should bailout AOT compilation if GC is unknown in Hotspot instead of recording in library enum 'def' from
>> Graal which does not match enum in HotSpot. And check for GC early before we start collecting classes to compile.
>>
>
> Graal uses the HotSpot flags to determine which GC is being used, so there is no way for AOT to store a GC that the
> underlying HotSpot doesn't know about. The default fall-back of ordinal() + 1 is only for pre-JDK14 which doesn't have
> the CollectedHeap GC constants exported to JVMCI. We could get rid of that if we backport the vmStructs_jvmci.cpp
> change to all the JDK versions that Graal supports.
>
> There is a separate issue, if you try to use a GC that JVMCI/Graal doesn't support:
>
> % jaotc -J-XX:+UseZGC java.lang.String
>
> JVMCI Compiler does not support selected GC: z gc
>
> dl
>> Thanks,
>> Vladimir
>>
>> On 11/22/19 5:55 PM, Dean Long wrote:
>>> https://bugs.openjdk.java.net/browse/JDK-8234432
>>> http://cr.openjdk.java.net/~dlong/8234432/webrev/
>>>
>>> The change fixes AOT after CMS was removed. Previously we relied to a Graal enum matching a JDK enum, but now we map
>>> from one to the other.
>>>
>>> dl
>
More information about the hotspot-compiler-dev
mailing list