index

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.
index