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

Reviewed-by: brutisso, tschatzl
This commit is contained in:
Per Lidén 2014-03-17 15:18:45 +01:00
parent d75f47a49d
commit 731ef44b87

View file

@ -2529,6 +2529,11 @@ void ConcurrentMark::weakRefsWork(bool clear_all_soft_refs) {
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,
/* process_strings */ false, // currently strings are always roots
/* process_symbols */ true);