index

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