From 3b21a99fed2d1c2093cf49ef4a4f0eaa3c380ea4 Mon Sep 17 00:00:00 2001 From: Irwin D'Souza Date: Mon, 12 Aug 2024 16:13:56 -0400 Subject: [PATCH] Add SVM Specific Options Signed-off-by: Irwin D'Souza --- compiler/control/OMROptions.cpp | 4 ++++ compiler/control/OMROptions.hpp | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/compiler/control/OMROptions.cpp b/compiler/control/OMROptions.cpp index f44e0b48de1..7ede7fca092 100644 --- a/compiler/control/OMROptions.cpp +++ b/compiler/control/OMROptions.cpp @@ -465,6 +465,7 @@ TR::OptionTable OMR::Options::_jitOptions[] = { {"disableMethodHandleTransformer", "O\tdisable MethodHandle transformer", TR::Options::disableOptimization, methodHandleTransformer, 0, "P"}, {"disableMethodIsCold", "O\tdo not use heuristics to determine whether whole methods are cold based on how many times they have been interpreted", SET_OPTION_BIT(TR_DisableMethodIsCold), "F"}, {"disableMHCustomizationLogicCalls", "C\tdo not insert calls to MethodHandle.doCustomizationLogic for handle invocations outside of thunks", RESET_OPTION_BIT(TR_EnableMHCustomizationLogicCalls), "F"}, + {"disableMHRelocatableCompile", "O\tdisable relocatable compilation of invokeHandle/invokeDynamic", RESET_OPTION_BIT(TR_EnableMHRelocatableCompile), "F", NOT_IN_SUBSET }, {"disableMonitorCoarsening", "O\tdisable monitor coarsening", SET_OPTION_BIT(TR_DisableMonitorCoarsening), "F"}, {"disableMultiLeafArrayCopy", "O\tdisable multi-leaf arraycopy for real-time", SET_OPTION_BIT(TR_DisableMultiLeafArrayCopy), "F"}, {"disableMultiTargetInlining", "O\tdisable multi-target inlining", SET_OPTION_BIT(TR_DisableMultiTargetInlining), "F"}, @@ -560,6 +561,7 @@ TR::OptionTable OMR::Options::_jitOptions[] = { {"disableStripMining", "O\tdisable loop strip mining", SET_OPTION_BIT(TR_DisableStripMining), "F"}, {"disableSuffixLogs", "O\tdo not add the date/time/pid suffix to the file name of the logs", RESET_OPTION_BIT(TR_EnablePIDExtension), "F", NOT_IN_SUBSET}, {"disableSupportForCpuSpentInCompilation", "M\tdo not provide CPU spent in compilation", SET_OPTION_BIT(TR_DisableSupportForCpuSpentInCompilation), "F" }, + {"disableSVMDuringStartup", "O\tdisable SVM during startup", SET_OPTION_BIT(TR_DisableSVMDuringStartup), "F", NOT_IN_SUBSET }, {"disableSwitchAnalyzer", "O\tdisable switch analyzer", TR::Options::disableOptimization, switchAnalyzer, 0, "P"}, {"disableSwitchAwayFromProfilingForHotAndVeryhot", "O\tdisable switch away from profiling for hot and veryhot", SET_OPTION_BIT(TR_DisableSwitchAwayFromProfilingForHotAndVeryhot), "F"}, {"disableSymbolValidationManager", "M\tEnable Symbol Validation Manager for Relocatable Compile Validations", RESET_OPTION_BIT(TR_EnableSymbolValidationManager), "F"}, @@ -749,6 +751,7 @@ TR::OptionTable OMR::Options::_jitOptions[] = { {"enableMetadataBytecodePCToIAMap", "O\tenable bytecode pc to IA map in the metadata", SET_OPTION_BIT(TR_EnableMetadataBytecodePCToIAMap), "F", NOT_IN_SUBSET}, {"enableMetadataReclamation", "I\tenable J9JITExceptionTable reclamation", RESET_OPTION_BIT(TR_DisableMetadataReclamation), "F", NOT_IN_SUBSET}, {"enableMHCustomizationLogicCalls", "C\tinsert calls to MethodHandle.doCustomizationLogic for handle invocations outside of thunks", SET_OPTION_BIT(TR_EnableMHCustomizationLogicCalls), "F"}, + {"enableMHRelocatableCompile", "O\tenable relocatable compilation of invokeHandle/invokeDynamic", SET_OPTION_BIT(TR_EnableMHRelocatableCompile), "F", NOT_IN_SUBSET }, {"enableMonitorCacheLookup", "O\tenable monitor cache lookup under lock nursery ", SET_OPTION_BIT(TR_EnableMonitorCacheLookup), "F"}, {"enableMultipleGCRPeriods", "M\tallow JIT to get in and out of GCR", SET_OPTION_BIT(TR_EnableMultipleGCRPeriods), "F", NOT_IN_SUBSET}, {"enableMutableCallSiteGuards", "O\tenable virtual guards for calls to java.lang.invoke.MutableCallSite.getTarget().invokeExact(...) (including invokedynamic)", RESET_OPTION_BIT(TR_DisableMutableCallSiteGuards), "F"}, @@ -789,6 +792,7 @@ TR::OptionTable OMR::Options::_jitOptions[] = { {"enableSharedCacheTiming", "M\tenable timing stats for accessing the shared cache", SET_OPTION_BIT(TR_EnableSharedCacheTiming), "F"}, {"enableSIMDLibrary", "M\tEnable recognized methods for SIMD library", SET_OPTION_BIT(TR_EnableSIMDLibrary), "F"}, {"enableSnapshotBlockOpts", "O\tenable block ordering/redirecting optimizations in the presences of snapshot nodes", SET_OPTION_BIT(TR_EnableSnapshotBlockOpts), "F"}, + {"enableSVMDuringStartup", "O\tenable SVM during startup", RESET_OPTION_BIT(TR_DisableSVMDuringStartup), "F", NOT_IN_SUBSET }, {"enableSymbolValidationManager", "M\tEnable Symbol Validation Manager for Relocatable Compile Validations", SET_OPTION_BIT(TR_EnableSymbolValidationManager), "F"}, {"enableTailCallOpt", "R\tenable tall call optimization in peephole", SET_OPTION_BIT(TR_EnableTailCallOpt), "F"}, {"enableThisLiveRangeExtension", "R\tenable this live range extension to the end of the method", SET_OPTION_BIT(TR_EnableThisLiveRangeExtension), "F"}, diff --git a/compiler/control/OMROptions.hpp b/compiler/control/OMROptions.hpp index 314a6ec0a5c..56e2838f79f 100644 --- a/compiler/control/OMROptions.hpp +++ b/compiler/control/OMROptions.hpp @@ -239,7 +239,7 @@ enum TR_CompilationOptions TR_ExperimentalClassLoadPhase = 0x00000020 + 5, TR_DisableLookahead = 0x00000040 + 5, TR_TraceBFGeneration = 0x00000080 + 5, - // Available = 0x00000100 + 5, + TR_DisableSVMDuringStartup = 0x00000100 + 5, TR_SuspendEarly = 0x00000200 + 5, TR_EnableEarlyCompilationDuringIdleCpu = 0x00000400 + 5, TR_DisableCallGraphInlining = 0x00000800 + 5, // interpreter profiling @@ -391,7 +391,7 @@ enum TR_CompilationOptions TR_DisclaimMemoryOnSwap = 0x00000080 + 10, TR_FirstLevelProfiling = 0x00000100 + 10, TR_EnableCodeCacheDisclaiming = 0x00000200 + 10, - // Available = 0x00000400 + 10, + TR_EnableMHRelocatableCompile = 0x00000400 + 10, TR_EnableCodeCacheDisclaimingSupport = 0x00000800 + 10, // Available = 0x00001000 + 10, TR_DisableNewMethodOverride = 0x00002000 + 10,