diff --git a/closed/OpenJ9.gmk b/closed/OpenJ9.gmk index 6857410a83f..c78c6fe3ba2 100644 --- a/closed/OpenJ9.gmk +++ b/closed/OpenJ9.gmk @@ -1,5 +1,5 @@ # =========================================================================== -# (c) Copyright IBM Corp. 2017, 2023 All Rights Reserved +# (c) Copyright IBM Corp. 2017, 2024 All Rights Reserved # =========================================================================== # This code is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2 only, as @@ -180,6 +180,13 @@ else SPEC_SED_SCRIPT += $(call SedDisable,module_ddr) endif +# Adjust JFR enablement flags. +ifeq (true,$(OPENJ9_ENABLE_JFR)) + FEATURE_SED_SCRIPT += $(call SedEnable,opt_jfr) +else + FEATURE_SED_SCRIPT += $(call SedDisable,opt_jfr) +endif + # Adjust JITServer enablement flags. ifeq (true,$(OPENJ9_ENABLE_JITSERVER)) FEATURE_SED_SCRIPT += $(call SedEnable,opt_jitserver) @@ -349,6 +356,12 @@ ifneq (,$(CCACHE)) CMAKE_ARGS += "-DCMAKE_C_COMPILER_LAUNCHER=$(ESCAPED_CCACHE)" endif # CCACHE +ifeq (true,$(OPENJ9_ENABLE_JFR)) + CMAKE_ARGS += -DJ9VM_OPT_JFR=ON +else # OPENJ9_ENABLE_JFR + CMAKE_ARGS += -DJ9VM_OPT_JFR=OFF +endif # OPENJ9_ENABLE_JFR + ifeq (true,$(OPENJ9_ENABLE_JITSERVER)) CMAKE_ARGS += -DJ9VM_OPT_JITSERVER=ON diff --git a/jdk/make/closed/autoconf/custom-hook.m4 b/jdk/make/closed/autoconf/custom-hook.m4 index 1be7d97ae7d..ce36dad5909 100644 --- a/jdk/make/closed/autoconf/custom-hook.m4 +++ b/jdk/make/closed/autoconf/custom-hook.m4 @@ -45,6 +45,7 @@ AC_DEFUN_ONCE([CUSTOM_EARLY_HOOK], OPENJ9_CONFIGURE_DDR OPENJ9_CONFIGURE_DEMOS OPENJ9_CONFIGURE_HEALTHCENTER + OPENJ9_CONFIGURE_JFR OPENJ9_CONFIGURE_JITSERVER OPENJ9_CONFIGURE_OPENJDK_METHODHANDLES OPENJ9_CONFIGURE_WARNINGS @@ -291,6 +292,32 @@ AC_DEFUN([OPENJ9_PLATFORM_EXTRACT_VARS_FROM_CPU], esac ]) +AC_DEFUN([OPENJ9_CONFIGURE_JFR], +[ + AC_ARG_ENABLE([jfr], [AS_HELP_STRING([--enable-jfr], [enable JFR support @<:@platform dependent@:>@])]) + AC_MSG_CHECKING([for jfr]) + OPENJ9_ENABLE_JFR=false + if test "x$enable_jfr" = xyes ; then + AC_MSG_RESULT([yes (explicitly enabled)]) + OPENJ9_ENABLE_JFR=true + elif test "x$enable_jfr" = xno ; then + AC_MSG_RESULT([no (explicitly disabled)]) + elif test "x$enable_jfr" = x ; then + case "$OPENJ9_PLATFORM_CODE" in + xa64) + AC_MSG_RESULT([yes (default)]) + OPENJ9_ENABLE_JFR=true + ;; + *) + AC_MSG_RESULT([no (default)]) + ;; + esac + else + AC_MSG_ERROR([--enable-jfr accepts no argument]) + fi + AC_SUBST(OPENJ9_ENABLE_JFR) +]) + AC_DEFUN([OPENJ9_CONFIGURE_JITSERVER], [ AC_ARG_ENABLE([jitserver], [AS_HELP_STRING([--enable-jitserver], [enable JITServer support @<:@disabled@:>@])]) diff --git a/jdk/make/closed/autoconf/custom-spec.gmk.in b/jdk/make/closed/autoconf/custom-spec.gmk.in index 9d5d7c1ccab..b18a0898d90 100644 --- a/jdk/make/closed/autoconf/custom-spec.gmk.in +++ b/jdk/make/closed/autoconf/custom-spec.gmk.in @@ -59,6 +59,7 @@ 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_JFR := @OPENJ9_ENABLE_JFR@ OPENJ9_ENABLE_JITSERVER := @OPENJ9_ENABLE_JITSERVER@ OPENJ9_ENABLE_OPENJDK_METHODHANDLES := @OPENJ9_ENABLE_OPENJDK_METHODHANDLES@