src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp Wed Jan 15 01:40:28 2014
--- new/src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp Wed Jan 15 01:40:28 2014
*** 464,474 ****
--- 464,474 ----
}
void CMSAdaptiveSizePolicy::checkpoint_roots_final_begin() {
_STW_timer.stop();
_latest_cms_initial_mark_end_to_remark_start_secs = _STW_timer.seconds();
! // Start accumumlating time for the remark in the STW timer.
! // Start accumulating time for the remark in the STW timer.
_STW_timer.reset();
_STW_timer.start();
}
void CMSAdaptiveSizePolicy::checkpoint_roots_final_end(
*** 535,546 ****
--- 535,546 ----
if ((_latest_cms_msc_end_to_msc_start_time_secs > 0.0) &&
(msc_pause_in_seconds > 0.0)) {
avg_msc_pause()->sample(msc_pause_in_seconds);
double mutator_time_in_seconds = 0.0;
if (_latest_cms_collection_end_to_collection_start_secs == 0.0) {
! // This assertion may fail because of time stamp gradularity.
! // Comment it out and investiage it at a later time. The large
! // This assertion may fail because of time stamp granularity.
! // Comment it out and investigate it at a later time. The large
// time stamp granularity occurs on some older linux systems.
#ifndef CLOCK_GRANULARITY_TOO_LARGE
assert((_latest_cms_concurrent_marking_time_secs == 0.0) &&
(_latest_cms_concurrent_precleaning_time_secs == 0.0) &&
(_latest_cms_concurrent_sweeping_time_secs == 0.0),
*** 834,844 ****
--- 834,844 ----
return avg_major_gc_cost()->average();
}
void CMSAdaptiveSizePolicy::ms_collection_marking_begin() {
_STW_timer.stop();
! // Start accumumlating time for the marking in the STW timer.
! // Start accumulating time for the marking in the STW timer.
_STW_timer.reset();
_STW_timer.start();
}
void CMSAdaptiveSizePolicy::ms_collection_marking_end(
*** 1225,1235 ****
--- 1225,1235 ----
// Keep running averages on how much survived
// We use the tenuring threshold to equalize the cost of major
// and minor collections.
// ThresholdTolerance is used to indicate how sensitive the
- // tenuring threshold is to differences in cost betweent the
// collection types.
// Get the times of interest. This involves a little work, so
// we cache the values here.
const double major_cost = major_gc_cost();
src/share/vm/gc_implementation/concurrentMarkSweep/cmsAdaptiveSizePolicy.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File