8350753: Deprecate UseCompressedClassPointers

Reviewed-by: coleenp, dholmes
This commit is contained in:
Thomas Stuefe 2025-04-12 05:58:39 +00:00
parent e8bcedb09b
commit 034c0d4de5
3 changed files with 13 additions and 1 deletions

View File

@ -524,6 +524,9 @@ static SpecialFlag const special_jvm_flags[] = {
{ "UseOprofile", JDK_Version::jdk(25), JDK_Version::jdk(26), JDK_Version::jdk(27) },
#endif
{ "LockingMode", JDK_Version::jdk(24), JDK_Version::jdk(26), JDK_Version::jdk(27) },
#ifdef _LP64
{ "UseCompressedClassPointers", JDK_Version::jdk(25), JDK_Version::jdk(26), JDK_Version::undefined() },
#endif
// --- Deprecated alias flags (see also aliased_jvm_flags) - sorted by obsolete_in then expired_in:
{ "CreateMinidumpOnCrash", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },

View File

@ -125,7 +125,7 @@ const size_t minimumSymbolTableSize = 1024;
"lp64_product means flag is always constant in 32 bit VM") \
\
product(bool, UseCompressedClassPointers, true, \
"Use 32-bit class pointers in 64-bit VM. " \
"(Deprecated) Use 32-bit class pointers in 64-bit VM. " \
"lp64_product means flag is always constant in 32 bit VM") \
\
product(bool, UseCompactObjectHeaders, false, EXPERIMENTAL, \

View File

@ -55,6 +55,7 @@ public class VMDeprecatedOptions {
// optionally added.
ArrayList<String[]> deprecated = new ArrayList(
Arrays.asList(new String[][] {
// { <flag name> , <expected default value> }
// deprecated non-alias flags:
{"AllowRedefinitionToAddDeleteMethods", "true"},
{"LockingMode", "1"},
@ -63,6 +64,13 @@ public class VMDeprecatedOptions {
{"CreateMinidumpOnCrash", "false"}
}
));
if (Platform.is64bit()) {
deprecated.addAll(
Arrays.asList(new String[][] {
{"UseCompressedClassPointers", "false"},
})
);
}
if (Platform.isLinux()) {
deprecated.addAll(
Arrays.asList(new String[][] {
@ -96,6 +104,7 @@ public class VMDeprecatedOptions {
}
OutputAnalyzer output = CommandLineOptionTest.startVMWithOptions(optionNames, expectedValues);
output.reportDiagnosticSummary();
// check for option deprecation messages:
output.shouldHaveExitValue(0);