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
Tue Jan 31 00:42:18 UTC 2017
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/cppInterpreterGenerator_zero.cpp
> src/cpu/zero/vm/globals_zero.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/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