diff --git a/closed/JPP.gmk b/closed/JPP.gmk index a9474f2916f..c207cff84a6 100644 --- a/closed/JPP.gmk +++ b/closed/JPP.gmk @@ -26,6 +26,10 @@ ifeq (true,$(OPENJ9_ENABLE_CRIU_SUPPORT)) JPP_TAGS += CRIU_SUPPORT endif # OPENJ9_ENABLE_CRIU_SUPPORT +ifeq (true,$(OPENJ9_ENABLE_OPENJDK_CRAC_SUPPORT)) + JPP_TAGS += OPENJDK_CRAC_SUPPORT +endif # OPENJ9_ENABLE_OPENJDK_CRAC_SUPPORT + ifeq (true,$(OPENJ9_ENABLE_INLINE_TYPES)) JPP_TAGS += INLINE-TYPES endif # OPENJ9_ENABLE_INLINE_TYPES diff --git a/closed/OpenJ9.gmk b/closed/OpenJ9.gmk index 83d937eb37b..212276d5a9e 100644 --- a/closed/OpenJ9.gmk +++ b/closed/OpenJ9.gmk @@ -292,6 +292,13 @@ else # OPENJ9_ENABLE_CRIU_SUPPORT FEATURE_SED_SCRIPT += $(call SedDisable,opt_criuSupport) endif # OPENJ9_ENABLE_CRIU_SUPPORT +# Adjust OpenJDK CRAC Support enablement flags. +ifeq (true,$(OPENJ9_ENABLE_OPENJDK_CRAC_SUPPORT)) + FEATURE_SED_SCRIPT += $(call SedEnable,opt_openjdkCracSupport) +else # OPENJ9_ENABLE_OPENJDK_CRAC_SUPPORT + FEATURE_SED_SCRIPT += $(call SedDisable,opt_openjdkCracSupport) +endif # OPENJ9_ENABLE_OPENJDK_CRAC_SUPPORT + # Adjust OpenJDK MethodHandles enablement flags. FEATURE_SED_SCRIPT += $(call SedDisable,opt_methodHandle) FEATURE_SED_SCRIPT += $(call SedEnable,opt_openjdkMethodhandle) @@ -453,6 +460,12 @@ ifeq (true,$(OPENJ9_ENABLE_CMAKE)) CMAKE_ARGS += -DJ9VM_OPT_CRIU_SUPPORT=OFF endif # OPENJ9_ENABLE_CRIU_SUPPORT + ifeq (true,$(OPENJ9_ENABLE_OPENJDK_CRAC_SUPPORT)) + CMAKE_ARGS += -DJ9VM_OPT_OPENJDK_CRAC_SUPPORT=ON + else # OPENJ9_ENABLE_OPENJDK_CRAC_SUPPORT + CMAKE_ARGS += -DJ9VM_OPT_OPENJDK_CRAC_SUPPORT=OFF + endif # OPENJ9_ENABLE_OPENJDK_CRAC_SUPPORT + CMAKE_ARGS += -DJ9VM_OPT_METHOD_HANDLE=OFF CMAKE_ARGS += -DJ9VM_OPT_OPENJDK_METHODHANDLE=ON diff --git a/closed/autoconf/custom-hook.m4 b/closed/autoconf/custom-hook.m4 index 8f7d901578a..04b8105d05b 100644 --- a/closed/autoconf/custom-hook.m4 +++ b/closed/autoconf/custom-hook.m4 @@ -41,6 +41,7 @@ AC_DEFUN_ONCE([CUSTOM_EARLY_HOOK], OPENJ9_CONFIGURE_CMAKE OPENJ9_CONFIGURE_COMPILERS OPENJ9_CONFIGURE_CRIU_SUPPORT + OPENJ9_CONFIGURE_OPENJDK_CRAC_SUPPORT OPENJ9_CONFIGURE_CUDA OPENJ9_CONFIGURE_DDR OPENJ9_CONFIGURE_DEMOS @@ -367,6 +368,33 @@ AC_DEFUN([OPENJ9_CONFIGURE_CRIU_SUPPORT], AC_SUBST(OPENJ9_ENABLE_CRIU_SUPPORT) ]) +AC_DEFUN([OPENJ9_CONFIGURE_OPENJDK_CRAC_SUPPORT], +[ + AC_MSG_CHECKING([for OpenJDK CRAC support]) + AC_ARG_ENABLE([openjdk-crac-support], [AS_HELP_STRING([--enable-openjdk-crac-support], [enable OpenJDK CRAC support @<:@disabled@:>@])]) + OPENJ9_ENABLE_OPENJDK_CRAC_SUPPORT=false + + if test "x$enable_openjdk_crac_support" = xyes ; then + AC_MSG_RESULT([yes (explicitly enabled)]) + OPENJ9_ENABLE_OPENJDK_CRAC_SUPPORT=true + elif test "x$enable_openjdk_crac_support" = xno ; then + AC_MSG_RESULT([no (explicitly disabled)]) + elif test "x$enable_openjdk_crac_support" = x ; then + case "$OPENJ9_PLATFORM_CODE" in + xa64) + AC_MSG_RESULT([yes (default)]) + OPENJ9_ENABLE_OPENJDK_CRAC_SUPPORT=true + ;; + *) + AC_MSG_RESULT([no (default)]) + ;; + esac + else + AC_MSG_ERROR([--enable-openjdk-crac-support accepts no argument]) + fi + AC_SUBST(OPENJ9_ENABLE_OPENJDK_CRAC_SUPPORT) +]) + AC_DEFUN([OPENJ9_CONFIGURE_INLINE_TYPES], [ AC_MSG_CHECKING([for inline types]) diff --git a/closed/autoconf/custom-spec.gmk.in b/closed/autoconf/custom-spec.gmk.in index 019d1cb560c..6c98bad2bf1 100644 --- a/closed/autoconf/custom-spec.gmk.in +++ b/closed/autoconf/custom-spec.gmk.in @@ -68,11 +68,12 @@ export GDK_HOME := @OPENJ9_GDK_HOME@ endif # feature enablement flags -OPENJ9_ENABLE_CRIU_SUPPORT := @OPENJ9_ENABLE_CRIU_SUPPORT@ -OPENJ9_ENABLE_DDR := @OPENJ9_ENABLE_DDR@ -OPENJ9_ENABLE_DEMOS := @OPENJ9_ENABLE_DEMOS@ -OPENJ9_ENABLE_INLINE_TYPES := @OPENJ9_ENABLE_INLINE_TYPES@ -OPENJ9_ENABLE_JITSERVER := @OPENJ9_ENABLE_JITSERVER@ +OPENJ9_ENABLE_CRIU_SUPPORT := @OPENJ9_ENABLE_CRIU_SUPPORT@ +OPENJ9_ENABLE_OPENJDK_CRAC_SUPPORT := @OPENJ9_ENABLE_OPENJDK_CRAC_SUPPORT@ +OPENJ9_ENABLE_DDR := @OPENJ9_ENABLE_DDR@ +OPENJ9_ENABLE_DEMOS := @OPENJ9_ENABLE_DEMOS@ +OPENJ9_ENABLE_INLINE_TYPES := @OPENJ9_ENABLE_INLINE_TYPES@ +OPENJ9_ENABLE_JITSERVER := @OPENJ9_ENABLE_JITSERVER@ # for constructing version output COMPILER_VERSION_STRING := @COMPILER_VERSION_STRING@