1 /*
   2  * Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "gc/shared/jvmFlagConstraintsGC.hpp"
  27 #include "oops/markWord.hpp"
  28 #include "runtime/flags/jvmFlagConstraintsCompiler.hpp"
  29 #include "runtime/flags/jvmFlagConstraintsRuntime.hpp"
  30 #include "runtime/task.hpp"
  31 
  32 // -- Define all JVM flags that have been declared in share/runtime/globals.hpp
  33 
  34 #include "globals.hpp"
  35 #include "runtime/flags/jvmFlag.inline.hpp"
  36 DEFN_PRODUCT_FLAG(UseCompressedOops);
  37 DEFN_PRODUCT_FLAG(UseCompressedClassPointers);
  38 DEFN_NOTPROD_FLAG(CheckCompressedOops);
  39 DEFN_PRODUCT_FLAG(HeapSearchSteps); DEFN_PRODUCT_RANGE(HeapSearchSteps);
  40 DEFN_PRODUCT_FLAG(ObjectAlignmentInBytes); DEFN_PRODUCT_RANGE(ObjectAlignmentInBytes); DEFN_PRODUCT_CONSTRAINT(ObjectAlignmentInBytes);
  41 DEFN_DEVELOP_FLAG(CleanChunkPoolAsync);
  42 DEFN_PRODUCT_FLAG(HandshakeTimeout);
  43 DEFN_PRODUCT_FLAG(AlwaysSafeConstructors);
  44 DEFN_PRODUCT_FLAG(UnlockDiagnosticVMOptions);
  45 DEFN_PRODUCT_FLAG(UnlockExperimentalVMOptions);
  46 DEFN_PRODUCT_FLAG(JavaMonitorsInStackTrace);
  47 DEFN_PRODUCT_FLAG_PD(UseLargePages);
  48 DEFN_PRODUCT_FLAG_PD(UseLargePagesIndividualAllocation);
  49 DEFN_DEVELOP_FLAG(LargePagesIndividualAllocationInjectError);
  50 DEFN_PRODUCT_FLAG(UseLargePagesInMetaspace);
  51 DEFN_PRODUCT_FLAG(UseNUMA);
  52 DEFN_PRODUCT_FLAG(UseNUMAInterleaving);
  53 DEFN_PRODUCT_FLAG(NUMAInterleaveGranularity); DEFN_PRODUCT_CUSTOM_RANGE(NUMAInterleaveGranularity);
  54 DEFN_PRODUCT_FLAG(ForceNUMA);
  55 DEFN_PRODUCT_FLAG(NUMAChunkResizeWeight); DEFN_PRODUCT_RANGE(NUMAChunkResizeWeight);
  56 DEFN_PRODUCT_FLAG(NUMASpaceResizeRate); DEFN_PRODUCT_RANGE(NUMASpaceResizeRate);
  57 DEFN_PRODUCT_FLAG(UseAdaptiveNUMAChunkSizing);
  58 DEFN_PRODUCT_FLAG(NUMAStats);
  59 DEFN_PRODUCT_FLAG(NUMAPageScanRate); DEFN_PRODUCT_RANGE(NUMAPageScanRate);
  60 DEFN_PRODUCT_FLAG(UseAES);
  61 DEFN_PRODUCT_FLAG(UseFMA);
  62 DEFN_PRODUCT_FLAG(UseSHA);
  63 DEFN_PRODUCT_FLAG(UseGHASHIntrinsics);
  64 DEFN_PRODUCT_FLAG(UseBASE64Intrinsics);
  65 DEFN_PRODUCT_FLAG(LargePageSizeInBytes); DEFN_PRODUCT_RANGE(LargePageSizeInBytes);
  66 DEFN_PRODUCT_FLAG(LargePageHeapSizeThreshold); DEFN_PRODUCT_RANGE(LargePageHeapSizeThreshold);
  67 DEFN_PRODUCT_FLAG(ForceTimeHighResolution);
  68 DEFN_DEVELOP_FLAG(TracePcPatching);
  69 DEFN_DEVELOP_FLAG(TraceRelocator);
  70 DEFN_DEVELOP_FLAG(TraceLongCompiles);
  71 DEFN_PRODUCT_FLAG(SafepointALot);
  72 DEFN_PRODUCT_FLAG(HandshakeALot);
  73 DEFN_PRODUCT_FLAG_PD(BackgroundCompilation);
  74 DEFN_PRODUCT_FLAG(PrintVMQWaitTime);
  75 DEFN_PRODUCT_FLAG(MethodFlushing);
  76 DEFN_DEVELOP_FLAG(VerifyStack);
  77 DEFN_PRODUCT_FLAG(ForceUnreachable);
  78 DEFN_NOTPROD_FLAG(StressDerivedPointers);
  79 DEFN_DEVELOP_FLAG(TraceDerivedPointers);
  80 DEFN_NOTPROD_FLAG(TraceCodeBlobStacks);
  81 DEFN_NOTPROD_FLAG(PrintRewrites);
  82 DEFN_PRODUCT_FLAG(UseInlineCaches);
  83 DEFN_PRODUCT_FLAG(InlineArrayCopy);
  84 DEFN_PRODUCT_FLAG(InlineObjectHash);
  85 DEFN_PRODUCT_FLAG(InlineNatives);
  86 DEFN_PRODUCT_FLAG(InlineMathNatives);
  87 DEFN_PRODUCT_FLAG(InlineClassNatives);
  88 DEFN_PRODUCT_FLAG(InlineThreadNatives);
  89 DEFN_PRODUCT_FLAG(InlineUnsafeOps);
  90 DEFN_PRODUCT_FLAG(CriticalJNINatives);
  91 DEFN_NOTPROD_FLAG(StressCriticalJNINatives);
  92 DEFN_PRODUCT_FLAG(UseAESIntrinsics);
  93 DEFN_PRODUCT_FLAG(UseAESCTRIntrinsics);
  94 DEFN_PRODUCT_FLAG(UseSHA1Intrinsics);
  95 DEFN_PRODUCT_FLAG(UseSHA256Intrinsics);
  96 DEFN_PRODUCT_FLAG(UseSHA512Intrinsics);
  97 DEFN_PRODUCT_FLAG(UseCRC32Intrinsics);
  98 DEFN_PRODUCT_FLAG(UseCRC32CIntrinsics);
  99 DEFN_PRODUCT_FLAG(UseAdler32Intrinsics);
 100 DEFN_PRODUCT_FLAG(UseVectorizedMismatchIntrinsic);
 101 DEFN_PRODUCT_FLAG(DisableIntrinsic);
 102 DEFN_DEVELOP_FLAG(TraceCallFixup);
 103 DEFN_DEVELOP_FLAG(DeoptimizeALot);
 104 DEFN_NOTPROD_FLAG(DeoptimizeOnlyAt);
 105 DEFN_DEVELOP_FLAG(DeoptimizeRandom);
 106 DEFN_NOTPROD_FLAG(ZombieALot);
 107 DEFN_NOTPROD_FLAG(WalkStackALot);
 108 DEFN_PRODUCT_FLAG(Debugging);
 109 DEFN_NOTPROD_FLAG(VerifyLastFrame);
 110 DEFN_PRODUCT_FLAG(SafepointTimeout);
 111 DEFN_PRODUCT_FLAG(AbortVMOnSafepointTimeout);
 112 DEFN_PRODUCT_FLAG(AbortVMOnVMOperationTimeout);
 113 DEFN_PRODUCT_FLAG(AbortVMOnVMOperationTimeoutDelay); DEFN_PRODUCT_RANGE(AbortVMOnVMOperationTimeoutDelay);
 114 DEFN_PRODUCT_FLAG(SuspendRetryCount); DEFN_PRODUCT_RANGE(SuspendRetryCount);
 115 DEFN_PRODUCT_FLAG(SuspendRetryDelay); DEFN_PRODUCT_RANGE(SuspendRetryDelay);
 116 DEFN_PRODUCT_FLAG(AssertOnSuspendWaitFailure);
 117 DEFN_PRODUCT_FLAG(TraceSuspendWaitFailures);
 118 DEFN_PRODUCT_FLAG(MaxFDLimit);
 119 DEFN_PRODUCT_FLAG(LogEvents);
 120 DEFN_PRODUCT_FLAG(LogEventsBufferEntries); DEFN_PRODUCT_RANGE(LogEventsBufferEntries);
 121 DEFN_PRODUCT_FLAG(BytecodeVerificationRemote);
 122 DEFN_PRODUCT_FLAG(BytecodeVerificationLocal);
 123 DEFN_DEVELOP_FLAG(ForceFloatExceptions);
 124 DEFN_DEVELOP_FLAG(VerifyStackAtCalls);
 125 DEFN_DEVELOP_FLAG(TraceJavaAssertions);
 126 DEFN_NOTPROD_FLAG(VerifyCodeCache);
 127 DEFN_DEVELOP_FLAG(UseMallocOnly);
 128 DEFN_DEVELOP_FLAG(ZapResourceArea);
 129 DEFN_NOTPROD_FLAG(ZapVMHandleArea);
 130 DEFN_NOTPROD_FLAG(ZapStackSegments);
 131 DEFN_DEVELOP_FLAG(ZapUnusedHeapArea);
 132 DEFN_DEVELOP_FLAG(CheckZapUnusedHeapArea);
 133 DEFN_DEVELOP_FLAG(ZapFillerObjects);
 134 DEFN_DEVELOP_FLAG(PrintVMMessages);
 135 DEFN_NOTPROD_FLAG(ErrorHandlerTest);
 136 DEFN_NOTPROD_FLAG(TestCrashInErrorHandler);
 137 DEFN_NOTPROD_FLAG(TestSafeFetchInErrorHandler);
 138 DEFN_DEVELOP_FLAG(TestUnresponsiveErrorHandler);
 139 DEFN_DEVELOP_FLAG(Verbose);
 140 DEFN_DEVELOP_FLAG(PrintMiscellaneous);
 141 DEFN_DEVELOP_FLAG(WizardMode);
 142 DEFN_PRODUCT_FLAG(ShowMessageBoxOnError);
 143 DEFN_PRODUCT_FLAG(CreateCoredumpOnCrash);
 144 DEFN_PRODUCT_FLAG(ErrorLogTimeout); DEFN_PRODUCT_RANGE(ErrorLogTimeout);
 145 DEFN_PRODUCT_FLAG_PD(UseOSErrorReporting);
 146 DEFN_PRODUCT_FLAG(SuppressFatalErrorMessage);
 147 DEFN_PRODUCT_FLAG(OnError);
 148 DEFN_PRODUCT_FLAG(OnOutOfMemoryError);
 149 DEFN_PRODUCT_FLAG(HeapDumpBeforeFullGC);
 150 DEFN_PRODUCT_FLAG(HeapDumpAfterFullGC);
 151 DEFN_PRODUCT_FLAG(HeapDumpOnOutOfMemoryError);
 152 DEFN_PRODUCT_FLAG(HeapDumpPath);
 153 DEFN_DEVELOP_FLAG(BreakAtWarning);
 154 DEFN_PRODUCT_FLAG(NativeMemoryTracking);
 155 DEFN_PRODUCT_FLAG(PrintNMTStatistics);
 156 DEFN_PRODUCT_FLAG(LogCompilation);
 157 DEFN_PRODUCT_FLAG(PrintCompilation);
 158 DEFN_PRODUCT_FLAG(PrintExtendedThreadInfo);
 159 DEFN_PRODUCT_FLAG(ScavengeRootsInCode); DEFN_PRODUCT_RANGE(ScavengeRootsInCode);
 160 DEFN_PRODUCT_FLAG(AlwaysRestoreFPU);
 161 DEFN_PRODUCT_FLAG(PrintCompilation2);
 162 DEFN_PRODUCT_FLAG(PrintAdapterHandlers);
 163 DEFN_PRODUCT_FLAG(VerifyAdapterCalls);
 164 DEFN_DEVELOP_FLAG(VerifyAdapterSharing);
 165 DEFN_PRODUCT_FLAG(PrintAssembly);
 166 DEFN_PRODUCT_FLAG(PrintAssemblyOptions);
 167 DEFN_NOTPROD_FLAG(PrintNMethodStatistics);
 168 DEFN_PRODUCT_FLAG(PrintNMethods);
 169 DEFN_PRODUCT_FLAG(PrintNativeNMethods);
 170 DEFN_DEVELOP_FLAG(PrintDebugInfo);
 171 DEFN_DEVELOP_FLAG(PrintRelocations);
 172 DEFN_DEVELOP_FLAG(PrintDependencies);
 173 DEFN_DEVELOP_FLAG(PrintExceptionHandlers);
 174 DEFN_DEVELOP_FLAG(StressCompiledExceptionHandlers);
 175 DEFN_DEVELOP_FLAG(InterceptOSException);
 176 DEFN_PRODUCT_FLAG(PrintCodeCache);
 177 DEFN_DEVELOP_FLAG(PrintCodeCache2);
 178 DEFN_PRODUCT_FLAG(PrintCodeCacheOnCompilation);
 179 DEFN_PRODUCT_FLAG(PrintCodeHeapAnalytics);
 180 DEFN_PRODUCT_FLAG(PrintStubCode);
 181 DEFN_PRODUCT_FLAG(StackTraceInThrowable);
 182 DEFN_PRODUCT_FLAG(OmitStackTraceInFastThrow);
 183 DEFN_PRODUCT_FLAG(ShowCodeDetailsInExceptionMessages);
 184 DEFN_PRODUCT_FLAG(PrintWarnings);
 185 DEFN_NOTPROD_FLAG(WarnOnStalledSpinLock);
 186 DEFN_PRODUCT_FLAG(RegisterFinalizersAtInit);
 187 DEFN_DEVELOP_FLAG(RegisterReferences);
 188 DEFN_DEVELOP_FLAG(IgnoreRewrites);
 189 DEFN_DEVELOP_FLAG(PrintCodeCacheExtension);
 190 DEFN_DEVELOP_FLAG(UsePrivilegedStack);
 191 DEFN_DEVELOP_FLAG(ProtectionDomainVerification);
 192 DEFN_PRODUCT_FLAG(ClassUnloading);
 193 DEFN_PRODUCT_FLAG(ClassUnloadingWithConcurrentMark);
 194 DEFN_DEVELOP_FLAG(DisableStartThread);
 195 DEFN_DEVELOP_FLAG(MemProfiling);
 196 DEFN_DEVELOP_FLAG(PrintSystemDictionaryAtExit);
 197 DEFN_PRODUCT_FLAG(DynamicallyResizeSystemDictionaries);
 198 DEFN_PRODUCT_FLAG(AlwaysLockClassLoader);
 199 DEFN_PRODUCT_FLAG(AllowParallelDefineClass);
 200 DEFN_PRODUCT_FLAG_PD(DontYieldALot);
 201 DEFN_DEVELOP_FLAG(UseDetachedThreads);
 202 DEFN_PRODUCT_FLAG(DisablePrimordialThreadGuardPages);
 203 DEFN_PRODUCT_FLAG(UseLWPSynchronization);
 204 DEFN_PRODUCT_FLAG(MonitorBound); DEFN_PRODUCT_RANGE(MonitorBound);
 205 DEFN_PRODUCT_FLAG(MonitorUsedDeflationThreshold); DEFN_PRODUCT_RANGE(MonitorUsedDeflationThreshold);
 206 DEFN_PRODUCT_FLAG(hashCode);
 207 DEFN_PRODUCT_FLAG(FilterSpuriousWakeups);
 208 DEFN_DEVELOP_FLAG(UsePthreads);
 209 DEFN_PRODUCT_FLAG(ReduceSignalUsage);
 210 DEFN_DEVELOP_FLAG(LoadLineNumberTables);
 211 DEFN_DEVELOP_FLAG(LoadLocalVariableTables);
 212 DEFN_DEVELOP_FLAG(LoadLocalVariableTypeTables);
 213 DEFN_PRODUCT_FLAG(AllowUserSignalHandlers);
 214 DEFN_PRODUCT_FLAG(UseSignalChaining);
 215 DEFN_PRODUCT_FLAG(RestoreMXCSROnJNICalls);
 216 DEFN_PRODUCT_FLAG(CheckJNICalls);
 217 DEFN_PRODUCT_FLAG(UseFastJNIAccessors);
 218 DEFN_PRODUCT_FLAG(MaxJNILocalCapacity); DEFN_PRODUCT_RANGE(MaxJNILocalCapacity);
 219 DEFN_PRODUCT_FLAG(EagerXrunInit);
 220 DEFN_PRODUCT_FLAG(PreserveAllAnnotations);
 221 DEFN_DEVELOP_FLAG(PreallocatedOutOfMemoryErrorCount);
 222 DEFN_PRODUCT_FLAG(UseXMMForArrayCopy);
 223 DEFN_NOTPROD_FLAG(PrintFieldLayout);
 224 DEFN_PRODUCT_FLAG(ContendedPaddingWidth); DEFN_PRODUCT_RANGE(ContendedPaddingWidth); DEFN_PRODUCT_CONSTRAINT(ContendedPaddingWidth);
 225 DEFN_PRODUCT_FLAG(EnableContended);
 226 DEFN_PRODUCT_FLAG(RestrictContended);
 227 DEFN_PRODUCT_FLAG(UseBiasedLocking);
 228 DEFN_PRODUCT_FLAG(BiasedLockingStartupDelay);
 229     // TODO: to avoid circular dependency, the min/max cannot be declared in header file
 230     inline FLAG_TYPE_BiasedLockingStartupDelay FLAG_MIN_BiasedLockingStartupDelay() { return 0; }
 231     inline FLAG_TYPE_BiasedLockingStartupDelay FLAG_MAX_BiasedLockingStartupDelay() { return (intx)(max_jint-(max_jint%PeriodicTask::interval_gran)); }
 232     DEFN_PRODUCT_RANGE(BiasedLockingStartupDelay); DEFN_PRODUCT_CONSTRAINT(BiasedLockingStartupDelay);
 233 DEFN_PRODUCT_FLAG(PrintBiasedLockingStatistics);
 234 DEFN_PRODUCT_FLAG(BiasedLockingBulkRebiasThreshold); DEFN_PRODUCT_RANGE(BiasedLockingBulkRebiasThreshold); DEFN_PRODUCT_CONSTRAINT(BiasedLockingBulkRebiasThreshold);
 235 DEFN_PRODUCT_FLAG(BiasedLockingBulkRevokeThreshold); DEFN_PRODUCT_RANGE(BiasedLockingBulkRevokeThreshold); DEFN_PRODUCT_CONSTRAINT(BiasedLockingBulkRevokeThreshold);
 236 DEFN_PRODUCT_FLAG(BiasedLockingDecayTime); DEFN_PRODUCT_RANGE(BiasedLockingDecayTime); DEFN_PRODUCT_CONSTRAINT(BiasedLockingDecayTime);
 237 DEFN_PRODUCT_FLAG(ExitOnOutOfMemoryError);
 238 DEFN_PRODUCT_FLAG(CrashOnOutOfMemoryError);
 239 DEFN_DEVELOP_FLAG(StressRewriter);
 240 DEFN_PRODUCT_FLAG(TraceJVMTI);
 241 DEFN_PRODUCT_FLAG(StressLdcRewrite);
 242 DEFN_PRODUCT_FLAG(VerifyMergedCPBytecodes);
 243 DEFN_PRODUCT_FLAG(AllowRedefinitionToAddDeleteMethods);
 244 DEFN_DEVELOP_FLAG(TraceBytecodes);
 245 DEFN_DEVELOP_FLAG(TraceICs);
 246 DEFN_NOTPROD_FLAG(TraceInvocationCounterOverflow);
 247 DEFN_DEVELOP_FLAG(TraceInlineCacheClearing);
 248 DEFN_DEVELOP_FLAG(TraceDependencies);
 249 DEFN_DEVELOP_FLAG(VerifyDependencies);
 250 DEFN_DEVELOP_FLAG(TraceNewOopMapGeneration);
 251 DEFN_DEVELOP_FLAG(TraceNewOopMapGenerationDetailed);
 252 DEFN_DEVELOP_FLAG(TimeOopMap);
 253 DEFN_DEVELOP_FLAG(TimeOopMap2);
 254 DEFN_DEVELOP_FLAG(TraceOopMapRewrites);
 255 DEFN_DEVELOP_FLAG(TraceICBuffer);
 256 DEFN_DEVELOP_FLAG(TraceCompiledIC);
 257 DEFN_DEVELOP_FLAG(FLSVerifyDictionary);
 258 DEFN_DEVELOP_FLAG(CheckMemoryInitialization);
 259 DEFN_PRODUCT_FLAG(ProcessDistributionStride); DEFN_PRODUCT_RANGE(ProcessDistributionStride);
 260 DEFN_DEVELOP_FLAG(TraceFinalizerRegistration);
 261 DEFN_PRODUCT_FLAG(IgnoreEmptyClassPaths);
 262 DEFN_PRODUCT_FLAG(InitialBootClassLoaderMetaspaceSize); DEFN_PRODUCT_RANGE(InitialBootClassLoaderMetaspaceSize); DEFN_PRODUCT_CONSTRAINT(InitialBootClassLoaderMetaspaceSize);
 263 DEFN_PRODUCT_FLAG(PrintHeapAtSIGBREAK);
 264 DEFN_PRODUCT_FLAG(PrintClassHistogram);
 265 DEFN_PRODUCT_FLAG(ObjectCountCutOffPercent); DEFN_PRODUCT_RANGE(ObjectCountCutOffPercent);
 266 DEFN_PRODUCT_FLAG(TraceJVMTIObjectTagging);
 267 DEFN_PRODUCT_FLAG(VerifyBeforeIteration);
 268 DEFN_DEVELOP_FLAG(CIPrintCompilerName);
 269 DEFN_PRODUCT_FLAG(CIPrintCompileQueue);
 270 DEFN_DEVELOP_FLAG(CIPrintRequests);
 271 DEFN_PRODUCT_FLAG(CITime);
 272 DEFN_DEVELOP_FLAG(CITimeVerbose);
 273 DEFN_DEVELOP_FLAG(CITimeEach);
 274 DEFN_DEVELOP_FLAG(CICountOSR);
 275 DEFN_DEVELOP_FLAG(CICompileNatives);
 276 DEFN_DEVELOP_FLAG_PD(CICompileOSR);
 277 DEFN_DEVELOP_FLAG(CIPrintMethodCodes);
 278 DEFN_DEVELOP_FLAG(CIPrintTypeFlow);
 279 DEFN_DEVELOP_FLAG(CITraceTypeFlow);
 280 DEFN_DEVELOP_FLAG(OSROnlyBCI);
 281 DEFN_PRODUCT_FLAG(CICompilerCount); DEFN_PRODUCT_RANGE(CICompilerCount); DEFN_PRODUCT_CONSTRAINT(CICompilerCount);
 282 DEFN_PRODUCT_FLAG(UseDynamicNumberOfCompilerThreads);
 283 DEFN_PRODUCT_FLAG(ReduceNumberOfCompilerThreads);
 284 DEFN_PRODUCT_FLAG(TraceCompilerThreads);
 285 DEFN_DEVELOP_FLAG(InjectCompilerCreationFailure);
 286 DEFN_DEVELOP_FLAG(UseStackBanging);
 287 DEFN_DEVELOP_FLAG(GenerateSynchronizationCode);
 288 DEFN_DEVELOP_FLAG(GenerateRangeChecks);
 289 DEFN_PRODUCT_FLAG_PD(ImplicitNullChecks);
 290 DEFN_PRODUCT_FLAG_PD(TrapBasedNullChecks);
 291 DEFN_PRODUCT_FLAG(EnableThreadSMRExtraValidityChecks);
 292 DEFN_PRODUCT_FLAG(EnableThreadSMRStatistics);
 293 DEFN_PRODUCT_FLAG(UseNotificationThread);
 294 DEFN_PRODUCT_FLAG(Inline);
 295 DEFN_PRODUCT_FLAG(ClipInlining);
 296 DEFN_DEVELOP_FLAG(UseCHA);
 297 DEFN_PRODUCT_FLAG(UseTypeProfile);
 298 DEFN_PRODUCT_FLAG(PrintInlining);
 299 DEFN_PRODUCT_FLAG(UsePopCountInstruction);
 300 DEFN_DEVELOP_FLAG(EagerInitialization);
 301 DEFN_PRODUCT_FLAG(LogTouchedMethods);
 302 DEFN_PRODUCT_FLAG(PrintTouchedMethodsAtExit);
 303 DEFN_DEVELOP_FLAG(TraceMethodReplacement);
 304 DEFN_DEVELOP_FLAG(PrintMethodFlushing);
 305 DEFN_PRODUCT_FLAG(PrintMethodFlushingStatistics);
 306 DEFN_PRODUCT_FLAG(HotMethodDetectionLimit); DEFN_PRODUCT_RANGE(HotMethodDetectionLimit);
 307 DEFN_PRODUCT_FLAG(MinPassesBeforeFlush); DEFN_PRODUCT_RANGE(MinPassesBeforeFlush);
 308 DEFN_PRODUCT_FLAG(UseCodeAging);
 309 DEFN_PRODUCT_FLAG(StressCodeAging);
 310 DEFN_DEVELOP_FLAG(StressCodeBuffers);
 311 DEFN_PRODUCT_FLAG(DebugNonSafepoints);
 312 DEFN_PRODUCT_FLAG(PrintVMOptions);
 313 DEFN_PRODUCT_FLAG(IgnoreUnrecognizedVMOptions);
 314 DEFN_PRODUCT_FLAG(PrintCommandLineFlags);
 315 DEFN_PRODUCT_FLAG(PrintFlagsInitial);
 316 DEFN_PRODUCT_FLAG(PrintFlagsFinal);
 317 DEFN_NOTPROD_FLAG(PrintFlagsWithComments);
 318 DEFN_PRODUCT_FLAG(PrintFlagsRanges);
 319 DEFN_PRODUCT_FLAG(SerializeVMOutput);
 320 DEFN_PRODUCT_FLAG(DisplayVMOutput);
 321 DEFN_PRODUCT_FLAG(LogVMOutput);
 322 DEFN_PRODUCT_FLAG(LogFile);
 323 DEFN_PRODUCT_FLAG(ErrorFile);
 324 DEFN_PRODUCT_FLAG(ExtensiveErrorReports);
 325 DEFN_PRODUCT_FLAG(DisplayVMOutputToStderr);
 326 DEFN_PRODUCT_FLAG(DisplayVMOutputToStdout);
 327 DEFN_PRODUCT_FLAG(ErrorFileToStderr);
 328 DEFN_PRODUCT_FLAG(ErrorFileToStdout);
 329 DEFN_PRODUCT_FLAG(UseHeavyMonitors);
 330 DEFN_PRODUCT_FLAG(PrintStringTableStatistics);
 331 DEFN_PRODUCT_FLAG(VerifyStringTableAtExit);
 332 DEFN_NOTPROD_FLAG(PrintSymbolTableSizeHistogram);
 333 DEFN_NOTPROD_FLAG(ExitVMOnVerifyError);
 334 DEFN_PRODUCT_FLAG(AbortVMOnException);
 335 DEFN_PRODUCT_FLAG(AbortVMOnExceptionMessage);
 336 DEFN_DEVELOP_FLAG(DebugVtables);
 337 DEFN_NOTPROD_FLAG(PrintVtableStats);
 338 DEFN_DEVELOP_FLAG(TraceCreateZombies);
 339 DEFN_PRODUCT_FLAG(RangeCheckElimination);
 340 DEFN_DEVELOP_FLAG_PD(UncommonNullCast);
 341 DEFN_DEVELOP_FLAG(TypeProfileCasts);
 342 DEFN_DEVELOP_FLAG(TraceLivenessGen);
 343 DEFN_NOTPROD_FLAG(TraceLivenessQuery);
 344 DEFN_NOTPROD_FLAG(CollectIndexSetStatistics);
 345 DEFN_DEVELOP_FLAG(UseLoopSafepoints);
 346 DEFN_DEVELOP_FLAG(FastAllocateSizeLimit);
 347 DEFN_PRODUCT_FLAG_PD(CompactStrings);
 348 DEFN_PRODUCT_FLAG_PD(TypeProfileLevel); DEFN_PRODUCT_CONSTRAINT(TypeProfileLevel);
 349 DEFN_PRODUCT_FLAG(TypeProfileArgsLimit); DEFN_PRODUCT_RANGE(TypeProfileArgsLimit);
 350 DEFN_PRODUCT_FLAG(TypeProfileParmsLimit); DEFN_PRODUCT_RANGE(TypeProfileParmsLimit);
 351 DEFN_DEVELOP_FLAG(CountCompiledCalls);
 352 DEFN_NOTPROD_FLAG(CountRuntimeCalls);
 353 DEFN_DEVELOP_FLAG(CountJNICalls);
 354 DEFN_NOTPROD_FLAG(CountJVMCalls);
 355 DEFN_NOTPROD_FLAG(CountRemovableExceptions);
 356 DEFN_NOTPROD_FLAG(ICMissHistogram);
 357 DEFN_PRODUCT_FLAG_PD(RewriteBytecodes);
 358 DEFN_PRODUCT_FLAG_PD(RewriteFrequentPairs);
 359 DEFN_PRODUCT_FLAG(PrintInterpreter);
 360 DEFN_PRODUCT_FLAG(UseInterpreter);
 361 DEFN_DEVELOP_FLAG(UseFastSignatureHandlers);
 362 DEFN_PRODUCT_FLAG(UseLoopCounter);
 363 DEFN_PRODUCT_FLAG_PD(UseOnStackReplacement);
 364 DEFN_NOTPROD_FLAG(TraceOnStackReplacement);
 365 DEFN_PRODUCT_FLAG_PD(PreferInterpreterNativeStubs);
 366 DEFN_DEVELOP_FLAG(CountBytecodes);
 367 DEFN_DEVELOP_FLAG(PrintBytecodeHistogram);
 368 DEFN_DEVELOP_FLAG(PrintBytecodePairHistogram);
 369 DEFN_PRODUCT_FLAG(PrintSignatureHandlers);
 370 DEFN_DEVELOP_FLAG(VerifyOops);
 371 DEFN_DEVELOP_FLAG(CheckUnhandledOops);
 372 DEFN_DEVELOP_FLAG(VerifyJNIFields);
 373 DEFN_NOTPROD_FLAG(VerifyJNIEnvThread);
 374 DEFN_DEVELOP_FLAG(VerifyFPU);
 375 DEFN_DEVELOP_FLAG(VerifyThread);
 376 DEFN_DEVELOP_FLAG(VerifyActivationFrameSize);
 377 DEFN_DEVELOP_FLAG(TraceFrequencyInlining);
 378 DEFN_DEVELOP_FLAG_PD(InlineIntrinsics);
 379 DEFN_PRODUCT_FLAG_PD(ProfileInterpreter);
 380 DEFN_DEVELOP_FLAG(TraceProfileInterpreter);
 381 DEFN_DEVELOP_FLAG_PD(ProfileTraps);
 382 DEFN_PRODUCT_FLAG(ProfileMaturityPercentage); DEFN_PRODUCT_RANGE(ProfileMaturityPercentage);
 383 DEFN_PRODUCT_FLAG(PrintMethodData);
 384 DEFN_DEVELOP_FLAG(VerifyDataPointer);
 385 DEFN_DEVELOP_FLAG(VerifyCompiledCode);
 386 DEFN_NOTPROD_FLAG(CrashGCForDumpingJavaThread);
 387 DEFN_PRODUCT_FLAG(UseCompiler);
 388 DEFN_PRODUCT_FLAG(UseCounterDecay);
 389 DEFN_DEVELOP_FLAG(CounterHalfLifeTime);
 390 DEFN_DEVELOP_FLAG(CounterDecayMinIntervalLength);
 391 DEFN_PRODUCT_FLAG(AlwaysCompileLoopMethods);
 392 DEFN_PRODUCT_FLAG(DontCompileHugeMethods);
 393 DEFN_PRODUCT_FLAG(EstimateArgEscape);
 394 DEFN_PRODUCT_FLAG(BCEATraceLevel); DEFN_PRODUCT_RANGE(BCEATraceLevel);
 395 DEFN_PRODUCT_FLAG(MaxBCEAEstimateLevel); DEFN_PRODUCT_RANGE(MaxBCEAEstimateLevel);
 396 DEFN_PRODUCT_FLAG(MaxBCEAEstimateSize); DEFN_PRODUCT_RANGE(MaxBCEAEstimateSize);
 397 DEFN_PRODUCT_FLAG(AllocatePrefetchStyle); DEFN_PRODUCT_RANGE(AllocatePrefetchStyle);
 398 DEFN_PRODUCT_FLAG(AllocatePrefetchDistance); DEFN_PRODUCT_CONSTRAINT(AllocatePrefetchDistance);
 399 DEFN_PRODUCT_FLAG(AllocatePrefetchLines); DEFN_PRODUCT_RANGE(AllocatePrefetchLines);
 400 DEFN_PRODUCT_FLAG(AllocateInstancePrefetchLines); DEFN_PRODUCT_RANGE(AllocateInstancePrefetchLines);
 401 DEFN_PRODUCT_FLAG(AllocatePrefetchStepSize); DEFN_PRODUCT_RANGE(AllocatePrefetchStepSize); DEFN_PRODUCT_CONSTRAINT(AllocatePrefetchStepSize);
 402 DEFN_PRODUCT_FLAG(AllocatePrefetchInstr); DEFN_PRODUCT_CONSTRAINT(AllocatePrefetchInstr);
 403 DEFN_DEVELOP_FLAG(TraceDeoptimization);
 404 DEFN_DEVELOP_FLAG(PrintDeoptimizationDetails);
 405 DEFN_DEVELOP_FLAG(DebugDeoptimization);
 406 DEFN_PRODUCT_FLAG(SelfDestructTimer); DEFN_PRODUCT_RANGE(SelfDestructTimer);
 407 DEFN_PRODUCT_FLAG(MaxJavaStackTraceDepth); DEFN_PRODUCT_RANGE(MaxJavaStackTraceDepth);
 408 DEFN_PRODUCT_FLAG(GuaranteedSafepointInterval); DEFN_PRODUCT_RANGE(GuaranteedSafepointInterval);
 409 DEFN_PRODUCT_FLAG(SafepointTimeoutDelay); DEFN_PRODUCT_RANGE(SafepointTimeoutDelay);
 410 DEFN_PRODUCT_FLAG(NmethodSweepActivity); DEFN_PRODUCT_RANGE(NmethodSweepActivity);
 411 DEFN_NOTPROD_FLAG(LogSweeper);
 412 DEFN_NOTPROD_FLAG(SweeperLogEntries);
 413 DEFN_NOTPROD_FLAG(MemProfilingInterval);
 414 DEFN_DEVELOP_FLAG(MallocCatchPtr);
 415 DEFN_NOTPROD_FLAG(SuppressErrorAt);
 416 DEFN_DEVELOP_FLAG(StackPrintLimit);
 417 DEFN_NOTPROD_FLAG(MaxElementPrintSize);
 418 DEFN_NOTPROD_FLAG(MaxSubklassPrintSize);
 419 DEFN_PRODUCT_FLAG(MaxInlineLevel); DEFN_PRODUCT_RANGE(MaxInlineLevel);
 420 DEFN_PRODUCT_FLAG(MaxRecursiveInlineLevel); DEFN_PRODUCT_RANGE(MaxRecursiveInlineLevel);
 421 DEFN_DEVELOP_FLAG(MaxForceInlineLevel); DEFN_DEVELOP_RANGE(MaxForceInlineLevel);
 422 DEFN_PRODUCT_FLAG_PD(InlineSmallCode); DEFN_PRODUCT_RANGE(InlineSmallCode);
 423 DEFN_PRODUCT_FLAG(MaxInlineSize); DEFN_PRODUCT_RANGE(MaxInlineSize);
 424 DEFN_PRODUCT_FLAG_PD(FreqInlineSize); DEFN_PRODUCT_RANGE(FreqInlineSize);
 425 DEFN_PRODUCT_FLAG(MaxTrivialSize); DEFN_PRODUCT_RANGE(MaxTrivialSize);
 426 DEFN_PRODUCT_FLAG(MinInliningThreshold); DEFN_PRODUCT_RANGE(MinInliningThreshold);
 427 DEFN_DEVELOP_FLAG(MethodHistogramCutoff);
 428 DEFN_DEVELOP_FLAG(DontYieldALotInterval);
 429 DEFN_NOTPROD_FLAG(DeoptimizeALotInterval);
 430 DEFN_NOTPROD_FLAG(ZombieALotInterval);
 431 DEFN_PRODUCT_FLAG(MallocMaxTestWords); DEFN_PRODUCT_RANGE(MallocMaxTestWords);
 432 DEFN_PRODUCT_FLAG(TypeProfileWidth); DEFN_PRODUCT_RANGE(TypeProfileWidth);
 433 DEFN_DEVELOP_FLAG(BciProfileWidth);
 434 DEFN_PRODUCT_FLAG(PerMethodRecompilationCutoff); DEFN_PRODUCT_RANGE(PerMethodRecompilationCutoff);
 435 DEFN_PRODUCT_FLAG(PerBytecodeRecompilationCutoff); DEFN_PRODUCT_RANGE(PerBytecodeRecompilationCutoff);
 436 DEFN_PRODUCT_FLAG(PerMethodTrapLimit); DEFN_PRODUCT_RANGE(PerMethodTrapLimit);
 437 DEFN_PRODUCT_FLAG(PerMethodSpecTrapLimit); DEFN_PRODUCT_RANGE(PerMethodSpecTrapLimit);
 438 DEFN_PRODUCT_FLAG(PerBytecodeTrapLimit); DEFN_PRODUCT_RANGE(PerBytecodeTrapLimit);
 439 DEFN_PRODUCT_FLAG(SpecTrapLimitExtraEntries);
 440 DEFN_DEVELOP_FLAG(InlineFrequencyRatio); DEFN_DEVELOP_RANGE(InlineFrequencyRatio);
 441 DEFN_PRODUCT_FLAG_PD(InlineFrequencyCount); DEFN_PRODUCT_RANGE(InlineFrequencyCount);
 442 DEFN_DEVELOP_FLAG(InlineThrowCount); DEFN_DEVELOP_RANGE(InlineThrowCount);
 443 DEFN_DEVELOP_FLAG(InlineThrowMaxSize); DEFN_DEVELOP_RANGE(InlineThrowMaxSize);
 444 DEFN_DEVELOP_FLAG(ProfilerNodeSize); DEFN_DEVELOP_RANGE(ProfilerNodeSize);
 445 DEFN_PRODUCT_FLAG_PD(MetaspaceSize); DEFN_PRODUCT_CONSTRAINT(MetaspaceSize);
 446 DEFN_PRODUCT_FLAG(MaxMetaspaceSize); DEFN_PRODUCT_CONSTRAINT(MaxMetaspaceSize);
 447 DEFN_PRODUCT_FLAG(CompressedClassSpaceSize); DEFN_PRODUCT_RANGE(CompressedClassSpaceSize);
 448 DEFN_PRODUCT_FLAG(MinHeapFreeRatio); DEFN_PRODUCT_RANGE(MinHeapFreeRatio); DEFN_PRODUCT_CONSTRAINT(MinHeapFreeRatio);
 449 DEFN_PRODUCT_FLAG(MaxHeapFreeRatio); DEFN_PRODUCT_RANGE(MaxHeapFreeRatio); DEFN_PRODUCT_CONSTRAINT(MaxHeapFreeRatio);
 450 DEFN_PRODUCT_FLAG(ShrinkHeapInSteps);
 451 DEFN_PRODUCT_FLAG(SoftRefLRUPolicyMSPerMB); DEFN_PRODUCT_RANGE(SoftRefLRUPolicyMSPerMB); DEFN_PRODUCT_CONSTRAINT(SoftRefLRUPolicyMSPerMB);
 452 DEFN_PRODUCT_FLAG(MinHeapDeltaBytes); DEFN_PRODUCT_RANGE(MinHeapDeltaBytes);
 453 DEFN_PRODUCT_FLAG(MinMetaspaceExpansion); DEFN_PRODUCT_RANGE(MinMetaspaceExpansion);
 454 DEFN_PRODUCT_FLAG(MaxMetaspaceFreeRatio); DEFN_PRODUCT_RANGE(MaxMetaspaceFreeRatio); DEFN_PRODUCT_CONSTRAINT(MaxMetaspaceFreeRatio);
 455 DEFN_PRODUCT_FLAG(MinMetaspaceFreeRatio); DEFN_PRODUCT_RANGE(MinMetaspaceFreeRatio); DEFN_PRODUCT_CONSTRAINT(MinMetaspaceFreeRatio);
 456 DEFN_PRODUCT_FLAG(MaxMetaspaceExpansion); DEFN_PRODUCT_RANGE(MaxMetaspaceExpansion);
 457 DEFN_PRODUCT_FLAG_PD(StackYellowPages); DEFN_PRODUCT_RANGE(StackYellowPages);
 458 DEFN_PRODUCT_FLAG_PD(StackRedPages); DEFN_PRODUCT_RANGE(StackRedPages);
 459 DEFN_PRODUCT_FLAG_PD(StackReservedPages); DEFN_PRODUCT_RANGE(StackReservedPages);
 460 DEFN_PRODUCT_FLAG(RestrictReservedStack);
 461 DEFN_PRODUCT_FLAG_PD(StackShadowPages); DEFN_PRODUCT_RANGE(StackShadowPages);
 462 DEFN_PRODUCT_FLAG_PD(ThreadStackSize); DEFN_PRODUCT_RANGE(ThreadStackSize);
 463 DEFN_PRODUCT_FLAG_PD(VMThreadStackSize); DEFN_PRODUCT_RANGE(VMThreadStackSize);
 464 DEFN_PRODUCT_FLAG_PD(CompilerThreadStackSize); DEFN_PRODUCT_RANGE(CompilerThreadStackSize);
 465 DEFN_DEVELOP_FLAG_PD(JVMInvokeMethodSlack);
 466 DEFN_DEVELOP_FLAG_PD(CodeCacheSegmentSize); DEFN_DEVELOP_RANGE(CodeCacheSegmentSize); DEFN_DEVELOP_CONSTRAINT(CodeCacheSegmentSize);
 467 DEFN_DEVELOP_FLAG_PD(CodeEntryAlignment); DEFN_DEVELOP_CONSTRAINT(CodeEntryAlignment);
 468 DEFN_PRODUCT_FLAG_PD(OptoLoopAlignment); DEFN_PRODUCT_RANGE(OptoLoopAlignment); DEFN_PRODUCT_CONSTRAINT(OptoLoopAlignment);
 469 DEFN_PRODUCT_FLAG_PD(InitialCodeCacheSize); DEFN_PRODUCT_CUSTOM_RANGE(InitialCodeCacheSize);
 470 DEFN_DEVELOP_FLAG_PD(CodeCacheMinimumUseSpace); DEFN_DEVELOP_RANGE(CodeCacheMinimumUseSpace);
 471 DEFN_PRODUCT_FLAG(SegmentedCodeCache);
 472 DEFN_PRODUCT_FLAG_PD(ReservedCodeCacheSize); DEFN_PRODUCT_CUSTOM_RANGE(ReservedCodeCacheSize);
 473 DEFN_PRODUCT_FLAG_PD(NonProfiledCodeHeapSize); DEFN_PRODUCT_RANGE(NonProfiledCodeHeapSize);
 474 DEFN_PRODUCT_FLAG_PD(ProfiledCodeHeapSize); DEFN_PRODUCT_RANGE(ProfiledCodeHeapSize);
 475 DEFN_PRODUCT_FLAG_PD(NonNMethodCodeHeapSize); DEFN_PRODUCT_CUSTOM_RANGE(NonNMethodCodeHeapSize);
 476 DEFN_PRODUCT_FLAG_PD(CodeCacheExpansionSize); DEFN_PRODUCT_RANGE(CodeCacheExpansionSize);
 477 DEFN_PRODUCT_FLAG_PD(CodeCacheMinBlockLength); DEFN_PRODUCT_RANGE(CodeCacheMinBlockLength);
 478 DEFN_NOTPROD_FLAG(ExitOnFullCodeCache);
 479 DEFN_PRODUCT_FLAG(UseCodeCacheFlushing);
 480 DEFN_PRODUCT_FLAG(StartAggressiveSweepingAt); DEFN_PRODUCT_RANGE(StartAggressiveSweepingAt);
 481 DEFN_PRODUCT_FLAG(UseAOT);
 482 DEFN_PRODUCT_FLAG(AOTLibrary);
 483 DEFN_PRODUCT_FLAG(PrintAOT);
 484 DEFN_NOTPROD_FLAG(PrintAOTStatistics);
 485 DEFN_PRODUCT_FLAG(UseAOTStrictLoading);
 486 DEFN_PRODUCT_FLAG(CalculateClassFingerprint);
 487 DEFN_DEVELOP_FLAG(BinarySwitchThreshold);
 488 DEFN_DEVELOP_FLAG(StopInterpreterAt);
 489 DEFN_DEVELOP_FLAG(TraceBytecodesAt);
 490 DEFN_DEVELOP_FLAG(CIStart);
 491 DEFN_DEVELOP_FLAG(CIStop);
 492 DEFN_DEVELOP_FLAG(CIStartOSR);
 493 DEFN_DEVELOP_FLAG(CIStopOSR);
 494 DEFN_DEVELOP_FLAG(CIBreakAtOSR);
 495 DEFN_DEVELOP_FLAG(CIBreakAt);
 496 DEFN_PRODUCT_FLAG(CompileOnly);
 497 DEFN_PRODUCT_FLAG(CompileCommandFile);
 498 DEFN_PRODUCT_FLAG(CompilerDirectivesFile);
 499 DEFN_PRODUCT_FLAG(CompileCommand);
 500 DEFN_DEVELOP_FLAG(ReplayCompiles);
 501 DEFN_PRODUCT_FLAG(ReplayDataFile);
 502 DEFN_PRODUCT_FLAG(InlineDataFile);
 503 DEFN_DEVELOP_FLAG(ReplaySuppressInitializers); DEFN_DEVELOP_RANGE(ReplaySuppressInitializers);
 504 DEFN_DEVELOP_FLAG(ReplayIgnoreInitErrors);
 505 DEFN_PRODUCT_FLAG(DumpReplayDataOnError);
 506 DEFN_PRODUCT_FLAG(CICompilerCountPerCPU);
 507 DEFN_NOTPROD_FLAG(CICrashAt);
 508 DEFN_NOTPROD_FLAG(CIObjectFactoryVerify);
 509 DEFN_PRODUCT_FLAG(AbortVMOnCompilationFailure);
 510 DEFN_PRODUCT_FLAG_PD(UseThreadPriorities);
 511 DEFN_PRODUCT_FLAG(ThreadPriorityPolicy); DEFN_PRODUCT_RANGE(ThreadPriorityPolicy);
 512 DEFN_PRODUCT_FLAG(ThreadPriorityVerbose);
 513 DEFN_PRODUCT_FLAG(CompilerThreadPriority); DEFN_PRODUCT_RANGE(CompilerThreadPriority); DEFN_PRODUCT_CONSTRAINT(CompilerThreadPriority);
 514 DEFN_PRODUCT_FLAG(VMThreadPriority); DEFN_PRODUCT_RANGE(VMThreadPriority);
 515 DEFN_PRODUCT_FLAG(JavaPriority1_To_OSPriority); DEFN_PRODUCT_RANGE(JavaPriority1_To_OSPriority);
 516 DEFN_PRODUCT_FLAG(JavaPriority2_To_OSPriority); DEFN_PRODUCT_RANGE(JavaPriority2_To_OSPriority);
 517 DEFN_PRODUCT_FLAG(JavaPriority3_To_OSPriority); DEFN_PRODUCT_RANGE(JavaPriority3_To_OSPriority);
 518 DEFN_PRODUCT_FLAG(JavaPriority4_To_OSPriority); DEFN_PRODUCT_RANGE(JavaPriority4_To_OSPriority);
 519 DEFN_PRODUCT_FLAG(JavaPriority5_To_OSPriority); DEFN_PRODUCT_RANGE(JavaPriority5_To_OSPriority);
 520 DEFN_PRODUCT_FLAG(JavaPriority6_To_OSPriority); DEFN_PRODUCT_RANGE(JavaPriority6_To_OSPriority);
 521 DEFN_PRODUCT_FLAG(JavaPriority7_To_OSPriority); DEFN_PRODUCT_RANGE(JavaPriority7_To_OSPriority);
 522 DEFN_PRODUCT_FLAG(JavaPriority8_To_OSPriority); DEFN_PRODUCT_RANGE(JavaPriority8_To_OSPriority);
 523 DEFN_PRODUCT_FLAG(JavaPriority9_To_OSPriority); DEFN_PRODUCT_RANGE(JavaPriority9_To_OSPriority);
 524 DEFN_PRODUCT_FLAG(JavaPriority10_To_OSPriority); DEFN_PRODUCT_RANGE(JavaPriority10_To_OSPriority);
 525 DEFN_PRODUCT_FLAG(UseCriticalJavaThreadPriority);
 526 DEFN_PRODUCT_FLAG(UseCriticalCompilerThreadPriority);
 527 DEFN_DEVELOP_FLAG(NewCodeParameter);
 528 DEFN_DEVELOP_FLAG(MinOopMapAllocation);
 529 DEFN_DEVELOP_FLAG(LongCompileThreshold);
 530 DEFN_PRODUCT_FLAG_PD(CompileThreshold); DEFN_PRODUCT_CONSTRAINT(CompileThreshold);
 531 DEFN_PRODUCT_FLAG(CompileThresholdScaling); DEFN_PRODUCT_RANGE(CompileThresholdScaling);
 532 DEFN_PRODUCT_FLAG(Tier0InvokeNotifyFreqLog); DEFN_PRODUCT_RANGE(Tier0InvokeNotifyFreqLog);
 533 DEFN_PRODUCT_FLAG(Tier2InvokeNotifyFreqLog); DEFN_PRODUCT_RANGE(Tier2InvokeNotifyFreqLog);
 534 DEFN_PRODUCT_FLAG(Tier3InvokeNotifyFreqLog); DEFN_PRODUCT_RANGE(Tier3InvokeNotifyFreqLog);
 535 DEFN_PRODUCT_FLAG(Tier23InlineeNotifyFreqLog); DEFN_PRODUCT_RANGE(Tier23InlineeNotifyFreqLog);
 536 DEFN_PRODUCT_FLAG(Tier0BackedgeNotifyFreqLog); DEFN_PRODUCT_RANGE(Tier0BackedgeNotifyFreqLog);
 537 DEFN_PRODUCT_FLAG(Tier2BackedgeNotifyFreqLog); DEFN_PRODUCT_RANGE(Tier2BackedgeNotifyFreqLog);
 538 DEFN_PRODUCT_FLAG(Tier3BackedgeNotifyFreqLog); DEFN_PRODUCT_RANGE(Tier3BackedgeNotifyFreqLog);
 539 DEFN_PRODUCT_FLAG(Tier2CompileThreshold); DEFN_PRODUCT_RANGE(Tier2CompileThreshold);
 540 DEFN_PRODUCT_FLAG(Tier2BackEdgeThreshold); DEFN_PRODUCT_RANGE(Tier2BackEdgeThreshold);
 541 DEFN_PRODUCT_FLAG(Tier3InvocationThreshold); DEFN_PRODUCT_RANGE(Tier3InvocationThreshold);
 542 DEFN_PRODUCT_FLAG(Tier3MinInvocationThreshold); DEFN_PRODUCT_RANGE(Tier3MinInvocationThreshold);
 543 DEFN_PRODUCT_FLAG(Tier3CompileThreshold); DEFN_PRODUCT_RANGE(Tier3CompileThreshold);
 544 DEFN_PRODUCT_FLAG(Tier3BackEdgeThreshold); DEFN_PRODUCT_RANGE(Tier3BackEdgeThreshold);
 545 DEFN_PRODUCT_FLAG(Tier3AOTInvocationThreshold); DEFN_PRODUCT_RANGE(Tier3AOTInvocationThreshold);
 546 DEFN_PRODUCT_FLAG(Tier3AOTMinInvocationThreshold); DEFN_PRODUCT_RANGE(Tier3AOTMinInvocationThreshold);
 547 DEFN_PRODUCT_FLAG(Tier3AOTCompileThreshold); DEFN_PRODUCT_RANGE(Tier3AOTCompileThreshold);
 548 DEFN_PRODUCT_FLAG(Tier3AOTBackEdgeThreshold); DEFN_PRODUCT_RANGE(Tier3AOTBackEdgeThreshold);
 549 DEFN_PRODUCT_FLAG(Tier0AOTInvocationThreshold); DEFN_PRODUCT_RANGE(Tier0AOTInvocationThreshold);
 550 DEFN_PRODUCT_FLAG(Tier0AOTMinInvocationThreshold); DEFN_PRODUCT_RANGE(Tier0AOTMinInvocationThreshold);
 551 DEFN_PRODUCT_FLAG(Tier0AOTCompileThreshold); DEFN_PRODUCT_RANGE(Tier0AOTCompileThreshold);
 552 DEFN_PRODUCT_FLAG(Tier0AOTBackEdgeThreshold); DEFN_PRODUCT_RANGE(Tier0AOTBackEdgeThreshold);
 553 DEFN_PRODUCT_FLAG(Tier4InvocationThreshold); DEFN_PRODUCT_RANGE(Tier4InvocationThreshold);
 554 DEFN_PRODUCT_FLAG(Tier4MinInvocationThreshold); DEFN_PRODUCT_RANGE(Tier4MinInvocationThreshold);
 555 DEFN_PRODUCT_FLAG(Tier4CompileThreshold); DEFN_PRODUCT_RANGE(Tier4CompileThreshold);
 556 DEFN_PRODUCT_FLAG(Tier4BackEdgeThreshold); DEFN_PRODUCT_RANGE(Tier4BackEdgeThreshold);
 557 DEFN_PRODUCT_FLAG(Tier40InvocationThreshold); DEFN_PRODUCT_RANGE(Tier40InvocationThreshold);
 558 DEFN_PRODUCT_FLAG(Tier40MinInvocationThreshold); DEFN_PRODUCT_RANGE(Tier40MinInvocationThreshold);
 559 DEFN_PRODUCT_FLAG(Tier40CompileThreshold); DEFN_PRODUCT_RANGE(Tier40CompileThreshold);
 560 DEFN_PRODUCT_FLAG(Tier40BackEdgeThreshold); DEFN_PRODUCT_RANGE(Tier40BackEdgeThreshold);
 561 DEFN_PRODUCT_FLAG(Tier0Delay); DEFN_PRODUCT_RANGE(Tier0Delay);
 562 DEFN_PRODUCT_FLAG(Tier3DelayOn); DEFN_PRODUCT_RANGE(Tier3DelayOn);
 563 DEFN_PRODUCT_FLAG(Tier3DelayOff); DEFN_PRODUCT_RANGE(Tier3DelayOff);
 564 DEFN_PRODUCT_FLAG(Tier3LoadFeedback); DEFN_PRODUCT_RANGE(Tier3LoadFeedback);
 565 DEFN_PRODUCT_FLAG(Tier4LoadFeedback); DEFN_PRODUCT_RANGE(Tier4LoadFeedback);
 566 DEFN_PRODUCT_FLAG(TieredCompileTaskTimeout); DEFN_PRODUCT_RANGE(TieredCompileTaskTimeout);
 567 DEFN_PRODUCT_FLAG(TieredStopAtLevel); DEFN_PRODUCT_RANGE(TieredStopAtLevel);
 568 DEFN_PRODUCT_FLAG(Tier0ProfilingStartPercentage); DEFN_PRODUCT_RANGE(Tier0ProfilingStartPercentage);
 569 DEFN_PRODUCT_FLAG(IncreaseFirstTierCompileThresholdAt); DEFN_PRODUCT_RANGE(IncreaseFirstTierCompileThresholdAt);
 570 DEFN_PRODUCT_FLAG(TieredRateUpdateMinTime); DEFN_PRODUCT_RANGE(TieredRateUpdateMinTime);
 571 DEFN_PRODUCT_FLAG(TieredRateUpdateMaxTime); DEFN_PRODUCT_RANGE(TieredRateUpdateMaxTime);
 572 DEFN_PRODUCT_FLAG(CompilationMode);
 573 DEFN_PRODUCT_FLAG_PD(TieredCompilation);
 574 DEFN_PRODUCT_FLAG(PrintTieredEvents);
 575 DEFN_PRODUCT_FLAG_PD(OnStackReplacePercentage); DEFN_PRODUCT_CONSTRAINT(OnStackReplacePercentage);
 576 DEFN_PRODUCT_FLAG(InterpreterProfilePercentage); DEFN_PRODUCT_RANGE(InterpreterProfilePercentage);
 577 DEFN_DEVELOP_FLAG(DesiredMethodLimit);
 578 DEFN_DEVELOP_FLAG(HugeMethodLimit);
 579 DEFN_PRODUCT_FLAG(MaxDirectMemorySize); DEFN_PRODUCT_RANGE(MaxDirectMemorySize);
 580 DEFN_PRODUCT_FLAG(UseNewCode);
 581 DEFN_PRODUCT_FLAG(UseNewCode2);
 582 DEFN_PRODUCT_FLAG(UseNewCode3);
 583 DEFN_PRODUCT_FLAG(UsePerfData);
 584 DEFN_PRODUCT_FLAG(PerfDataSaveToFile);
 585 DEFN_PRODUCT_FLAG(PerfDataSaveFile);
 586 DEFN_PRODUCT_FLAG(PerfDataSamplingInterval);
 587     // TODO: to avoid circular dependency, the min/max cannot be declared in header file
 588     inline FLAG_TYPE_PerfDataSamplingInterval FLAG_MIN_PerfDataSamplingInterval() { return PeriodicTask::min_interval; }
 589     inline FLAG_TYPE_PerfDataSamplingInterval FLAG_MAX_PerfDataSamplingInterval() { return max_jint; }
 590     DEFN_PRODUCT_RANGE(PerfDataSamplingInterval); DEFN_PRODUCT_CONSTRAINT(PerfDataSamplingInterval);
 591 DEFN_PRODUCT_FLAG(PerfDisableSharedMem);
 592 DEFN_PRODUCT_FLAG(PerfDataMemorySize); DEFN_PRODUCT_RANGE(PerfDataMemorySize);
 593 DEFN_PRODUCT_FLAG(PerfMaxStringConstLength); DEFN_PRODUCT_RANGE(PerfMaxStringConstLength);
 594 DEFN_PRODUCT_FLAG(PerfAllowAtExitRegistration);
 595 DEFN_PRODUCT_FLAG(PerfBypassFileSystemCheck);
 596 DEFN_PRODUCT_FLAG(UnguardOnExecutionViolation); DEFN_PRODUCT_RANGE(UnguardOnExecutionViolation);
 597 DEFN_PRODUCT_FLAG(ManagementServer);
 598 DEFN_PRODUCT_FLAG(DisableAttachMechanism);
 599 DEFN_PRODUCT_FLAG(StartAttachListener);
 600 DEFN_PRODUCT_FLAG(EnableDynamicAgentLoading);
 601 DEFN_PRODUCT_FLAG(PrintConcurrentLocks);
 602 DEFN_PRODUCT_FLAG(UseSharedSpaces);
 603 DEFN_PRODUCT_FLAG(VerifySharedSpaces);
 604 DEFN_PRODUCT_FLAG(RequireSharedSpaces);
 605 DEFN_PRODUCT_FLAG(DumpSharedSpaces);
 606 DEFN_PRODUCT_FLAG(DynamicDumpSharedSpaces);
 607 DEFN_PRODUCT_FLAG(PrintSharedArchiveAndExit);
 608 DEFN_PRODUCT_FLAG(PrintSharedDictionary);
 609 DEFN_PRODUCT_FLAG(SharedBaseAddress); DEFN_PRODUCT_RANGE(SharedBaseAddress);
 610 DEFN_PRODUCT_FLAG(SharedArchiveConfigFile);
 611 DEFN_PRODUCT_FLAG(SharedSymbolTableBucketSize); DEFN_PRODUCT_RANGE(SharedSymbolTableBucketSize);
 612 DEFN_PRODUCT_FLAG(AllowArchivingWithJavaAgent);
 613 DEFN_PRODUCT_FLAG(PrintMethodHandleStubs);
 614 DEFN_DEVELOP_FLAG(TraceMethodHandles);
 615 DEFN_PRODUCT_FLAG(VerifyMethodHandles);
 616 DEFN_PRODUCT_FLAG(ShowHiddenFrames);
 617 DEFN_PRODUCT_FLAG(TrustFinalNonStaticFields);
 618 DEFN_PRODUCT_FLAG(FoldStableValues);
 619 DEFN_DEVELOP_FLAG(TraceInvokeDynamic);
 620 DEFN_PRODUCT_FLAG(UseBootstrapCallInfo);
 621 DEFN_PRODUCT_FLAG(PauseAtStartup);
 622 DEFN_PRODUCT_FLAG(PauseAtStartupFile);
 623 DEFN_PRODUCT_FLAG(PauseAtExit);
 624 DEFN_PRODUCT_FLAG(ExtendedDTraceProbes);
 625 DEFN_PRODUCT_FLAG(DTraceMethodProbes);
 626 DEFN_PRODUCT_FLAG(DTraceAllocProbes);
 627 DEFN_PRODUCT_FLAG(DTraceMonitorProbes);
 628 DEFN_PRODUCT_FLAG(RelaxAccessControlCheck);
 629 DEFN_PRODUCT_FLAG(StringTableSize); DEFN_PRODUCT_RANGE(StringTableSize);
 630 DEFN_PRODUCT_FLAG(SymbolTableSize); DEFN_PRODUCT_RANGE(SymbolTableSize);
 631 DEFN_PRODUCT_FLAG(UseStringDeduplication);
 632 DEFN_PRODUCT_FLAG(StringDeduplicationAgeThreshold);
 633     // TODO: to avoid circular dependency, the min/max cannot be declared in header file
 634     inline FLAG_TYPE_StringDeduplicationAgeThreshold FLAG_MIN_StringDeduplicationAgeThreshold() { return 1; }
 635     inline FLAG_TYPE_StringDeduplicationAgeThreshold FLAG_MAX_StringDeduplicationAgeThreshold() { return markWord::max_age; }
 636     DEFN_PRODUCT_RANGE(StringDeduplicationAgeThreshold);
 637 DEFN_PRODUCT_FLAG(StringDeduplicationResizeALot);
 638 DEFN_PRODUCT_FLAG(StringDeduplicationRehashALot);
 639 DEFN_PRODUCT_FLAG(WhiteBoxAPI);
 640 DEFN_PRODUCT_FLAG(SurvivorAlignmentInBytes); DEFN_PRODUCT_RANGE(SurvivorAlignmentInBytes); DEFN_PRODUCT_CONSTRAINT(SurvivorAlignmentInBytes);
 641 DEFN_PRODUCT_FLAG(DumpLoadedClassList);
 642 DEFN_PRODUCT_FLAG(SharedClassListFile);
 643 DEFN_PRODUCT_FLAG(SharedArchiveFile);
 644 DEFN_PRODUCT_FLAG(ArchiveClassesAtExit);
 645 DEFN_PRODUCT_FLAG(ExtraSharedClassListFile);
 646 DEFN_PRODUCT_FLAG(ArchiveRelocationMode); DEFN_PRODUCT_RANGE(ArchiveRelocationMode);
 647 DEFN_PRODUCT_FLAG(ArrayAllocatorMallocLimit);
 648 DEFN_PRODUCT_FLAG(AlwaysAtomicAccesses);
 649 DEFN_PRODUCT_FLAG(UseUnalignedAccesses);
 650 DEFN_PRODUCT_FLAG_PD(PreserveFramePointer);
 651 DEFN_PRODUCT_FLAG(CheckIntrinsics);
 652 DEFN_PRODUCT_FLAG_PD(InitArrayShortSize); DEFN_PRODUCT_RANGE(InitArrayShortSize); DEFN_PRODUCT_CONSTRAINT(InitArrayShortSize);
 653 DEFN_PRODUCT_FLAG(CompilerDirectivesIgnoreCompileCommands);
 654 DEFN_PRODUCT_FLAG(CompilerDirectivesPrint);
 655 DEFN_PRODUCT_FLAG(CompilerDirectivesLimit);
 656 DEFN_PRODUCT_FLAG(AllocateHeapAt);
 657 DEFN_PRODUCT_FLAG(AllocateOldGenAt);
 658 DEFN_DEVELOP_FLAG(VerifyMetaspaceInterval);
 659 DEFN_PRODUCT_FLAG(ShowRegistersOnAssert);
 660 DEFN_PRODUCT_FLAG(UseSwitchProfiling);
 661 DEFN_DEVELOP_FLAG(TraceMemoryWriteback);
 662 JFR_ONLY(DEFN_PRODUCT_FLAG(FlightRecorder);)
 663 
 664 JFR_ONLY(DEFN_PRODUCT_FLAG(FlightRecorderOptions);)
 665 
 666 JFR_ONLY(DEFN_PRODUCT_FLAG(StartFlightRecording);)
 667 
 668 DEFN_PRODUCT_FLAG(UseFastUnorderedTimeStamps);
 669 DEFN_PRODUCT_FLAG(UseNewFieldLayout);
 670 DEFN_PRODUCT_FLAG(UseEmptySlotsInSupers);