6652160: G1: assert(cur_used_bytes == _g1->recalculate_used(),"It should!") at g1CollectorPolicy.cpp:1425
In attempt_allocation_slow() wait for the concurrent cleanup to complete before modifying _summary_bytes_used. Reviewed-by: jmasa, apetrusenko
This commit is contained in:
parent
2703662478
commit
09fd47bcef
@ -648,6 +648,12 @@ G1CollectedHeap::attempt_allocation_slow(size_t word_size,
|
|||||||
"Prevent a regression of this bug.");
|
"Prevent a regression of this bug.");
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
// We may have concurrent cleanup working at the time. Wait for it
|
||||||
|
// to complete. In the future we would probably want to make the
|
||||||
|
// concurrent cleanup truly concurrent by decoupling it from the
|
||||||
|
// allocation.
|
||||||
|
if (!SafepointSynchronize::is_at_safepoint())
|
||||||
|
wait_for_cleanup_complete();
|
||||||
// If we do a collection pause, this will be reset to a non-NULL
|
// If we do a collection pause, this will be reset to a non-NULL
|
||||||
// value. If we don't, nulling here ensures that we allocate a new
|
// value. If we don't, nulling here ensures that we allocate a new
|
||||||
// region below.
|
// region below.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user