-
Bug
-
Resolution: Cannot Reproduce
-
P4
-
9
There are platform specific flags which are defined in globals.hpp (or c2_globals.hpp).
Usually we explicitly switching them off on platforms which does not support a feature. For example, UseSSE.
But for some new flags we forgot to do that:
$ jdk/9/solaris-sparcv9/bin/java -XX:+UseCRC32Intrinsics -Xcomp t
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (interpreter_sparc.cpp:400), pid=27731, tid=2
# fatal error: unexpected method kind: 23
#
We defined such flags in shared code because they are used in shared code.
We need to move all such flags into platform-specific globals_<arch>.hpp files and use other methods to check the presence of functionality. For example, StubRoutines::CRC32_supported().
Usually we explicitly switching them off on platforms which does not support a feature. For example, UseSSE.
But for some new flags we forgot to do that:
$ jdk/9/solaris-sparcv9/bin/java -XX:+UseCRC32Intrinsics -Xcomp t
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (interpreter_sparc.cpp:400), pid=27731, tid=2
# fatal error: unexpected method kind: 23
#
We defined such flags in shared code because they are used in shared code.
We need to move all such flags into platform-specific globals_<arch>.hpp files and use other methods to check the presence of functionality. For example, StubRoutines::CRC32_supported().
- relates to
-
JDK-8145665 Make UseSSE an x86-specific option and cleanup its usage in shared code
-
- Closed
-