< prev index next >

src/share/vm/runtime/arguments.cpp

Print this page




 302  *      globals.hpp, globals_<cpu>.hpp, globals_<os>.hpp, <compiler>_globals.hpp, or <gc>_globals.hpp.
 303  *  -XX arguments are parsed in parse_argument().
 304  *  -XX argument bounds checking is done in check_vm_args_consistency().
 305  *
 306  * Over time -XX arguments may change. There are mechanisms to handle common cases:
 307  *
 308  *      ALIASED: An option that is simply another name for another option. This is often
 309  *               part of the process of deprecating a flag, but not all aliases need
 310  *               to be deprecated.
 311  *
 312  *               Create an alias for an option by adding the old and new option names to the
 313  *               "aliased_jvm_flags" table. Delete the old variable from globals.hpp (etc).
 314  *
 315  *   DEPRECATED: An option that is supported, but a warning is printed to let the user know that
 316  *               support may be removed in the future. Both regular and aliased options may be
 317  *               deprecated.
 318  *
 319  *               Add a deprecation warning for an option (or alias) by adding an entry in the
 320  *               "special_jvm_flags" table and setting the "deprecated_in" field.
 321  *               Often an option "deprecated" in one major release will
 322  *               be made "obsolete" in the next. In this case the entry should also have it's
 323  *               "obsolete_in" field set.
 324  *
 325  *     OBSOLETE: An option that has been removed (and deleted from globals.hpp), but is still accepted
 326  *               on the command line. A warning is printed to let the user know that option might not
 327  *               be accepted in the future.
 328  *
 329  *               Add an obsolete warning for an option by adding an entry in the "special_jvm_flags"
 330  *               table and setting the "obsolete_in" field.
 331  *
 332  *      EXPIRED: A deprecated or obsolete option that has an "accept_until" version less than or equal
 333  *               to the current JDK version. The system will flatly refuse to admit the existence of
 334  *               the flag. This allows a flag to die automatically over JDK releases.
 335  *
 336  *               Note that manual cleanup of expired options should be done at major JDK version upgrades:
 337  *                  - Newly expired options should be removed from the special_jvm_flags and aliased_jvm_flags tables.
 338  *                  - Newly obsolete or expired deprecated options should have their global variable
 339  *                    definitions removed (from globals.hpp, etc) and related implementations removed.
 340  *
 341  * Recommended approach for removing options:
 342  *


 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 
 386   // -------------- Obsolete Flags - sorted by expired_in --------------
 387   { "ConvertSleepToYield",           JDK_Version::jdk(9),      JDK_Version::jdk(10), JDK_Version::jdk(11) },
 388   { "ConvertYieldToSleep",           JDK_Version::jdk(9),      JDK_Version::jdk(10), JDK_Version::jdk(11) },
 389   { "MinSleepInterval",              JDK_Version::jdk(9),      JDK_Version::jdk(10), JDK_Version::jdk(11) },
 390   { "PermSize",                      JDK_Version::undefined(), JDK_Version::jdk(8),  JDK_Version::undefined() },
 391   { "MaxPermSize",                   JDK_Version::undefined(), JDK_Version::jdk(8),  JDK_Version::undefined() },
 392 
 393 #ifdef TEST_VERIFY_SPECIAL_JVM_FLAGS
 394   { "dep > obs",                    JDK_Version::jdk(9), JDK_Version::jdk(8), JDK_Version::undefined() },
 395   { "dep > exp ",                   JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(8) },
 396   { "obs > exp ",                   JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(8) },
 397   { "not deprecated or obsolete",   JDK_Version::undefined(), JDK_Version::undefined(), JDK_Version::jdk(9) },
 398   { "dup option",                   JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
 399   { "dup option",                   JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
 400   { "BytecodeVerificationRemote",   JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::undefined() },
 401 #endif
 402 
 403   { NULL, JDK_Version(0), JDK_Version(0) }
 404 };




 302  *      globals.hpp, globals_<cpu>.hpp, globals_<os>.hpp, <compiler>_globals.hpp, or <gc>_globals.hpp.
 303  *  -XX arguments are parsed in parse_argument().
 304  *  -XX argument bounds checking is done in check_vm_args_consistency().
 305  *
 306  * Over time -XX arguments may change. There are mechanisms to handle common cases:
 307  *
 308  *      ALIASED: An option that is simply another name for another option. This is often
 309  *               part of the process of deprecating a flag, but not all aliases need
 310  *               to be deprecated.
 311  *
 312  *               Create an alias for an option by adding the old and new option names to the
 313  *               "aliased_jvm_flags" table. Delete the old variable from globals.hpp (etc).
 314  *
 315  *   DEPRECATED: An option that is supported, but a warning is printed to let the user know that
 316  *               support may be removed in the future. Both regular and aliased options may be
 317  *               deprecated.
 318  *
 319  *               Add a deprecation warning for an option (or alias) by adding an entry in the
 320  *               "special_jvm_flags" table and setting the "deprecated_in" field.
 321  *               Often an option "deprecated" in one major release will
 322  *               be made "obsolete" in the next. In this case the entry should also have its
 323  *               "obsolete_in" field set.
 324  *
 325  *     OBSOLETE: An option that has been removed (and deleted from globals.hpp), but is still accepted
 326  *               on the command line. A warning is printed to let the user know that option might not
 327  *               be accepted in the future.
 328  *
 329  *               Add an obsolete warning for an option by adding an entry in the "special_jvm_flags"
 330  *               table and setting the "obsolete_in" field.
 331  *
 332  *      EXPIRED: A deprecated or obsolete option that has an "accept_until" version less than or equal
 333  *               to the current JDK version. The system will flatly refuse to admit the existence of
 334  *               the flag. This allows a flag to die automatically over JDK releases.
 335  *
 336  *               Note that manual cleanup of expired options should be done at major JDK version upgrades:
 337  *                  - Newly expired options should be removed from the special_jvm_flags and aliased_jvm_flags tables.
 338  *                  - Newly obsolete or expired deprecated options should have their global variable
 339  *                    definitions removed (from globals.hpp, etc) and related implementations removed.
 340  *
 341  * Recommended approach for removing options:
 342  *


 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() },
 401   { "dup option",                   JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
 402   { "BytecodeVerificationRemote",   JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::undefined() },
 403 #endif
 404 
 405   { NULL, JDK_Version(0), JDK_Version(0) }
 406 };


< prev index next >