Reproduces on current jdk/jdk. Reproduces with Epsilon, because it enables the object-pinning path, not GCLocker. The only other GC that does that is Shenandoah.
$ CONF=linux-x86-server-fastdebug make images run-test TEST=gc/CriticalNativeArgs.java
reason: User specified action: run main/othervm/native -XX:+UnlockExperimentalVMOptions -XX:+UseEpsilonGC -Xcomp -Xmx256M -XX:+CriticalJNINatives gc.CriticalNativeArgs
Mode: othervm [/othervm specified]
elapsed time (seconds): 0.947
configuration:
STDOUT:
[0.001s][warning][gc] Consider enabling -XX:+AlwaysPreTouch to avoid memory commit hiccups
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/c1_LIRAssembler_x86.cpp:1606
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/shade/trunks/jdk-jdk/src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp:1606), pid=12387, tid=12398
# assert(src->fpu() == 0) failed: input must be on TOS
#