comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp @ 618:ae1579717a57

6812428: G1: Error: assert(ret || obj_in_cs(obj),"sanity") Summary: 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
author tonyp
date Sat, 07 Mar 2009 11:07:37 -0500
parents 4f360ec815ba
children 7ea5ca260b28
comparison
equal deleted inserted replaced
617:0db4adb6e914 618:ae1579717a57
2507 g1_policy()->record_collection_pause_start(start_time_sec, 2507 g1_policy()->record_collection_pause_start(start_time_sec,
2508 start_used_bytes); 2508 start_used_bytes);
2509 2509
2510 guarantee(_in_cset_fast_test == NULL, "invariant"); 2510 guarantee(_in_cset_fast_test == NULL, "invariant");
2511 guarantee(_in_cset_fast_test_base == NULL, "invariant"); 2511 guarantee(_in_cset_fast_test_base == NULL, "invariant");
2512 _in_cset_fast_test_length = n_regions(); 2512 _in_cset_fast_test_length = max_regions();
2513 _in_cset_fast_test_base = 2513 _in_cset_fast_test_base =
2514 NEW_C_HEAP_ARRAY(bool, _in_cset_fast_test_length); 2514 NEW_C_HEAP_ARRAY(bool, _in_cset_fast_test_length);
2515 memset(_in_cset_fast_test_base, false, 2515 memset(_in_cset_fast_test_base, false,
2516 _in_cset_fast_test_length * sizeof(bool)); 2516 _in_cset_fast_test_length * sizeof(bool));
2517 // We're biasing _in_cset_fast_test to avoid subtracting the 2517 // We're biasing _in_cset_fast_test to avoid subtracting the