< prev index next >

src/hotspot/share/gc/g1/heapRegion.hpp

Print this page
rev 51152 : [mq]: gcbuildoptionspatch


 173 
 174   HeapWord* saved_mark_word() const { ShouldNotReachHere(); return NULL; }
 175 
 176   // MarkSweep support phase3
 177   virtual HeapWord* initialize_threshold();
 178   virtual HeapWord* cross_threshold(HeapWord* start, HeapWord* end);
 179 
 180   virtual void print() const;
 181 
 182   void reset_bot() {
 183     _bot_part.reset_bot();
 184   }
 185 
 186   void print_bot_on(outputStream* out) {
 187     _bot_part.print_on(out);
 188   }
 189 };
 190 
 191 class HeapRegion: public G1ContiguousSpace {
 192   friend class VMStructs;

 193   // Allow scan_and_forward to call (private) overrides for auxiliary functions on this class
 194   template <typename SpaceType>
 195   friend void CompactibleSpace::scan_and_forward(SpaceType* space, CompactPoint* cp);

 196  private:
 197 
 198   // The remembered set for this region.
 199   // (Might want to make this "inline" later, to avoid some alloc failure
 200   // issues.)
 201   HeapRegionRemSet* _rem_set;
 202 
 203   // Auxiliary functions for scan_and_forward support.
 204   // See comments for CompactibleSpace for more information.
 205   inline HeapWord* scan_limit() const {
 206     return top();
 207   }
 208 
 209   inline bool scanned_block_is_obj(const HeapWord* addr) const {
 210     return true; // Always true, since scan_limit is top
 211   }
 212 
 213   inline size_t scanned_block_size(const HeapWord* addr) const {
 214     return HeapRegion::block_size(addr); // Avoid virtual call
 215   }




 173 
 174   HeapWord* saved_mark_word() const { ShouldNotReachHere(); return NULL; }
 175 
 176   // MarkSweep support phase3
 177   virtual HeapWord* initialize_threshold();
 178   virtual HeapWord* cross_threshold(HeapWord* start, HeapWord* end);
 179 
 180   virtual void print() const;
 181 
 182   void reset_bot() {
 183     _bot_part.reset_bot();
 184   }
 185 
 186   void print_bot_on(outputStream* out) {
 187     _bot_part.print_on(out);
 188   }
 189 };
 190 
 191 class HeapRegion: public G1ContiguousSpace {
 192   friend class VMStructs;
 193 #if INCLUDE_SERIALGC
 194   // Allow scan_and_forward to call (private) overrides for auxiliary functions on this class
 195   template <typename SpaceType>
 196   friend void CompactibleSpace::scan_and_forward(SpaceType* space, CompactPoint* cp);
 197 #endif
 198  private:
 199 
 200   // The remembered set for this region.
 201   // (Might want to make this "inline" later, to avoid some alloc failure
 202   // issues.)
 203   HeapRegionRemSet* _rem_set;
 204 
 205   // Auxiliary functions for scan_and_forward support.
 206   // See comments for CompactibleSpace for more information.
 207   inline HeapWord* scan_limit() const {
 208     return top();
 209   }
 210 
 211   inline bool scanned_block_is_obj(const HeapWord* addr) const {
 212     return true; // Always true, since scan_limit is top
 213   }
 214 
 215   inline size_t scanned_block_size(const HeapWord* addr) const {
 216     return HeapRegion::block_size(addr); // Avoid virtual call
 217   }


< prev index next >