< prev index next >

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

Print this page




1225   // This resets the card table to all zeros.  It is used after
1226   // a collection pause which used the card table to claim cards.
1227   void cleanUpCardTable();
1228 
1229   // Iteration functions.
1230 
1231   // Iterate over all objects, calling "cl.do_object" on each.
1232   virtual void object_iterate(ObjectClosure* cl);
1233 
1234   virtual void safe_object_iterate(ObjectClosure* cl) {
1235     object_iterate(cl);
1236   }
1237 
1238   // Iterate over heap regions, in address order, terminating the
1239   // iteration early if the "doHeapRegion" method returns "true".
1240   void heap_region_iterate(HeapRegionClosure* blk) const;
1241 
1242   // Return the region with the given index. It assumes the index is valid.
1243   inline HeapRegion* region_at(uint index) const;
1244 
1245   // Return the next region (by index) if that region is also humongous, NULL otherwise.
1246   inline HeapRegion* next_humongous_region(HeapRegion* hr) const;

1247 
1248   // Calculate the region index of the given address. Given address must be
1249   // within the heap.
1250   inline uint addr_to_region(HeapWord* addr) const;
1251 
1252   inline HeapWord* bottom_addr_for_region(uint index) const;
1253 
1254   // Iterate over the heap regions in parallel. Assumes that this will be called
1255   // in parallel by ParallelGCThreads worker threads with distinct worker ids
1256   // in the range [0..max(ParallelGCThreads-1, 1)]. Applies "blk->doHeapRegion"
1257   // to each of the regions, by attempting to claim the region using the
1258   // HeapRegionClaimer and, if successful, applying the closure to the claimed
1259   // region. The concurrent argument should be set to true if iteration is
1260   // performed concurrently, during which no assumptions are made for consistent
1261   // attributes of the heap regions (as they might be modified while iterating).
1262   void heap_region_par_iterate(HeapRegionClosure* cl,
1263                                uint worker_id,
1264                                HeapRegionClaimer* hrclaimer,
1265                                bool concurrent = false) const;
1266 




1225   // This resets the card table to all zeros.  It is used after
1226   // a collection pause which used the card table to claim cards.
1227   void cleanUpCardTable();
1228 
1229   // Iteration functions.
1230 
1231   // Iterate over all objects, calling "cl.do_object" on each.
1232   virtual void object_iterate(ObjectClosure* cl);
1233 
1234   virtual void safe_object_iterate(ObjectClosure* cl) {
1235     object_iterate(cl);
1236   }
1237 
1238   // Iterate over heap regions, in address order, terminating the
1239   // iteration early if the "doHeapRegion" method returns "true".
1240   void heap_region_iterate(HeapRegionClosure* blk) const;
1241 
1242   // Return the region with the given index. It assumes the index is valid.
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;
1248 
1249   // Calculate the region index of the given address. Given address must be
1250   // within the heap.
1251   inline uint addr_to_region(HeapWord* addr) const;
1252 
1253   inline HeapWord* bottom_addr_for_region(uint index) const;
1254 
1255   // Iterate over the heap regions in parallel. Assumes that this will be called
1256   // in parallel by ParallelGCThreads worker threads with distinct worker ids
1257   // in the range [0..max(ParallelGCThreads-1, 1)]. Applies "blk->doHeapRegion"
1258   // to each of the regions, by attempting to claim the region using the
1259   // HeapRegionClaimer and, if successful, applying the closure to the claimed
1260   // region. The concurrent argument should be set to true if iteration is
1261   // performed concurrently, during which no assumptions are made for consistent
1262   // attributes of the heap regions (as they might be modified while iterating).
1263   void heap_region_par_iterate(HeapRegionClosure* cl,
1264                                uint worker_id,
1265                                HeapRegionClaimer* hrclaimer,
1266                                bool concurrent = false) const;
1267 


< prev index next >