提交 3f88af3a 编写于 作者: P pliden

8036673: G1: Abort weak reference processing if mark stack overflows

Reviewed-by: brutisso, tschatzl
上级 e4297566
...@@ -2529,6 +2529,11 @@ void ConcurrentMark::weakRefsWork(bool clear_all_soft_refs) { ...@@ -2529,6 +2529,11 @@ void ConcurrentMark::weakRefsWork(bool clear_all_soft_refs) {
assert(!rp->discovery_enabled(), "Post condition"); assert(!rp->discovery_enabled(), "Post condition");
} }
if (has_overflown()) {
// We can not trust g1_is_alive if the marking stack overflowed
return;
}
g1h->unlink_string_and_symbol_table(&g1_is_alive, g1h->unlink_string_and_symbol_table(&g1_is_alive,
/* process_strings */ false, // currently strings are always roots /* process_strings */ false, // currently strings are always roots
/* process_symbols */ true); /* process_symbols */ true);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册