(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