JDK-8133565 : GC - 2nd followup to JDK-8059557
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 9
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2015-08-13
  • Updated: 2015-09-01
  • Resolved: 2015-09-01
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9Fixed
Related Reports
Cloners :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
2nd followup to JDK-8059557

There is a few more issues/cleanups that we can do, but shouldn't block JDK-8112746, which is itself blocks JDK-8078554, JDK-8078555 and JDK-8078556

We will deal with those issues here.
Comments
All 3 issues are fixed at JDK-8078555.
01-09-2015

Above 3 issues will be covered from JDK-8078555.
18-08-2015

Issues found by Kim Barrett in http://cr.openjdk.java.net/~gziemski/8112746_rev3/ ------------------------------------------------------------------------------ src/share/vm/runtime/commandLineFlagConstraintsGC.cpp 58 static Flag::Error MaxPLABSizeBounds(const char* name, size_t value, bool verbose) { 59 #if INCLUDE_ALL_GCS 60 if ((UseConcMarkSweepGC || UseG1GC) && (value > PLAB::max_size())) { 61 CommandLineError::print(verbose, 62 "%s (" SIZE_FORMAT ") must be " 63 "less than ergonomic PLAB maximum size (" SIZE_FORMAT ")\n", 64 name, value, PLAB::min_size()); "less than" => "less than or equal to" to be consistent with test. ------------------------------------------------------------------------------ src/share/vm/runtime/commandLineFlagConstraintsGC.cpp 71 static Flag::Error MinMaxPLABSizeBounds(const char* name, size_t value, bool verbose) { 72 if (MinPLABSizeBounds(name, value, verbose) == Flag::SUCCESS) { 73 return MaxPLABSizeBounds(name, value, verbose); 74 } 75 return Flag::VIOLATES_CONSTRAINT; 76 } I'd prefer this returned the result of MinPLABSizeBounds when that isn't SUCCESS, rather than discarding that result and returning VIOLATES_CONSTRAINT. I think there isn't presently a difference, but every time I look at this I need to verify that belief. ------------------------------------------------------------------------------ src/share/vm/runtime/commandLineFlagConstraintsGC.cpp 218 Flag::Error CMSPrecleanNumeratorConstraintFunc(uintx value, bool verbose) { 219 if (value > (CMSPrecleanDenominator - 1)) { 220 CommandLineError::print(verbose, 221 "CMSPrecleanNumerator (" UINTX_FORMAT ") must be " 222 "less than or equal to CMSPrecleanDenominator - 1 (" UINTX_FORMAT ")\n", 223 value, CMSPrecleanDenominator - 1); [pre-existing] Wouldn't this be simpler with (value >= CMSPrecleanDenominator) and just "less than" (or "strictly less than" for consistency with wording elsewhere; same wording should be used in all such places, but I don't care which). This can be handled as a separate (small) cleanup; maybe give it to Sangheon to deal with among the other GC-related option processing improvements.
13-08-2015