< prev index next >
src/share/vm/runtime/interfaceSupport.cpp
Print this page
rev 12310 : [mq]: gcinterface.patch
*** 94,105 ****
// Release dummy so objects are forced to move
if (!Universe::release_fullgc_alot_dummy()) {
warning("FullGCALot: Unable to release more dummies at bottom of heap");
}
HandleMark hm(thread);
! Universe::heap()->collect(GCCause::_full_gc_alot);
! unsigned int invocations = Universe::heap()->total_full_collections();
// Compute new interval
if (FullGCALotInterval > 1) {
_fullgc_alot_counter = 1+(long)((double)FullGCALotInterval*os::random()/(max_jint+1.0));
log_trace(gc)("Full gc no: %u\tInterval: %ld", invocations, _fullgc_alot_counter);
} else {
--- 94,105 ----
// Release dummy so objects are forced to move
if (!Universe::release_fullgc_alot_dummy()) {
warning("FullGCALot: Unable to release more dummies at bottom of heap");
}
HandleMark hm(thread);
! GC::gc()->heap()->collect(GCCause::_full_gc_alot);
! unsigned int invocations = GC::gc()->heap()->total_full_collections();
// Compute new interval
if (FullGCALotInterval > 1) {
_fullgc_alot_counter = 1+(long)((double)FullGCALotInterval*os::random()/(max_jint+1.0));
log_trace(gc)("Full gc no: %u\tInterval: %ld", invocations, _fullgc_alot_counter);
} else {
*** 112,123 ****
} else {
if (ScavengeALot) _scavenge_alot_counter--;
// Check if we should force a scavenge
if (_scavenge_alot_counter == 0) {
HandleMark hm(thread);
! Universe::heap()->collect(GCCause::_scavenge_alot);
! unsigned int invocations = Universe::heap()->total_collections() - Universe::heap()->total_full_collections();
// Compute new interval
if (ScavengeALotInterval > 1) {
_scavenge_alot_counter = 1+(long)((double)ScavengeALotInterval*os::random()/(max_jint+1.0));
log_trace(gc)("Scavenge no: %u\tInterval: %ld", invocations, _scavenge_alot_counter);
} else {
--- 112,123 ----
} else {
if (ScavengeALot) _scavenge_alot_counter--;
// Check if we should force a scavenge
if (_scavenge_alot_counter == 0) {
HandleMark hm(thread);
! GC::gc()->heap()->collect(GCCause::_scavenge_alot);
! unsigned int invocations = GC::gc()->heap()->total_collections() - GC::gc()->heap()->total_full_collections();
// Compute new interval
if (ScavengeALotInterval > 1) {
_scavenge_alot_counter = 1+(long)((double)ScavengeALotInterval*os::random()/(max_jint+1.0));
log_trace(gc)("Scavenge no: %u\tInterval: %ld", invocations, _scavenge_alot_counter);
} else {
< prev index next >