--- a/src/hotspot/share/runtime/globals.hpp Fri Nov 01 14:18:40 2019 +0100
+++ b/src/hotspot/share/runtime/globals.hpp Wed Nov 06 17:13:26 2019 +0100
@@ -2068,6 +2068,35 @@
"if coming from AOT") \
range(0, max_jint) \
\
+ diagnostic(intx, Tier0AOTInvocationThreshold, 200, \
+ "Switch to interpreter to profile if the number of method " \
+ "invocations crosses this threshold if coming from AOT " \
+ "(applicable only with " \
+ "CompilationMode=high-only|high-only-quick-internal)") \
+ range(0, max_jint) \
+ \
+ diagnostic(intx, Tier0AOTMinInvocationThreshold, 100, \
+ "Minimum number of invocations to switch to interpreter " \
+ "to profile if coming from AOT " \
+ "(applicable only with " \
+ "CompilationMode=high-only|high-only-quick-internal)") \
+ range(0, max_jint) \
+ \
+ diagnostic(intx, Tier0AOTCompileThreshold, 2000, \
+ "Threshold at which to switch to interpreter to profile " \
+ "if coming from AOT " \
+ "(invocation minimum must be satisfied, " \
+ "applicable only with " \
+ "CompilationMode=high-only|high-only-quick-internal)") \
+ range(0, max_jint) \
+ \
+ diagnostic(intx, Tier0AOTBackEdgeThreshold, 60000, \
+ "Back edge threshold at which to switch to interpreter " \
+ "to profile if coming from AOT " \
+ "(applicable only with " \
+ "CompilationMode=high-only|high-only-quick-internal)") \
+ range(0, max_jint) \
+ \
product(intx, Tier4InvocationThreshold, 5000, \
"Compile if number of method invocations crosses this " \
"threshold") \
@@ -2079,13 +2108,44 @@
\
product(intx, Tier4CompileThreshold, 15000, \
"Threshold at which tier 4 compilation is invoked (invocation " \
- "minimum must be satisfied") \
+ "minimum must be satisfied)") \
range(0, max_jint) \
\
product(intx, Tier4BackEdgeThreshold, 40000, \
"Back edge threshold at which tier 4 OSR compilation is invoked") \
range(0, max_jint) \
\
+ diagnostic(intx, Tier40InvocationThreshold, 5000, \
+ "Compile if number of method invocations crosses this " \
+ "threshold (applicable only with " \
+ "CompilationMode=high-only|high-only-quick-internal)") \
+ range(0, max_jint) \
+ \
+ diagnostic(intx, Tier40MinInvocationThreshold, 600, \
+ "Minimum number of invocations to compile at tier 4 " \
+ "(applicable only with " \
+ "CompilationMode=high-only|high-only-quick-internal)") \
+ range(0, max_jint) \
+ \
+ diagnostic(intx, Tier40CompileThreshold, 10000, \
+ "Threshold at which tier 4 compilation is invoked (invocation " \
+ "minimum must be satisfied, applicable only with " \
+ "CompilationMode=high-only|high-only-quick-internal)") \
+ range(0, max_jint) \
+ \
+ diagnostic(intx, Tier40BackEdgeThreshold, 15000, \
+ "Back edge threshold at which tier 4 OSR compilation is invoked " \
+ "(applicable only with " \
+ "CompilationMode=high-only|high-only-quick-internal)") \
+ range(0, max_jint) \
+ \
+ diagnostic(intx, Tier0Delay, 5, \
+ "If C2 queue size grows over this amount per compiler thread " \
+ "do not start profiling in the interpreter " \
+ "(applicable only with " \
+ "CompilationMode=high-only|high-only-quick-internal)") \
+ range(0, max_jint) \
+ \
product(intx, Tier3DelayOn, 5, \
"If C2 queue size grows over this amount per compiler thread " \
"stop compiling at tier 3 and start compiling at tier 2") \
@@ -2117,7 +2177,9 @@
\
product(intx, Tier0ProfilingStartPercentage, 200, \
"Start profiling in interpreter if the counters exceed tier 3 " \
- "thresholds by the specified percentage") \
+ "thresholds (tier 4 thresholds with " \
+ "CompilationMode=high-only|high-only-quick-internal)" \
+ "by the specified percentage") \
range(0, max_jint) \
\
product(uintx, IncreaseFirstTierCompileThresholdAt, 50, \
@@ -2133,6 +2195,14 @@
"Maximum rate sampling interval (in milliseconds)") \
range(0, max_intx) \
\
+ product(ccstr, CompilationMode, "default", \
+ "Compilation modes: " \
+ "default: normal tiered compilation; " \
+ "quick-only: C1-only mode; " \
+ "high-only: C2/JVMCI-only mode; " \
+ "high-only-quick-internal: C2/JVMCI-only mode, " \
+ "with JVMCI compiler compiled with C1.") \
+ \
product_pd(bool, TieredCompilation, \
"Enable tiered compilation") \
\
@@ -2162,9 +2232,6 @@
"Maximum total size of NIO direct-buffer allocations") \
range(0, max_jlong) \
\
- product(bool, ClassForNameDeferLinking, false, \
- "Revert to not linking in Class.forName()") \
- \
/* Flags used for temporary code during development */ \
\
diagnostic(bool, UseNewCode, false, \