< prev index next >
src/share/vm/gc/g1/g1MarkSweep.cpp
Print this page
*** 91,102 ****
mark_sweep_phase1(marked_for_unloading, clear_all_softrefs);
mark_sweep_phase2();
// Don't add any more derived pointers during phase3
! COMPILER2_PRESENT(DerivedPointerTable::set_active(false));
mark_sweep_phase3();
mark_sweep_phase4();
--- 91,104 ----
mark_sweep_phase1(marked_for_unloading, clear_all_softrefs);
mark_sweep_phase2();
+ #if defined(COMPILER2) || INCLUDE_JVMCI
// Don't add any more derived pointers during phase3
! DerivedPointerTable::set_active(false);
! #endif
mark_sweep_phase3();
mark_sweep_phase4();
*** 166,176 ****
// Delete entries for dead interned string and clean up unreferenced symbols in symbol table.
g1h->unlink_string_and_symbol_table(&GenMarkSweep::is_alive);
if (VerifyDuringGC) {
HandleMark hm; // handle scope
! COMPILER2_PRESENT(DerivedPointerTableDeactivate dpt_deact);
g1h->prepare_for_verify();
// Note: we can verify only the heap here. When an object is
// marked, the previous value of the mark word (including
// identity hash values, ages, etc) is preserved, and the mark
// word is set to markOop::marked_value - effectively removing
--- 168,180 ----
// Delete entries for dead interned string and clean up unreferenced symbols in symbol table.
g1h->unlink_string_and_symbol_table(&GenMarkSweep::is_alive);
if (VerifyDuringGC) {
HandleMark hm; // handle scope
! #if defined(COMPILER2) || INCLUDE_JVMCI
! DerivedPointerTableDeactivate dpt_deact;
! #endif
g1h->prepare_for_verify();
// Note: we can verify only the heap here. When an object is
// marked, the previous value of the mark word (including
// identity hash values, ages, etc) is preserved, and the mark
// word is set to markOop::marked_value - effectively removing
< prev index next >