comparison src/share/vm/gc_implementation/g1/g1MarkSweep.cpp @ 22294:d86b226e331a

Enable derived oop processing by the GC with JVMCI
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Tue, 21 Jul 2015 15:00:07 -0700
parents 7848fc12602b
children c28cb37b2e1d
comparison
equal deleted inserted replaced
22272:b6d504612b3f 22294:d86b226e331a
87 87
88 mark_sweep_phase1(marked_for_unloading, clear_all_softrefs); 88 mark_sweep_phase1(marked_for_unloading, clear_all_softrefs);
89 89
90 mark_sweep_phase2(); 90 mark_sweep_phase2();
91 91
92 #if defined(COMPILER2) || defined(JVMCI)
92 // Don't add any more derived pointers during phase3 93 // Don't add any more derived pointers during phase3
93 COMPILER2_PRESENT(DerivedPointerTable::set_active(false)); 94 DerivedPointerTable::set_active(false);
95 #endif
94 96
95 mark_sweep_phase3(); 97 mark_sweep_phase3();
96 98
97 mark_sweep_phase4(); 99 mark_sweep_phase4();
98 100
168 // Delete entries for dead interned string and clean up unreferenced symbols in symbol table. 170 // Delete entries for dead interned string and clean up unreferenced symbols in symbol table.
169 G1CollectedHeap::heap()->unlink_string_and_symbol_table(&GenMarkSweep::is_alive); 171 G1CollectedHeap::heap()->unlink_string_and_symbol_table(&GenMarkSweep::is_alive);
170 172
171 if (VerifyDuringGC) { 173 if (VerifyDuringGC) {
172 HandleMark hm; // handle scope 174 HandleMark hm; // handle scope
173 COMPILER2_PRESENT(DerivedPointerTableDeactivate dpt_deact); 175 #if defined(COMPILER2) || defined(JVMCI)
176 DerivedPointerTableDeactivate dpt_deact;
177 #endif
174 Universe::heap()->prepare_for_verify(); 178 Universe::heap()->prepare_for_verify();
175 // Note: we can verify only the heap here. When an object is 179 // Note: we can verify only the heap here. When an object is
176 // marked, the previous value of the mark word (including 180 // marked, the previous value of the mark word (including
177 // identity hash values, ages, etc) is preserved, and the mark 181 // identity hash values, ages, etc) is preserved, and the mark
178 // word is set to markOop::marked_value - effectively removing 182 // word is set to markOop::marked_value - effectively removing