JDK-4874782 : CMS: CL options MaxTenuringThreshold, MaxNewSize and SurvivorRatio are ignored
Type:Bug
Component:hotspot
Sub-Component:gc
Affected Version:1.4.2,1.4.2_03
Priority:P1
Status:Closed
Resolution:Fixed
OS:generic,solaris_8
CPU:generic,sparc
Submitted:2003-06-05
Updated:2004-09-13
Resolved:2003-07-07
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.
SUGGESTED FIX
The problem was that _is_default_XXX was not being correctly
set in the argument processing. This caused the CL option
settings for these parameters to be ignored when we used
the _is_default_XX test.
------- arguments.cpp -------
1560a1561,1567
> } else if (match_option(option, "-XX:MaxNewSize", &tail)) {
> _is_default_max_new_size = false;
> // Back up so we can use normal argument processing
> match_option(option, "-XX:", &tail);
> if (!process_argument(tail, args->ignoreUnrecognized)) {
> return JNI_EINVAL;
> }
1571a1579,1592
> if (!process_argument(tail, args->ignoreUnrecognized)) {
> return JNI_EINVAL;
> }
> } else if (match_option(option, "-XX:MaxTenuringThreshold", &tail)) {
> _is_default_max_tenuring_threshold = false;
> // Back up so we can use normal argument processing
> match_option(option, "-XX:", &tail);
> if (!process_argument(tail, args->ignoreUnrecognized)) {
> return JNI_EINVAL;
> }
> } else if (match_option(option, "-XX:SurvivorRatio", &tail)) {
> _is_default_survivor_ratio = false;
> // Back up so we can use normal argument processing
> match_option(option, "-XX:", &tail);
###@###.### 2003-06-06: fix putback to [Tiger's] gc_baseline.