8141422: G1 eager reclaim card dirtying may dirty outside of allocated objects
Reviewed-by: sjohanss, tschatzl, ehelin
This commit is contained in:
parent
9adaaa0c96
commit
f25b7859ef
@ -3613,7 +3613,7 @@ class RegisterHumongousWithInCSetFastTestClosure : public HeapRegionClosure {
|
|||||||
// The remembered set might contain references to already freed
|
// The remembered set might contain references to already freed
|
||||||
// regions. Filter out such entries to avoid failing card table
|
// regions. Filter out such entries to avoid failing card table
|
||||||
// verification.
|
// verification.
|
||||||
if (!g1h->heap_region_containing(bs->addr_for(card_ptr))->is_free()) {
|
if (g1h->is_in_closed_subset(bs->addr_for(card_ptr))) {
|
||||||
if (*card_ptr != CardTableModRefBS::dirty_card_val()) {
|
if (*card_ptr != CardTableModRefBS::dirty_card_val()) {
|
||||||
*card_ptr = CardTableModRefBS::dirty_card_val();
|
*card_ptr = CardTableModRefBS::dirty_card_val();
|
||||||
_dcq.enqueue(card_ptr);
|
_dcq.enqueue(card_ptr);
|
||||||
|
Loading…
Reference in New Issue
Block a user