871 // As above but starting from the region at index idx. |
871 // As above but starting from the region at index idx. |
872 void heap_region_iterate_from(int idx, HeapRegionClosure* blk); |
872 void heap_region_iterate_from(int idx, HeapRegionClosure* blk); |
873 |
873 |
874 HeapRegion* region_at(size_t idx); |
874 HeapRegion* region_at(size_t idx); |
875 |
875 |
876 |
|
877 // Divide the heap region sequence into "chunks" of some size (the number |
876 // Divide the heap region sequence into "chunks" of some size (the number |
878 // of regions divided by the number of parallel threads times some |
877 // of regions divided by the number of parallel threads times some |
879 // overpartition factor, currently 4). Assumes that this will be called |
878 // overpartition factor, currently 4). Assumes that this will be called |
880 // in parallel by ParallelGCThreads worker threads with discinct worker |
879 // in parallel by ParallelGCThreads worker threads with discinct worker |
881 // ids in the range [0..max(ParallelGCThreads-1, 1)], that all parallel |
880 // ids in the range [0..max(ParallelGCThreads-1, 1)], that all parallel |
889 // i.e., that a closure never attempt to abort a traversal. |
888 // i.e., that a closure never attempt to abort a traversal. |
890 void heap_region_par_iterate_chunked(HeapRegionClosure* blk, |
889 void heap_region_par_iterate_chunked(HeapRegionClosure* blk, |
891 int worker, |
890 int worker, |
892 jint claim_value); |
891 jint claim_value); |
893 |
892 |
|
893 #ifdef ASSERT |
|
894 bool check_heap_region_claim_values(jint claim_value); |
|
895 #endif // ASSERT |
|
896 |
894 // Iterate over the regions (if any) in the current collection set. |
897 // Iterate over the regions (if any) in the current collection set. |
895 void collection_set_iterate(HeapRegionClosure* blk); |
898 void collection_set_iterate(HeapRegionClosure* blk); |
896 |
899 |
897 // As above but starting from region r |
900 // As above but starting from region r |
898 void collection_set_iterate_from(HeapRegion* r, HeapRegionClosure *blk); |
901 void collection_set_iterate_from(HeapRegion* r, HeapRegionClosure *blk); |