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

Print this page
rev 7653 : 8068883: Remove disabling of warning "C4355: 'this' : used in base member initializer list"


 145   }
 146 
 147   HeapRegion* first_region() { return _head; }
 148   HeapRegion* first_survivor_region() { return _survivor_head; }
 149   HeapRegion* last_survivor_region() { return _survivor_tail; }
 150 
 151   // debugging
 152   bool          check_list_well_formed();
 153   bool          check_list_empty(bool check_sample = true);
 154   void          print();
 155 };
 156 
 157 // The G1 STW is alive closure.
 158 // An instance is embedded into the G1CH and used as the
 159 // (optional) _is_alive_non_header closure in the STW
 160 // reference processor. It is also extensively used during
 161 // reference processing during STW evacuation pauses.
 162 class G1STWIsAliveClosure: public BoolObjectClosure {
 163   G1CollectedHeap* _g1;
 164 public:

 165   G1STWIsAliveClosure(G1CollectedHeap* g1) : _g1(g1) {}
 166   bool do_object_b(oop p);
 167 };
 168 
 169 class RefineCardTableEntryClosure;
 170 
 171 class G1RegionMappingChangedListener : public G1MappingChangedListener {
 172  private:
 173   void reset_from_card_cache(uint start_idx, size_t num_regions);
 174  public:
 175   virtual void on_commit(uint start_idx, size_t num_regions, bool zero_filled);
 176 };
 177 
 178 class G1CollectedHeap : public SharedHeap {
 179   friend class VM_CollectForMetadataAllocation;
 180   friend class VM_G1CollectForAllocation;
 181   friend class VM_G1CollectFull;
 182   friend class VM_G1IncCollectionPause;
 183   friend class VMStructs;
 184   friend class MutatorAllocRegion;




 145   }
 146 
 147   HeapRegion* first_region() { return _head; }
 148   HeapRegion* first_survivor_region() { return _survivor_head; }
 149   HeapRegion* last_survivor_region() { return _survivor_tail; }
 150 
 151   // debugging
 152   bool          check_list_well_formed();
 153   bool          check_list_empty(bool check_sample = true);
 154   void          print();
 155 };
 156 
 157 // The G1 STW is alive closure.
 158 // An instance is embedded into the G1CH and used as the
 159 // (optional) _is_alive_non_header closure in the STW
 160 // reference processor. It is also extensively used during
 161 // reference processing during STW evacuation pauses.
 162 class G1STWIsAliveClosure: public BoolObjectClosure {
 163   G1CollectedHeap* _g1;
 164 public:
 165   G1STWIsAliveClosure() {}
 166   G1STWIsAliveClosure(G1CollectedHeap* g1) : _g1(g1) {}
 167   bool do_object_b(oop p);
 168 };
 169 
 170 class RefineCardTableEntryClosure;
 171 
 172 class G1RegionMappingChangedListener : public G1MappingChangedListener {
 173  private:
 174   void reset_from_card_cache(uint start_idx, size_t num_regions);
 175  public:
 176   virtual void on_commit(uint start_idx, size_t num_regions, bool zero_filled);
 177 };
 178 
 179 class G1CollectedHeap : public SharedHeap {
 180   friend class VM_CollectForMetadataAllocation;
 181   friend class VM_G1CollectForAllocation;
 182   friend class VM_G1CollectFull;
 183   friend class VM_G1IncCollectionPause;
 184   friend class VMStructs;
 185   friend class MutatorAllocRegion;