src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp
Print this page
rev 6670 : fast reclaim main patch
*** 183,192 ****
--- 183,195 ----
// Removes any entries shown by the given bitmaps to contain only dead
// objects.
void scrub(CardTableModRefBS* ctbs, BitMap* region_bm, BitMap* card_bm);
+ // Returns whether this remembered set (and all sub-sets) contain no entries.
+ bool is_empty() const;
+
size_t occupied() const;
size_t occ_fine() const;
size_t occ_coarse() const;
size_t occ_sparse() const;
*** 267,276 ****
--- 270,283 ----
HeapRegion* hr() const {
return _other_regions.hr();
}
+ bool is_empty() const {
+ return (strong_code_roots_list_length() == 0) && _other_regions.is_empty();
+ }
+
size_t occupied() {
MutexLockerEx x(&_m, Mutex::_no_safepoint_check_flag);
return occupied_locked();
}
size_t occupied_locked() {
*** 369,379 ****
// Applies blk->do_code_blob() to each of the entries in
// the strong code roots list
void strong_code_roots_do(CodeBlobClosure* blk) const;
// Returns the number of elements in the strong code roots list
! size_t strong_code_roots_list_length() {
return _code_roots.length();
}
// Returns true if the strong code roots contains the given
// nmethod.
--- 376,386 ----
// Applies blk->do_code_blob() to each of the entries in
// the strong code roots list
void strong_code_roots_do(CodeBlobClosure* blk) const;
// Returns the number of elements in the strong code roots list
! size_t strong_code_roots_list_length() const {
return _code_roots.length();
}
// Returns true if the strong code roots contains the given
// nmethod.