JDK 10 RFR: 8173421: Obsolete and expired flags for JDK 10 need to be removed and related tests updated (original) (raw)
Daniel D. Daugherty daniel.daugherty at oracle.com
Wed Feb 1 00:15:12 UTC 2017
- Previous message: JDK 10 RFR: 8173421: Obsolete and expired flags for JDK 10 need to be removed and related tests updated
- Next message: RFR(S): 8171848: ObjectMonitor verify() and print() methods are empty
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Sounds good to me.
Dan
On 1/31/17 5:14 PM, David Holmes wrote:
Thanks for the review Dan!
MinSleepInterval should have been deprecated in 9 but we missed it. I don't think it is worth trying to do that now given where we are in the release cycle. David On 1/02/2017 8:14 AM, Daniel D. Daugherty wrote: On 1/30/17 5:47 PM, David Holmes wrote:
Just realized I still need a JDK 10 Reviewer to look at this.
http://cr.openjdk.java.net/~dholmes/8173421/webrev.hotspot.v2/ src/cpu/aarch64/vm/c1globalsaarch64.hpp No comments. src/cpu/aarch64/vm/c2globalsaarch64.hpp No comments. src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/HeapSummary.java No comments. src/os/solaris/vm/ossolaris.cpp No comments. src/share/vm/gc/cms/concurrentMarkSweepGeneration.cpp No comments. src/share/vm/oops/method.cpp No comments. src/share/vm/prims/jvm.cpp The JVMSleep() changes had me confused for second, but I think they're okay... No other comments. src/share/vm/runtime/arguments.cpp MinSleepInterval - are you going to deprecate this in JDK9? No other comments. src/share/vm/runtime/arguments.hpp No comments. src/share/vm/runtime/globals.hpp No comments. test/TEST.groups No comments. test/gc/arguments/TestSelectDefaultGC.java No comments. test/runtime/CommandLine/ObsoleteFlagErrorMessage.java No comments. test/runtime/CommandLine/VMAliasOptions.java No comments. test/runtime/CommandLine/VMDeprecatedOptions.java No comments. test/gc/arguments/TestExplicitGCInvokesConcurrentAndUnloadsClasses.java test/gc/startupwarnings/TestDefNewCMS.java test/gc/startupwarnings/TestParNewCMS.java test/gc/startupwarnings/TestParNewSerialOld.java test/gc/startupwarnings/TestUseAutoGCSelectPolicy.java test/runtime/NMT/AutoshutdownNMT.java No comments on the deleted files. Thumbs up! Dan
Thanks, David On 31/01/2017 10:42 AM, David Holmes wrote: Forgot to add that I'm no longer deleting the test: test/runtime/CommandLine/PermGenFlagsTest.java David On 31/01/2017 10:35 AM, David Holmes wrote: Thanks for reviewing Mikael! On 31/01/2017 10:12 AM, Mikael Vidstedt wrote:
Looks like the UseFastAccessorMethods and UseFastEmptyMethods are still in active use on ZERO, so they should not be removed. Apart from that it looks good. Good catch! Yes I have reverted the Zero changes, other than deleting the flags from the table. So the following files no longer appear in the webrev: src/cpu/zero/vm/cppInterpreterGeneratorzero.cpp src/cpu/zero/vm/globalszero.hpp src/share/vm/prims/jvmtiManageCapabilities.cpp I've also changed the PermSize and MaxPermSize so that they have an unspecified expiration version. Webrev updated at: http://cr.openjdk.java.net/~dholmes/8173421/webrev.hotspot.v2/ but I intend to push the changes as described And thanks for taking over the work! Didn't know what I'd let myself in for :) Thanks, David Cheers, Mikael
On Jan 30, 2017, at 12:37 PM, David Holmes <david.holmes at oracle.com> wrote:
Thanks for the Review Lois. For the public record there's a conversation happening around what to do with the PermSize flags. Can I please get additional Reviews - this affects code in all teams. We need to get the JDK 10 forest buildable as JDK 10 ASAP. Thanks, David On 27/01/2017 11:46 PM, Lois Foltan wrote:
On 1/27/2017 12:13 AM, 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. Hi David, This looks good. However, please do not remove PermSize and MaxPermSize in the special flag table in src/share/vm/runtime/arguments.cpp. We recently added these options back in JDK 9 for ease of migration, see JDK-8167446. I would rather see these two options put back in the table and have their expiration bumped to 11 until we decide going forward what is the correct course of action. Feel free to enter a new JDK 10 specific bug to address the issue of these two options specifically. Thanks, Lois
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/c1globalsaarch64.hpp) UseBoundThreads (comments in ossolaris.cpp) DefaultThreadPriority NoYieldsInMicrolock BackEdgeThreshold (defined in c1/2globalsaarch64.hpp) UseNewReflection ReflectionWrapResolutionErrors VerifyReflectionBytecodes AutoShutdownNMT NmethodSweepFraction NmethodSweepCheckInterval CodeCacheMinimumFreeSpace UseFastAccessorMethods (ZERO) (still used in ccpInterpreterGeneratorzero.cpp, jvmtiManageCapabilities.cpp) UseFastEmptyMethods (ZERO) (still used in ccpInterpreterGeneratorzero.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/startupwarnings/ TestUseAutoGCSelectPolicy.java TestParNewSerialOld.java TestParNewCMS.java TestDefNewCMS.java gc/arguments/TestExplicitGCInvokesConcurrentAndUnloadsClasses.java
runtime/CommandLine/PermGenFlagsTest.java runtime/NMT/AutoshutdownNMT.java
- Previous message: JDK 10 RFR: 8173421: Obsolete and expired flags for JDK 10 need to be removed and related tests updated
- Next message: RFR(S): 8171848: ObjectMonitor verify() and print() methods are empty
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]