提交 8bbfe8dd 编写于 作者: T tonyp

7003860: G1: assert(_cur_alloc_region == NULL || !expect_null_cur_alloc_region) fails

Summary: Wrong assumption about expecting the current alloc region expected to be NULL in expand_and_allocate().
Reviewed-by: brutisso, ysr
上级 064ea6ca
......@@ -920,8 +920,10 @@ HeapWord* G1CollectedHeap::attempt_allocation_at_safepoint(size_t word_size,
bool expect_null_cur_alloc_region) {
assert_at_safepoint();
assert(_cur_alloc_region == NULL || !expect_null_cur_alloc_region,
"The current alloc region should only be non-NULL if we're "
"expecting it not to be NULL");
err_msg("the current alloc region was unexpectedly found "
"to be non-NULL, cur alloc region: "PTR_FORMAT" "
"expect_null_cur_alloc_region: %d word_size: "SIZE_FORMAT,
_cur_alloc_region, expect_null_cur_alloc_region, word_size));
if (!isHumongous(word_size)) {
if (!expect_null_cur_alloc_region) {
......@@ -1597,7 +1599,7 @@ HeapWord* G1CollectedHeap::expand_and_allocate(size_t word_size) {
assert(regions_accounted_for(), "Region leakage!");
return attempt_allocation_at_safepoint(word_size,
true /* expect_null_cur_alloc_region */);
false /* expect_null_cur_alloc_region */);
}
size_t G1CollectedHeap::free_region_if_totally_empty(HeapRegion* hr) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册