hotspot/src/share/vm/gc/g1/g1CollectedHeap.hpp
changeset 33786 ac8da6513351
parent 33609 299b060a610d
child 33789 4a76a42bd42e
equal deleted inserted replaced
33785:f5e6ef11d24b 33786:ac8da6513351
  1176 
  1176 
  1177   void remove_from_old_sets(const HeapRegionSetCount& old_regions_removed, const HeapRegionSetCount& humongous_regions_removed);
  1177   void remove_from_old_sets(const HeapRegionSetCount& old_regions_removed, const HeapRegionSetCount& humongous_regions_removed);
  1178   void prepend_to_freelist(FreeRegionList* list);
  1178   void prepend_to_freelist(FreeRegionList* list);
  1179   void decrement_summary_bytes(size_t bytes);
  1179   void decrement_summary_bytes(size_t bytes);
  1180 
  1180 
  1181   // Returns "TRUE" iff "p" points into the committed areas of the heap.
       
  1182   virtual bool is_in(const void* p) const;
  1181   virtual bool is_in(const void* p) const;
  1183 #ifdef ASSERT
  1182 #ifdef ASSERT
  1184   // Returns whether p is in one of the available areas of the heap. Slow but
  1183   // Returns whether p is in one of the available areas of the heap. Slow but
  1185   // extensive version.
  1184   // extensive version.
  1186   bool is_in_exact(const void* p) const;
  1185   bool is_in_exact(const void* p) const;
  1240   // iteration early if the "doHeapRegion" method returns "true".
  1239   // iteration early if the "doHeapRegion" method returns "true".
  1241   void heap_region_iterate(HeapRegionClosure* blk) const;
  1240   void heap_region_iterate(HeapRegionClosure* blk) const;
  1242 
  1241 
  1243   // Return the region with the given index. It assumes the index is valid.
  1242   // Return the region with the given index. It assumes the index is valid.
  1244   inline HeapRegion* region_at(uint index) const;
  1243   inline HeapRegion* region_at(uint index) const;
       
  1244 
       
  1245   // Return the next region (by index) that is part of the same
       
  1246   // humongous object that hr is part of.
       
  1247   inline HeapRegion* next_region_in_humongous(HeapRegion* hr) const;
  1245 
  1248 
  1246   // Calculate the region index of the given address. Given address must be
  1249   // Calculate the region index of the given address. Given address must be
  1247   // within the heap.
  1250   // within the heap.
  1248   inline uint addr_to_region(HeapWord* addr) const;
  1251   inline uint addr_to_region(HeapWord* addr) const;
  1249 
  1252 
  1277   void collection_set_iterate_from(HeapRegion* r, HeapRegionClosure *blk);
  1280   void collection_set_iterate_from(HeapRegion* r, HeapRegionClosure *blk);
  1278 
  1281 
  1279   HeapRegion* next_compaction_region(const HeapRegion* from) const;
  1282   HeapRegion* next_compaction_region(const HeapRegion* from) const;
  1280 
  1283 
  1281   // Returns the HeapRegion that contains addr. addr must not be NULL.
  1284   // Returns the HeapRegion that contains addr. addr must not be NULL.
  1282   template <class T>
       
  1283   inline HeapRegion* heap_region_containing_raw(const T addr) const;
       
  1284 
       
  1285   // Returns the HeapRegion that contains addr. addr must not be NULL.
       
  1286   // If addr is within a humongous continues region, it returns its humongous start region.
       
  1287   template <class T>
  1285   template <class T>
  1288   inline HeapRegion* heap_region_containing(const T addr) const;
  1286   inline HeapRegion* heap_region_containing(const T addr) const;
  1289 
  1287 
  1290   // A CollectedHeap is divided into a dense sequence of "blocks"; that is,
  1288   // A CollectedHeap is divided into a dense sequence of "blocks"; that is,
  1291   // each address in the (reserved) heap is a member of exactly
  1289   // each address in the (reserved) heap is a member of exactly