7013718: G1: small fixes for two assert/guarantee failures
Two small fixes to deal with a guarantee failure (the marking thread should join the SuspendibleThreadSet before calling a method that does pause prediction work so that said method is never called during a pause) and an assert failure (an assert is too strong). Reviewed-by: iveresov, johnc
This commit is contained in:
parent
d31ff8a886
commit
14f4450d25
@ -251,7 +251,9 @@ void ConcurrentMarkThread::run() {
|
|||||||
|
|
||||||
// Now do the remainder of the cleanup operation.
|
// Now do the remainder of the cleanup operation.
|
||||||
_cm->completeCleanup();
|
_cm->completeCleanup();
|
||||||
|
_sts.join();
|
||||||
g1_policy->record_concurrent_mark_cleanup_completed();
|
g1_policy->record_concurrent_mark_cleanup_completed();
|
||||||
|
_sts.leave();
|
||||||
|
|
||||||
double cleanup_end_sec = os::elapsedTime();
|
double cleanup_end_sec = os::elapsedTime();
|
||||||
if (PrintGC) {
|
if (PrintGC) {
|
||||||
|
@ -195,10 +195,10 @@ int HeapRegionSeq::find_contiguous(size_t num) {
|
|||||||
assert(0 <= res && res < _regions.length(),
|
assert(0 <= res && res < _regions.length(),
|
||||||
err_msg("res: %d should be valid", res));
|
err_msg("res: %d should be valid", res));
|
||||||
_alloc_search_start = res + (int) num;
|
_alloc_search_start = res + (int) num;
|
||||||
}
|
|
||||||
assert(0 < _alloc_search_start && _alloc_search_start <= _regions.length(),
|
assert(0 < _alloc_search_start && _alloc_search_start <= _regions.length(),
|
||||||
err_msg("_alloc_search_start: %d should be valid",
|
err_msg("_alloc_search_start: %d should be valid",
|
||||||
_alloc_search_start));
|
_alloc_search_start));
|
||||||
|
}
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user