(svc) 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 09:39:26 UTC 2017
A small serviceability part of this change, to update some management
tests that refer to flags that have been removed.
webrev: http://cr.openjdk.java.net/~dholmes/8173421/webrev.jdk/
Changes:
- com/sun/management/HotSpotDiagnosticMXBean/CheckOrigin.java
UseParNewGC is gone, but MaxNewSize will be set ergonomically.
- java/lang/management/MemoryMXBean/LowMemoryTest.java
- java/lang/management/MemoryMXBean/ResetPeakMemoryUsage.java
ExplicitGCInvokesConcurrentAndUnloadsClasses no longer exists.
- java/lang/management/MemoryMXBean/LowMemoryTest2.sh
UseParNewGC no longer exists.
Thanks,
David
On 27/01/2017 3:13 PM, David Holmes wrote:
> 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 serviceability-dev
mailing list