comparison src/share/vm/gc_implementation/g1/concurrentMark.cpp @ 17750:f53edbc2b728

8036673: G1: Abort weak reference processing if mark stack overflows Reviewed-by: brutisso, tschatzl
author pliden
date Mon, 17 Mar 2014 15:18:45 +0100
parents 58fc1b1523dc
children 8ee855b4e667
comparison
equal deleted inserted replaced
17749:b7e42ada4898 17750:f53edbc2b728
2525 2525
2526 rp->enqueue_discovered_references(executor); 2526 rp->enqueue_discovered_references(executor);
2527 2527
2528 rp->verify_no_references_recorded(); 2528 rp->verify_no_references_recorded();
2529 assert(!rp->discovery_enabled(), "Post condition"); 2529 assert(!rp->discovery_enabled(), "Post condition");
2530 }
2531
2532 if (has_overflown()) {
2533 // We can not trust g1_is_alive if the marking stack overflowed
2534 return;
2530 } 2535 }
2531 2536
2532 g1h->unlink_string_and_symbol_table(&g1_is_alive, 2537 g1h->unlink_string_and_symbol_table(&g1_is_alive,
2533 /* process_strings */ false, // currently strings are always roots 2538 /* process_strings */ false, // currently strings are always roots
2534 /* process_symbols */ true); 2539 /* process_symbols */ true);