comparison src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.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
192 size_t old_gen_prev_used = old_gen->used_in_bytes(); 192 size_t old_gen_prev_used = old_gen->used_in_bytes();
193 size_t young_gen_prev_used = young_gen->used_in_bytes(); 193 size_t young_gen_prev_used = young_gen->used_in_bytes();
194 194
195 allocate_stacks(); 195 allocate_stacks();
196 196
197 COMPILER2_PRESENT(DerivedPointerTable::clear()); 197 #if defined(COMPILER2) || defined(JVMCI)
198 DerivedPointerTable::clear();
199 #endif
198 200
199 ref_processor()->enable_discovery(true /*verify_disabled*/, true /*verify_no_refs*/); 201 ref_processor()->enable_discovery(true /*verify_disabled*/, true /*verify_no_refs*/);
200 ref_processor()->setup_policy(clear_all_softrefs); 202 ref_processor()->setup_policy(clear_all_softrefs);
201 203
202 mark_sweep_phase1(clear_all_softrefs); 204 mark_sweep_phase1(clear_all_softrefs);
203 205
204 mark_sweep_phase2(); 206 mark_sweep_phase2();
205 207
208 #if defined(COMPILER2) || defined(JVMCI)
206 // Don't add any more derived pointers during phase3 209 // Don't add any more derived pointers during phase3
207 COMPILER2_PRESENT(assert(DerivedPointerTable::is_active(), "Sanity")); 210 assert(DerivedPointerTable::is_active(), "Sanity");
208 COMPILER2_PRESENT(DerivedPointerTable::set_active(false)); 211 DerivedPointerTable::set_active(false);
212 #endif
209 213
210 mark_sweep_phase3(); 214 mark_sweep_phase3();
211 215
212 mark_sweep_phase4(); 216 mark_sweep_phase4();
213 217
252 BiasedLocking::restore_marks(); 256 BiasedLocking::restore_marks();
253 Threads::gc_epilogue(); 257 Threads::gc_epilogue();
254 CodeCache::gc_epilogue(); 258 CodeCache::gc_epilogue();
255 JvmtiExport::gc_epilogue(); 259 JvmtiExport::gc_epilogue();
256 260
257 COMPILER2_PRESENT(DerivedPointerTable::update_pointers()); 261 #if defined(COMPILER2) || defined(JVMCI)
262 DerivedPointerTable::update_pointers();
263 #endif
258 264
259 ref_processor()->enqueue_discovered_references(NULL); 265 ref_processor()->enqueue_discovered_references(NULL);
260 266
261 // Update time of last GC 267 // Update time of last GC
262 reset_millis_since_last_gc(); 268 reset_millis_since_last_gc();