6812428: G1: Error: assert(ret || obj_in_cs(obj),"sanity")

The length of the fast cset test vector is decided at the beginning of a GC, but more regions can be added during the GC. The simple fix is to set the length of the fast cset test vector to the max.

Reviewed-by: iveresov
This commit is contained in:
Antonios Printezis 2009-03-07 11:07:37 -05:00
parent e7d899910b
commit 8893530f3a

View file

@ -2509,7 +2509,7 @@ G1CollectedHeap::do_collection_pause_at_safepoint(HeapRegion* popular_region) {
guarantee(_in_cset_fast_test == NULL, "invariant"); guarantee(_in_cset_fast_test == NULL, "invariant");
guarantee(_in_cset_fast_test_base == NULL, "invariant"); guarantee(_in_cset_fast_test_base == NULL, "invariant");
_in_cset_fast_test_length = n_regions(); _in_cset_fast_test_length = max_regions();
_in_cset_fast_test_base = _in_cset_fast_test_base =
NEW_C_HEAP_ARRAY(bool, _in_cset_fast_test_length); NEW_C_HEAP_ARRAY(bool, _in_cset_fast_test_length);
memset(_in_cset_fast_test_base, false, memset(_in_cset_fast_test_base, false,