< prev index next >
src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.cpp
Print this page
rev 8024 : imported patch event1
* * *
imported patch event2
@@ -259,10 +259,11 @@
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,11 +318,11 @@
}
}
if (result == NULL) {
// Generate a VM operation
- VM_ParallelGCFailedAllocation op(size, gc_count);
+ 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 >