< prev index next >

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

Print this page
@@ -197,20 +197,19 @@
    assert(ShenandoahHeap::heap()->is_full_gc_in_progress(), "Full GC only");
  }
  
  void ShenandoahRootAdjuster::roots_do(uint worker_id, OopClosure* oops) {
    NMethodToOopClosure code_blob_cl(oops, NMethodToOopClosure::FixRelocations);
-   ShenandoahNMethodAndDisarmClosure nmethods_and_disarm_Cl(oops);
    CLDToOopClosure adjust_cld_closure(oops, ClassLoaderData::_claim_strong);
  
    // Process light-weight/limited parallel roots then
    _vm_roots.oops_do(oops, worker_id);
    _weak_roots.oops_do<OopClosure>(oops, worker_id);
    _cld_roots.cld_do(&adjust_cld_closure, worker_id);
  
    // Process heavy-weight/fully parallel roots the last
-   _code_roots.nmethods_do(&nmethods_and_disarm_Cl, worker_id);
+   _code_roots.nmethods_do(&code_blob_cl, worker_id);
    _thread_roots.oops_do(oops, nullptr, worker_id);
  }
  
  ShenandoahHeapIterationRootScanner::ShenandoahHeapIterationRootScanner(uint n_workers) :
    ShenandoahRootProcessor(ShenandoahPhaseTimings::heap_iteration_roots),

@@ -237,11 +236,11 @@
        // Make sure it only sees to-space objects
        _bs_nm->nmethod_entry_barrier(nm);
      }
      ShenandoahNMethod* const snm = ShenandoahNMethod::gc_data(nm);
      assert(snm != nullptr, "Sanity");
-     snm->oops_do(_oops, false /*fix_relocations*/);
+     snm->oops_do(_oops, /* fix_relocations = */ false, /* icic = */ nullptr);
    }
  };
  
  void ShenandoahHeapIterationRootScanner::roots_do(OopClosure* oops) {
    // Must use _claim_other to avoid interfering with concurrent CLDG iteration
< prev index next >