src/share/vm/gc_implementation/g1/g1Allocator.hpp

Print this page

        

@@ -182,11 +182,13 @@
   size_t _undo_waste;
 
   void add_to_alloc_buffer_waste(size_t waste) { _alloc_buffer_waste += waste; }
   void add_to_undo_waste(size_t waste)         { _undo_waste += waste; }
 
-  HeapWord* allocate_slow(GCAllocPurpose purpose, size_t word_sz, AllocationContext_t context);
+  HeapWord* allocate_slow(GCAllocPurpose purpose, size_t word_sz,
+                          const oop old, const uint age,
+                          AllocationContext_t context);
 
   virtual void retire_alloc_buffers() = 0;
   virtual G1ParGCAllocBuffer* alloc_buffer(GCAllocPurpose purpose, AllocationContext_t context) = 0;
 
 public:

@@ -197,21 +199,23 @@
   static G1ParGCAllocator* create_allocator(G1CollectedHeap* g1h);
 
   size_t alloc_buffer_waste() { return _alloc_buffer_waste; }
   size_t undo_waste() {return _undo_waste; }
 
-  HeapWord* allocate(GCAllocPurpose purpose, size_t word_sz, AllocationContext_t context) {
+  HeapWord* allocate(GCAllocPurpose purpose, size_t word_sz,
+                     const oop old, const uint age,
+                     AllocationContext_t context) {
     HeapWord* obj = NULL;
     if (purpose == GCAllocForSurvived) {
       obj = alloc_buffer(purpose, context)->allocate_aligned(word_sz, SurvivorAlignmentInBytes);
     } else {
       obj = alloc_buffer(purpose, context)->allocate(word_sz);
     }
     if (obj != NULL) {
       return obj;
     }
-    return allocate_slow(purpose, word_sz, context);
+    return allocate_slow(purpose, word_sz, old, age, context);
   }
 
   void undo_allocation(GCAllocPurpose purpose, HeapWord* obj, size_t word_sz, AllocationContext_t context) {
     if (alloc_buffer(purpose, context)->contains(obj)) {
       assert(alloc_buffer(purpose, context)->contains(obj + word_sz - 1),