JDK 10 RFR: 8173421: Obsolete and expired flags for JDK 10 need to be removed and related tests updated
David Holmes
david.holmes at oracle.com
Fri Jan 27 05:13:53 UTC 2017
Bug: https://bugs.openjdk.java.net/browse/JDK-8173421
When we try to bump the JDK version to 10 we trigger all the warnings
(and an assert) surrounding the VM deprecated/obsolete/expired flag
handling. In short anything that expires in 10 must now be removed;
anything now obsolete in 10 must go in a different table. Related
changes required to source code and tests. Gory details below.
webrev: http://cr.openjdk.java.net/~dholmes/8173421/webrev/
Testing: JPRT (in progress)
Manual runs of affected regression tests
This will be pushed to jdk10/jdk10 along with the actual change to bump
the major version number.
There are some Zero and Aarch64 code tweaks that should have been
handled in JDK 9 but got overlooked somehow. Nothing significant.
Thanks,
David
---
Non-aliased flags:
AutoGCSelectPauseMillis (def: 5000) has now expired and is removed
completely from the source code.
UseAutoGCSelectPolicy (def: false) has now expired and is removed
completely from the source code as-if replaced by false.
UseParNewGC (def: false) expired. However it is expected/required to be
true whenever UseConcMarkSweepGC is true, and UseConcMarkSweepGC has not
been deprecated. So we must remove all uses as-if it were true, not false.
ExplicitGCInvokesConcurrentAndUnloadsClasses (def: false) has now
expired and is removed completely from the source as-if replaced by false.
ConvertSleepToYield (def: true) is now obsolete. It is moved to the
obsolete table and is removed completely from the source code as-if
replaced by true.
ConvertYieldToSleep (def: false) is now obsolete. It is moved to the
obsolete table and is removed completely from the source code as-if
replaced by false.
As a result of the above MinSleepInterval is no longer used (it should
have also been deprecated in 9) and is also marked as obsolete.
---
Aliased options that have expired:
CMSMarkStackSizeMax is an alias and has expired. It is removed from the
alias and obsolete flag tables.
CMSMarkStackSize is an alias and has expired. It is removed from the
alias and obsolete flag tables.
G1MarkStackSize is an alias and has expired. It is removed from the
alias and obsolete flag tables.
ParallelMarkingThreads is an alias and has expired. It is removed from
the alias and obsolete flag tables.
ParallelCMSThreads is an alias and has expired. It is removed from the
alias and obsolete flag tables.
---
The following flags all expire in 10 and exist (except where noted) only
in the special-flag table (from which they are now removed). Any other
uses of the flag are removed.
UseOldInlining
SafepointPollOffset (defined in ./cpu/aarch64/vm/c1_globals_aarch64.hpp)
UseBoundThreads (comments in os_solaris.cpp)
DefaultThreadPriority
NoYieldsInMicrolock
BackEdgeThreshold (defined in c1/2_globals_aarch64.hpp)
UseNewReflection
ReflectionWrapResolutionErrors
VerifyReflectionBytecodes
AutoShutdownNMT
NmethodSweepFraction
NmethodSweepCheckInterval
CodeCacheMinimumFreeSpace
UseFastAccessorMethods (ZERO) (still used in
ccpInterpreterGenerator_zero.cpp, jvmtiManageCapabilities.cpp)
UseFastEmptyMethods (ZERO) (still used in
ccpInterpreterGenerator_zero.cpp, jvmtiManageCapabilities.cpp)
UseCompilerSafepoints
AdaptiveSizePausePolicy
ParallelGCRetainPLAB
ThreadSafetyMargin
LazyBootClassLoader
StarvationMonitorInterval
PreInflateSpin
JNIDetachReleasesMonitors
UseAltSigs
SegmentedHeapDumpThreshold
PrintOopAddress (comment in method.cpp)
PermSize
MaxPermSize
---
Tests modified:
runtime/CommandLine/
ObsoleteFlagErrorMessage.java
VMDeprecatedOptions.java
VMAliasOptions.java
gc/arguments/TestSelectDefaultGC.java
---
Tests removed (TEST.groups updated as needed):
gc/startup_warnings/
TestUseAutoGCSelectPolicy.java
TestParNewSerialOld.java
TestParNewCMS.java
TestDefNewCMS.java
gc/arguments/TestExplicitGCInvokesConcurrentAndUnloadsClasses.java
runtime/CommandLine/PermGenFlagsTest.java
runtime/NMT/AutoshutdownNMT.java
More information about the hotspot-dev
mailing list