RFR rev1 (M): 8078556: Runtime: implement ranges (optionally constraints) for those flags that have them missing (original) (raw)
Yumin Qi yumin.qi at oracle.com
Tue Oct 13 03:41:55 UTC 2015
- Previous message: RFR rev1 (M): 8078556: Runtime: implement ranges (optionally constraints) for those flags that have them missing
- Next message: RFR rev1 (M): 8078556: Runtime: implement ranges (optionally constraints) for those flags that have them missing
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi, Gerard
I am not the definer for ShareTableBucketSize --- Jangli first checked int code for its definition:
changeset: 7561:05c08ab3cf65 parent: 7559:47ffd05828f9 user: jiangli date: Wed Dec 17 23:34:52 2014 -0500 summary: 8059510: Compact symbol table layout inside shared archive.
changeset: 7561:05c08ab3cf65 parent: 7559:47ffd05828f9 user: jiangli date: Wed Dec 17 23:34:52 2014 -0500 summary: 8059510: Compact symbol table layout inside shared archive.
BTW, I only have one minor comment:
*src/os/aix/vm/globals_aix.hpp:
** product_pd(intx, AttachListenerTimeout, *
"Timeout in ms the attach listener waits for a request") \*
*+ range(0, 2147483) \
This is about 35 minutes. But the number looks awkward. I am ok if you keep it, better to change to a reasonable reading symbol.
Thanks Yumin
On 10/9/15, 11:47 AM, gerard ziemski wrote:
(resending, fixed webrev link)
hi all, Please review this rev1 change that implements ranges and constraint for runtime flags. The purpose of the ranges is to define valid ranges, that are guaranteed to be accepted and work when instantiating a VM. The VM is allowed to exit with an exception due to out of OS resources (like memory), but it may not assert or prematurely exit with an error that produces hserr and/or dump core. Summary of changes since rev0: #1 Punted the following flags: SharedBaseAddress SharedMiscCodeSize SharedMiscDataSize SharedReadOnlySize SharedReadWriteSize to task JDK-8138983 since their ranges are nontrivial [Coleen, Jianghli] #2. Removed unused "Arguments::getdefaultheapbaseminaddress" [Coleen] #3. Users may need to use "TraceRedefineClasses" with their own custom events, so changed the max value to 0XFFFFFFFF [Dmitry, Dan] #4. All other feedback from Dmitry implemented, see below #5. PrintSafepointStatisticsTimeout and SafepointtimeoutDelat max value is LP64ONLY(maxintx/MICROUNITS) NOTLP64(maxintx) because intx is 4bytes on 32bits architectures, so dividing it by MICROUNITS would bring the value below default. I did, however, make sure to upcast the values to jlong, so on 32bit they become 8byte long long, and so no overflow will occur when multiplying by MICROUNITS. #6. GuaranteedSafepointInterval range(0, maxintx) asserts (overflows) on Windows64 (maxintx on 64bit is 0x7FFFFFFFFFFFFFFF), so I changed the range max to maxjint (ie. 0x7FFFFFFF) which is roughly 25 days
The following flags had their ranges defined by the the domain experts: AttachListenerTimeout: Staffan Larsen BiasedLockingBulkRebiasThreshold: Marcus Larsson BiasedLockingBulkRevokeThreshold: Marcus Larsson BiasedLockingDecayTime: Marcus Larsson BiasedLockingStartupDelay: Marcus Larsson SharedSymbolTableBucketSize: Yumin Qi StackShadowPages: Coleen Phillimore, Frederic Parain For the rest of the flags, I looked at the existing code that was using them and also did local tests: DeferPollingPageLoopCount DeferThrSuspendLoopCount GuaranteedSafepointInterval HeapBaseMinAddress InitialBootClassLoaderMetaspaceSize JavaPriority10ToOSPriority JavaPriority1ToOSPriority JavaPriority2ToOSPriority JavaPriority3ToOSPriority JavaPriority4ToOSPriority JavaPriority5ToOSPriority JavaPriority6ToOSPriority JavaPriority7ToOSPriority JavaPriority8ToOSPriority JavaPriority9ToOSPriority MallocMaxTestWords MallocVerifyInterval MallocVerifyStart MaxDirectMemorySize MaxJNILocalCapacity MaxJavaStackTraceDepth MaxRAM MinPassesBeforeFlush PerfDataMemorySize PerfDataSamplingInterval PerfMaxStringConstLength PrintSafepointStatisticsCount PrintSafepointStatisticsTimeout ProfileIntervalsTicks RTMRetryCount SafepointSpinBeforeYield SafepointTimeoutDelay SelfDestructTimer SuspendRetryCount SuspendRetryDelay ThreadSafetyMargin ThreadStackSize TraceRedefineClasses VMThreadPriority VMThreadStackSize The change passes “JPRT -testset hotspot”, “RBT hotspot/test/runtime/CommandLine” and “RBT testlist,noncolo.testlist --add-tonga-keyword quick” References: bugid: https://bugs.openjdk.java.net/browse/JDK-8078556 webrev: http://cr.openjdk.java.net/~gziemski/8078556rev1 Followup issues: https://bugs.openjdk.java.net/browse/JDK-8133564 "Runtime - 2nd followup to JDK-8059557" https://bugs.openjdk.java.net/browse/JDK-8136766 "Enable ThreadStackSize range test” https://bugs.openjdk.java.net/browse/JDK-8134691 "CommandLineFlagConstraint::AtParse is not useful and not what we need" https://bugs.openjdk.java.net/browse/JDK-8138983 "Runtime: implement ranges for Shared*** flags" Thank you.
- Previous message: RFR rev1 (M): 8078556: Runtime: implement ranges (optionally constraints) for those flags that have them missing
- Next message: RFR rev1 (M): 8078556: Runtime: implement ranges (optionally constraints) for those flags that have them missing
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]