src/share/vm/gc_implementation/g1/concurrentMark.cpp
Print this page
rev 6068 : 8036673: G1: Abort weak reference processing if mark stack overflows
@@ -2526,10 +2526,15 @@
rp->verify_no_references_recorded();
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);
}