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

Print this page




 111   size_t alloc_buffer_waste() const              { return _alloc_buffer_waste; }
 112   size_t undo_waste() const                      { return _undo_waste; }
 113 
 114 #ifdef ASSERT
 115   bool queue_is_empty() const { return _refs->is_empty(); }
 116 
 117   bool verify_ref(narrowOop* ref) const;
 118   bool verify_ref(oop* ref) const;
 119   bool verify_task(StarTask ref) const;
 120 #endif // ASSERT
 121 
 122   template <class T> void push_on_queue(T* ref) {
 123     assert(verify_ref(ref), "sanity");
 124     _refs->push(ref);
 125   }
 126 
 127   template <class T> inline void update_rs(HeapRegion* from, T* p, int tid);
 128 
 129  private:
 130 
 131   inline HeapWord* allocate(GCAllocPurpose purpose, size_t word_sz);
 132   inline HeapWord* allocate_slow(GCAllocPurpose purpose, size_t word_sz);
 133   inline void undo_allocation(GCAllocPurpose purpose, HeapWord* obj, size_t word_sz);
 134 
 135  public:
 136 
 137   void set_evac_failure_closure(OopsInHeapRegionClosure* evac_failure_cl) {
 138     _evac_failure_cl = evac_failure_cl;
 139   }
 140 
 141   OopsInHeapRegionClosure* evac_failure_closure() { return _evac_failure_cl; }
 142 
 143   int* hash_seed() { return &_hash_seed; }
 144   uint queue_num() { return _queue_num; }
 145 
 146   size_t term_attempts() const  { return _term_attempts; }
 147   void note_term_attempt() { _term_attempts++; }
 148 
 149   void start_strong_roots() {
 150     _start_strong_roots = os::elapsedTime();
 151   }
 152   void end_strong_roots() {




 111   size_t alloc_buffer_waste() const              { return _alloc_buffer_waste; }
 112   size_t undo_waste() const                      { return _undo_waste; }
 113 
 114 #ifdef ASSERT
 115   bool queue_is_empty() const { return _refs->is_empty(); }
 116 
 117   bool verify_ref(narrowOop* ref) const;
 118   bool verify_ref(oop* ref) const;
 119   bool verify_task(StarTask ref) const;
 120 #endif // ASSERT
 121 
 122   template <class T> void push_on_queue(T* ref) {
 123     assert(verify_ref(ref), "sanity");
 124     _refs->push(ref);
 125   }
 126 
 127   template <class T> inline void update_rs(HeapRegion* from, T* p, int tid);
 128 
 129  private:
 130 
 131   inline HeapWord* allocate(GCAllocPurpose purpose, oop const old, uint age);
 132   inline HeapWord* allocate_slow(GCAllocPurpose purpose, oop const old, uint age);
 133   inline void undo_allocation(GCAllocPurpose purpose, HeapWord* obj, size_t word_sz);
 134 
 135  public:
 136 
 137   void set_evac_failure_closure(OopsInHeapRegionClosure* evac_failure_cl) {
 138     _evac_failure_cl = evac_failure_cl;
 139   }
 140 
 141   OopsInHeapRegionClosure* evac_failure_closure() { return _evac_failure_cl; }
 142 
 143   int* hash_seed() { return &_hash_seed; }
 144   uint queue_num() { return _queue_num; }
 145 
 146   size_t term_attempts() const  { return _term_attempts; }
 147   void note_term_attempt() { _term_attempts++; }
 148 
 149   void start_strong_roots() {
 150     _start_strong_roots = os::elapsedTime();
 151   }
 152   void end_strong_roots() {