Mercurial > hg > graal-jvmci-8
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(); |