< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp

Print this page
rev 55227 : 8225341: Shenandoah: CM::update_thread_roots() needs to handle derived pointers

*** 329,340 **** --- 329,346 ---- }; void ShenandoahConcurrentMark::update_thread_roots(ShenandoahPhaseTimings::Phase root_phase) { WorkGang* workers = _heap->workers(); bool is_par = workers->active_workers() > 1; + #if defined(COMPILER2) || INCLUDE_JVMCI + DerivedPointerTable::clear(); + #endif ShenandoahUpdateThreadRootsTask task(is_par, root_phase); workers->run_task(&task); + #if defined(COMPILER2) || INCLUDE_JVMCI + DerivedPointerTable::update_pointers(); + #endif } void ShenandoahConcurrentMark::initialize(uint workers) { _heap = ShenandoahHeap::heap();
< prev index next >