361 // When the JDK version reaches 'deprecated_in' limit, the JVM will process this flag on
362 // the command-line as usual, but will issue a warning.
363 // When the JDK version reaches 'obsolete_in' limit, the JVM will continue accepting this flag on
364 // the command-line, while issuing a warning and ignoring the flag value.
365 // Once the JDK version reaches 'expired_in' limit, the JVM will flatly refuse to admit the
366 // existence of the flag.
367 //
368 // MANUAL CLEANUP ON JDK VERSION UPDATES:
369 // This table ensures that the handling of options will update automatically when the JDK
370 // version is incremented, but the source code needs to be cleanup up manually:
371 // - As "deprecated" options age into "obsolete" or "expired" options, the associated "globals"
372 // variable should be removed, as well as users of the variable.
373 // - As "deprecated" options age into "obsolete" options, move the entry into the
374 // "Obsolete Flags" section of the table.
375 // - All expired options should be removed from the table.
376 static SpecialFlag const special_jvm_flags[] = {
377 // -------------- Deprecated Flags --------------
378 // --- Non-alias flags - sorted by obsolete_in then expired_in:
379 { "MaxGCMinorPauseMillis", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() },
380 { "UseConcMarkSweepGC", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
381
382 // --- Deprecated alias flags (see also aliased_jvm_flags) - sorted by obsolete_in then expired_in:
383 { "DefaultMaxRAMFraction", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() },
384 { "CreateMinidumpOnCrash", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
385 { "MustCallLoadClassInternal", JDK_Version::jdk(10), JDK_Version::undefined(), JDK_Version::undefined() },
386 { "UnsyncloadClass", JDK_Version::jdk(10), JDK_Version::undefined(), JDK_Version::undefined() },
387
388 // -------------- Obsolete Flags - sorted by expired_in --------------
389 { "ConvertSleepToYield", JDK_Version::jdk(9), JDK_Version::jdk(10), JDK_Version::jdk(11) },
390 { "ConvertYieldToSleep", JDK_Version::jdk(9), JDK_Version::jdk(10), JDK_Version::jdk(11) },
391 { "MinSleepInterval", JDK_Version::jdk(9), JDK_Version::jdk(10), JDK_Version::jdk(11) },
392 { "PermSize", JDK_Version::undefined(), JDK_Version::jdk(8), JDK_Version::undefined() },
393 { "MaxPermSize", JDK_Version::undefined(), JDK_Version::jdk(8), JDK_Version::undefined() },
394
395 #ifdef TEST_VERIFY_SPECIAL_JVM_FLAGS
396 { "dep > obs", JDK_Version::jdk(9), JDK_Version::jdk(8), JDK_Version::undefined() },
397 { "dep > exp ", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(8) },
398 { "obs > exp ", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(8) },
399 { "not deprecated or obsolete", JDK_Version::undefined(), JDK_Version::undefined(), JDK_Version::jdk(9) },
400 { "dup option", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
|
361 // When the JDK version reaches 'deprecated_in' limit, the JVM will process this flag on
362 // the command-line as usual, but will issue a warning.
363 // When the JDK version reaches 'obsolete_in' limit, the JVM will continue accepting this flag on
364 // the command-line, while issuing a warning and ignoring the flag value.
365 // Once the JDK version reaches 'expired_in' limit, the JVM will flatly refuse to admit the
366 // existence of the flag.
367 //
368 // MANUAL CLEANUP ON JDK VERSION UPDATES:
369 // This table ensures that the handling of options will update automatically when the JDK
370 // version is incremented, but the source code needs to be cleanup up manually:
371 // - As "deprecated" options age into "obsolete" or "expired" options, the associated "globals"
372 // variable should be removed, as well as users of the variable.
373 // - As "deprecated" options age into "obsolete" options, move the entry into the
374 // "Obsolete Flags" section of the table.
375 // - All expired options should be removed from the table.
376 static SpecialFlag const special_jvm_flags[] = {
377 // -------------- Deprecated Flags --------------
378 // --- Non-alias flags - sorted by obsolete_in then expired_in:
379 { "MaxGCMinorPauseMillis", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() },
380 { "UseConcMarkSweepGC", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
381 { "MonitorInUseLists", JDK_Version::jdk(10),JDK_Version::undefined(), JDK_Version::undefined() },
382
383 // --- Deprecated alias flags (see also aliased_jvm_flags) - sorted by obsolete_in then expired_in:
384 { "DefaultMaxRAMFraction", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() },
385 { "CreateMinidumpOnCrash", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
386 { "MustCallLoadClassInternal", JDK_Version::jdk(10), JDK_Version::undefined(), JDK_Version::undefined() },
387 { "UnsyncloadClass", JDK_Version::jdk(10), JDK_Version::undefined(), JDK_Version::undefined() },
388
389 // -------------- Obsolete Flags - sorted by expired_in --------------
390 { "ConvertSleepToYield", JDK_Version::jdk(9), JDK_Version::jdk(10), JDK_Version::jdk(11) },
391 { "ConvertYieldToSleep", JDK_Version::jdk(9), JDK_Version::jdk(10), JDK_Version::jdk(11) },
392 { "MinSleepInterval", JDK_Version::jdk(9), JDK_Version::jdk(10), JDK_Version::jdk(11) },
393 { "PermSize", JDK_Version::undefined(), JDK_Version::jdk(8), JDK_Version::undefined() },
394 { "MaxPermSize", JDK_Version::undefined(), JDK_Version::jdk(8), JDK_Version::undefined() },
395
396 #ifdef TEST_VERIFY_SPECIAL_JVM_FLAGS
397 { "dep > obs", JDK_Version::jdk(9), JDK_Version::jdk(8), JDK_Version::undefined() },
398 { "dep > exp ", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(8) },
399 { "obs > exp ", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(8) },
400 { "not deprecated or obsolete", JDK_Version::undefined(), JDK_Version::undefined(), JDK_Version::jdk(9) },
401 { "dup option", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
|