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

Print this page




1326   // This resets the card table to all zeros.  It is used after
1327   // a collection pause which used the card table to claim cards.
1328   void cleanUpCardTable();
1329 
1330   // Iteration functions.
1331 
1332   // Iterate over all the ref-containing fields of all objects, calling
1333   // "cl.do_oop" on each.
1334   virtual void oop_iterate(ExtendedOopClosure* cl);
1335 
1336   // Same as above, restricted to a memory region.
1337   void oop_iterate(MemRegion mr, ExtendedOopClosure* cl);
1338 
1339   // Iterate over all objects, calling "cl.do_object" on each.
1340   virtual void object_iterate(ObjectClosure* cl);
1341 
1342   virtual void safe_object_iterate(ObjectClosure* cl) {
1343     object_iterate(cl);
1344   }
1345 
1346   // Iterate over all objects allocated since the last collection, calling
1347   // "cl.do_object" on each.  The heap must have been initialized properly
1348   // to support this function, or else this call will fail.
1349   virtual void object_iterate_since_last_GC(ObjectClosure* cl);
1350 
1351   // Iterate over all spaces in use in the heap, in ascending address order.
1352   virtual void space_iterate(SpaceClosure* cl);
1353 
1354   // Iterate over heap regions, in address order, terminating the
1355   // iteration early if the "doHeapRegion" method returns "true".
1356   void heap_region_iterate(HeapRegionClosure* blk) const;
1357 
1358   // Return the region with the given index. It assumes the index is valid.
1359   HeapRegion* region_at(uint index) const { return _hrs.at(index); }
1360 
1361   // Divide the heap region sequence into "chunks" of some size (the number
1362   // of regions divided by the number of parallel threads times some
1363   // overpartition factor, currently 4).  Assumes that this will be called
1364   // in parallel by ParallelGCThreads worker threads with discinct worker
1365   // ids in the range [0..max(ParallelGCThreads-1, 1)], that all parallel
1366   // calls will use the same "claim_value", and that that claim value is
1367   // different from the claim_value of any heap region before the start of
1368   // the iteration.  Applies "blk->doHeapRegion" to each of the regions, by
1369   // attempting to claim the first region in each chunk, and, if
1370   // successful, applying the closure to each region in the chunk (and




1326   // This resets the card table to all zeros.  It is used after
1327   // a collection pause which used the card table to claim cards.
1328   void cleanUpCardTable();
1329 
1330   // Iteration functions.
1331 
1332   // Iterate over all the ref-containing fields of all objects, calling
1333   // "cl.do_oop" on each.
1334   virtual void oop_iterate(ExtendedOopClosure* cl);
1335 
1336   // Same as above, restricted to a memory region.
1337   void oop_iterate(MemRegion mr, ExtendedOopClosure* cl);
1338 
1339   // Iterate over all objects, calling "cl.do_object" on each.
1340   virtual void object_iterate(ObjectClosure* cl);
1341 
1342   virtual void safe_object_iterate(ObjectClosure* cl) {
1343     object_iterate(cl);
1344   }
1345 





1346   // Iterate over all spaces in use in the heap, in ascending address order.
1347   virtual void space_iterate(SpaceClosure* cl);
1348 
1349   // Iterate over heap regions, in address order, terminating the
1350   // iteration early if the "doHeapRegion" method returns "true".
1351   void heap_region_iterate(HeapRegionClosure* blk) const;
1352 
1353   // Return the region with the given index. It assumes the index is valid.
1354   HeapRegion* region_at(uint index) const { return _hrs.at(index); }
1355 
1356   // Divide the heap region sequence into "chunks" of some size (the number
1357   // of regions divided by the number of parallel threads times some
1358   // overpartition factor, currently 4).  Assumes that this will be called
1359   // in parallel by ParallelGCThreads worker threads with discinct worker
1360   // ids in the range [0..max(ParallelGCThreads-1, 1)], that all parallel
1361   // calls will use the same "claim_value", and that that claim value is
1362   // different from the claim_value of any heap region before the start of
1363   // the iteration.  Applies "blk->doHeapRegion" to each of the regions, by
1364   // attempting to claim the first region in each chunk, and, if
1365   // successful, applying the closure to each region in the chunk (and