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

Print this page
rev 6626 : imported patch 8035400-move-g1parscanthreadstate-into-own-files
rev 6627 : imported patch 8035400-2-bengt-fixes
rev 6628 : imported patch 8035401-fix-visibility-of-g1parscanthreadstate
rev 6629 : imported patch 8035401-3-fix-constructor
rev 6630 : imported patch 8035401-2-another-inline-try

@@ -96,33 +96,23 @@
         dirty_card_queue().enqueue((jbyte*)ctbs()->byte_for_index(card_index));
       }
     }
   }
 
-public:
+ public:
   G1ParScanThreadState(G1CollectedHeap* g1h, uint queue_num, ReferenceProcessor* rp);
-  ~G1ParScanThreadState() {
-    retire_alloc_buffers();
-    FREE_C_HEAP_ARRAY(size_t, _surviving_young_words_base, mtGC);
-  }
+  ~G1ParScanThreadState();
 
-  RefToScanQueue*   refs()            { return _refs;             }
   ageTable*         age_table()       { return &_age_table;       }
 
   G1ParGCAllocBuffer* alloc_buffer(GCAllocPurpose purpose) {
     return _alloc_buffers[purpose];
   }
 
   size_t alloc_buffer_waste() const              { return _alloc_buffer_waste; }
   size_t undo_waste() const                      { return _undo_waste; }
 
- public:
-  G1ParScanThreadState(G1CollectedHeap* g1h, uint queue_num, ReferenceProcessor* rp);
-  ~G1ParScanThreadState();
-
-  ageTable*         age_table()       { return &_age_table;       }
-
 #ifdef ASSERT
   bool queue_is_empty() const { return _refs->is_empty(); }
 
   bool verify_ref(narrowOop* ref) const;
   bool verify_ref(oop* ref) const;

@@ -136,13 +126,13 @@
 
   template <class T> inline void update_rs(HeapRegion* from, T* p, int tid);
 
  private:
 
-  HeapWord* allocate(GCAllocPurpose purpose, size_t word_sz);
-  HeapWord* allocate_slow(GCAllocPurpose purpose, size_t word_sz);
-  void undo_allocation(GCAllocPurpose purpose, HeapWord* obj, size_t word_sz);
+  inline HeapWord* allocate(GCAllocPurpose purpose, size_t word_sz);
+  inline HeapWord* allocate_slow(GCAllocPurpose purpose, size_t word_sz);
+  inline void undo_allocation(GCAllocPurpose purpose, HeapWord* obj, size_t word_sz);
 
  public:
 
   void set_evac_failure_closure(OopsInHeapRegionClosure* evac_failure_cl) {
     _evac_failure_cl = evac_failure_cl;

@@ -218,20 +208,20 @@
   }
 
   inline void do_oop_partial_array(oop* p);
 
   // This method is applied to the fields of the objects that have just been copied.
-  template <class T> void do_oop_evac(T* p, HeapRegion* from);
+  template <class T> inline void do_oop_evac(T* p, HeapRegion* from);
 
   template <class T> inline void deal_with_reference(T* ref_to_scan);
 
-  inline void deal_with_reference(StarTask ref);
-public:
+  inline void dispatch_reference(StarTask ref);
+ public:
 
   oop copy_to_survivor_space(oop const obj);
 
   void trim_queue();
 
-  void steal_and_trim_queue(RefToScanQueueSet *task_queues);
+  inline void steal_and_trim_queue(RefToScanQueueSet *task_queues);
 };
 
 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_G1PARSCANTHREADSTATE_HPP