提交 cfe9d32f 编写于 作者: J jmasa

6976528: PS: assert(!limit_exceeded || softrefs_clear) failed: Should have been cleared

Reviewed-by: johnc
上级 35b32c17
...@@ -409,7 +409,7 @@ HeapWord* ParallelScavengeHeap::mem_allocate( ...@@ -409,7 +409,7 @@ HeapWord* ParallelScavengeHeap::mem_allocate(
// heap remains parsable. // heap remains parsable.
const bool limit_exceeded = size_policy()->gc_overhead_limit_exceeded(); const bool limit_exceeded = size_policy()->gc_overhead_limit_exceeded();
const bool softrefs_clear = collector_policy()->all_soft_refs_clear(); const bool softrefs_clear = collector_policy()->all_soft_refs_clear();
assert(!limit_exceeded || softrefs_clear, "Should have been cleared");
if (limit_exceeded && softrefs_clear) { if (limit_exceeded && softrefs_clear) {
*gc_overhead_limit_was_exceeded = true; *gc_overhead_limit_was_exceeded = true;
size_policy()->set_gc_overhead_limit_exceeded(false); size_policy()->set_gc_overhead_limit_exceeded(false);
......
...@@ -620,7 +620,7 @@ HeapWord* GenCollectorPolicy::mem_allocate_work(size_t size, ...@@ -620,7 +620,7 @@ HeapWord* GenCollectorPolicy::mem_allocate_work(size_t size,
const bool limit_exceeded = size_policy()->gc_overhead_limit_exceeded(); const bool limit_exceeded = size_policy()->gc_overhead_limit_exceeded();
const bool softrefs_clear = all_soft_refs_clear(); const bool softrefs_clear = all_soft_refs_clear();
assert(!limit_exceeded || softrefs_clear, "Should have been cleared");
if (limit_exceeded && softrefs_clear) { if (limit_exceeded && softrefs_clear) {
*gc_overhead_limit_was_exceeded = true; *gc_overhead_limit_was_exceeded = true;
size_policy()->set_gc_overhead_limit_exceeded(false); size_policy()->set_gc_overhead_limit_exceeded(false);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册