--- old/make/autoconf/hotspot.m4 2018-11-26 21:29:41.795296041 +0100 +++ new/make/autoconf/hotspot.m4 2018-11-26 21:29:41.644297373 +0100 @@ -25,7 +25,7 @@ # All valid JVM features, regardless of platform VALID_JVM_FEATURES="compiler1 compiler2 zero minimal dtrace jvmti jvmci \ - graal vm-structs jni-check services management cmsgc epsilongc g1gc parallelgc serialgc zgc nmt cds \ + graal vm-structs jni-check services management cmsgc epsilongc g1gc parallelgc serialgc shenandoahgc zgc nmt cds \ static-build link-time-opt aot jfr" # Deprecated JVM features (these are ignored, but with a warning) @@ -325,6 +325,20 @@ fi fi + # Only enable Shenandoah on supported arches + AC_MSG_CHECKING([if shenandoah can be built]) + if HOTSPOT_CHECK_JVM_VARIANT(zero); then + DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES shenandoahgc" + AC_MSG_RESULT([no, this JVM variant not supported]) + else + if test "x$OPENJDK_TARGET_CPU" = "xx86_64" || test "x$OPENJDK_TARGET_CPU" = "xaarch64" || test "x$OPENJDK_TARGET_CPU" == "xx86"; then + AC_MSG_RESULT([yes]) + else + DISABLED_JVM_FEATURES="$DISABLED_JVM_FEATURES shenandoahgc" + AC_MSG_RESULT([no, platform not supported]) + fi + fi + # Only enable ZGC on Linux x86_64 AC_MSG_CHECKING([if zgc should be built]) if HOTSPOT_CHECK_JVM_FEATURE(zgc); then @@ -474,7 +488,7 @@ fi # All variants but minimal (and custom) get these features - NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cmsgc g1gc parallelgc serialgc epsilongc jni-check jvmti management nmt services vm-structs" + NON_MINIMAL_FEATURES="$NON_MINIMAL_FEATURES cmsgc g1gc parallelgc serialgc epsilongc shenandoahgc jni-check jvmti management nmt services vm-structs" # Disable CDS on AIX. if test "x$OPENJDK_TARGET_OS" = "xaix"; then