Summary
As part of JEP 410 Ahead-of-Time Compiler (AOT) code is removed from JDK.
Related code and flags (including product flags) in HotSpot are removed too: AOT removal PR
In JDK 16 we excluded AOT from builds 8255616 and marked all related bugs as unsupported: 8255914.
Problem
Even so AOT is experimental feature it has several product flags (incorrectly). We converted main AOT flags to experimental some time ago with 8227439 but missed few:
-XX:Tier3AOTInvocationThreshold=10000
-XX:Tier3AOTMinInvocationThreshold=1000
-XX:Tier3AOTCompileThreshold=15000
-XX:Tier3AOTBackEdgeThreshold=120000
-XX:+CalculateClassFingerprint
Solution
Remove these flags as part of AOT removal changes.
Specification
Remove flags:
diff --git a/src/hotspot/share/compiler/compiler_globals.hpp b/src/hotspot/share/compiler/compiler_globals.hpp
index d12bb9ba7ba..050e5e1f6db 100644
--- a/src/hotspot/share/compiler/compiler_globals.hpp
+++ b/src/hotspot/share/compiler/compiler_globals.hpp
@@ -190,33 +190,6 @@
"Back edge threshold at which tier 3 OSR compilation is invoked") \
range(0, max_jint) \
\
- product(intx, Tier3AOTInvocationThreshold, 10000, \
- "Compile if number of method invocations crosses this " \
- "threshold if coming from AOT;" \
- "with CompilationMode=high-only|high-only-quick-internal)" \
- "determines when to transition from AOT to interpreter") \
- range(0, max_jint) \
- \
- product(intx, Tier3AOTMinInvocationThreshold, 1000, \
- "Minimum invocation to compile at tier 3 if coming from AOT;" \
- "with CompilationMode=high-only|high-only-quick-internal)" \
- "determines when to transition from AOT to interpreter") \
- range(0, max_jint) \
- \
- product(intx, Tier3AOTCompileThreshold, 15000, \
- "Threshold at which tier 3 compilation is invoked (invocation " \
- "minimum must be satisfied) if coming from AOT;" \
- "with CompilationMode=high-only|high-only-quick-internal)" \
- "determines when to transition from AOT to interpreter") \
- range(0, max_jint) \
- \
- product(intx, Tier3AOTBackEdgeThreshold, 120000, \
- "Back edge threshold at which tier 3 OSR compilation is invoked " \
- "if coming from AOT;" \
- "with CompilationMode=high-only|high-only-quick-internal)" \
- "determines when to transition from AOT to interpreter") \
- range(0, max_jint) \
- \
product(intx, Tier4InvocationThreshold, 5000, \
"Compile if number of method invocations crosses this " \
"threshold") \
diff --git a/src/hotspot/share/runtime/globals.hpp b/src/hotspot/share/runtime/globals.hpp
index f3a8fa00a35..f49a5d97a6a 100644
--- a/src/hotspot/share/runtime/globals.hpp
+++ b/src/hotspot/share/runtime/globals.hpp
@@ -1656,25 +1656,6 @@ const intx ObjectAlignmentInBytes = 8;
"Non-segmented code cache: X[%] of the total code cache") \
range(0, 100) \
\
- /* AOT parameters */ \
- product(bool, UseAOT, false, EXPERIMENTAL, \
- "Use AOT compiled files") \
- \
- product(ccstrlist, AOTLibrary, NULL, EXPERIMENTAL, \
- "AOT library") \
- \
- product(bool, PrintAOT, false, EXPERIMENTAL, \
- "Print used AOT klasses and methods") \
- \
- notproduct(bool, PrintAOTStatistics, false, \
- "Print AOT statistics") \
- \
- product(bool, UseAOTStrictLoading, false, DIAGNOSTIC, \
- "Exit the VM if any of the AOT libraries has invalid config") \
- \
- product(bool, CalculateClassFingerprint, false, \
- "Calculate class fingerprint") \
- \
/* interpreter debugging */ \
develop(intx, BinarySwitchThreshold, 5, \
"Minimal number of lookupswitch entries for rewriting to binary " \
- csr of
-
JDK-8264805 Remove the experimental Ahead-of-Time Compiler
- Resolved