--- a/src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Fri May 17 12:33:37 2019 +0200
+++ b/src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp Fri May 17 09:52:35 2019 -0400
@@ -561,22 +561,16 @@
class ShenandoahAdjustRootPointersTask : public AbstractGangTask {
private:
- ShenandoahRootProcessor* _rp;
+ ShenandoahRootAdjuster* _rp;
public:
- ShenandoahAdjustRootPointersTask(ShenandoahRootProcessor* rp) :
+ ShenandoahAdjustRootPointersTask(ShenandoahRootAdjuster* rp) :
AbstractGangTask("Shenandoah Adjust Root Pointers Task"),
_rp(rp) {}
void work(uint worker_id) {
ShenandoahAdjustPointersClosure cl;
- CLDToOopClosure adjust_cld_closure(&cl, ClassLoaderData::_claim_strong);
- MarkingCodeBlobClosure adjust_code_closure(&cl,
- CodeBlobToOopClosure::FixRelocations);
-
- _rp->update_all_roots<AlwaysTrueClosure>(&cl,
- &adjust_cld_closure,
- &adjust_code_closure, NULL, worker_id);
+ _rp->roots_do(worker_id, &cl);
}
};
@@ -592,7 +586,7 @@
#if COMPILER2_OR_JVMCI
DerivedPointerTable::clear();
#endif
- ShenandoahRootProcessor rp(heap, nworkers, ShenandoahPhaseTimings::full_gc_roots);
+ ShenandoahRootAdjuster rp(nworkers, ShenandoahPhaseTimings::full_gc_roots);
ShenandoahAdjustRootPointersTask task(&rp);
workers->run_task(&task);
#if COMPILER2_OR_JVMCI