< prev index next >
src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp
Print this page
rev 8024 : imported patch event1
* * *
imported patch event2
*** 259,268 ****
--- 259,269 ----
HeapWord* result = young_gen()->allocate(size);
uint loop_count = 0;
uint gc_count = 0;
uint gclocker_stalled_count = 0;
+ uint gc_attempt = 1;
while (result == NULL) {
// We don't want to have multiple collections for a single filled generation.
// To prevent this, each thread tracks the total_collections() value, and if
// the count has changed, does not do a new collection.
*** 317,327 ****
}
}
if (result == NULL) {
// Generate a VM operation
! VM_ParallelGCFailedAllocation op(size, gc_count);
VMThread::execute(&op);
// Did the VM operation execute? If so, return the result directly.
// This prevents us from looping until time out on requests that can
// not be satisfied.
--- 318,328 ----
}
}
if (result == NULL) {
// Generate a VM operation
! VM_ParallelGCFailedAllocation op(size, gc_count, gc_attempt++);
VMThread::execute(&op);
// Did the VM operation execute? If so, return the result directly.
// This prevents us from looping until time out on requests that can
// not be satisfied.
< prev index next >