< prev index next >
src/share/vm/gc_implementation/g1/heapRegionRemSet.hpp
Print this page
rev 7518 : 8048179: Early reclaim of large objects that are referenced by a few objects
Summary:
Reviewed-by:
*** 181,190 ****
--- 181,194 ----
void add_reference(OopOrNarrowOopStar from, uint tid);
// Returns whether the remembered set contains the given reference.
bool contains_reference(OopOrNarrowOopStar from) const;
+ // Returns whether this remembered set (and all sub-sets) are "small" so that
+ // the (humongous) region will be candidate for eager reclaim.
+ bool is_small_for_eager_reclaim() const;
+
// Removes any entries shown by the given bitmaps to contain only dead
// objects. Not thread safe.
// Set bits in the bitmaps indicate that the given region or card is live.
void scrub(CardTableModRefBS* ctbs, BitMap* region_bm, BitMap* card_bm);
*** 259,268 ****
--- 263,276 ----
bool is_empty() const {
return (strong_code_roots_list_length() == 0) && _other_regions.is_empty();
}
+ bool is_small_for_eager_reclaim() const {
+ return (strong_code_roots_list_length() == 0) && _other_regions.is_small_for_eager_reclaim();
+ }
+
size_t occupied() {
MutexLockerEx x(&_m, Mutex::_no_safepoint_check_flag);
return occupied_locked();
}
size_t occupied_locked() {
< prev index next >