From bfac3fb595c8b46b5c25ec356ec610ba7003f030 Mon Sep 17 00:00:00 2001 From: Aleksey Shipilev <shade@openjdk.org> Date: Fri, 22 Jan 2021 11:39:16 +0000 Subject: [PATCH] 8260212: Shenandoah: resolve-only UpdateRefsMode is not used Reviewed-by: rkennke, zgu --- .../share/gc/shenandoah/shenandoahMark.inline.hpp | 3 --- .../share/gc/shenandoah/shenandoahOopClosures.hpp | 15 --------------- 2 files changed, 18 deletions(-) diff --git a/src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp b/src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp index 0dea3448d00..12cadd2f967 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahMark.inline.hpp @@ -248,9 +248,6 @@ inline void ShenandoahMark::mark_through_ref(T *p, ShenandoahHeap* heap, Shenand switch (UPDATE_REFS) { case NONE: break; - case RESOLVE: - obj = ShenandoahBarrierSet::resolve_forwarded_not_null(obj); - break; case SIMPLE: // We piggy-back reference updating to the marking tasks. obj = heap->update_with_forwarded_not_null(p, obj); diff --git a/src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp b/src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp index e9dceaad071..0a812b54ab3 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp @@ -34,7 +34,6 @@ enum UpdateRefsMode { NONE, // No reference updating - RESOLVE, // Only a resolve (no reference updating) SIMPLE, // Reference updating using simple store CONCURRENT // Reference updating using CAS }; @@ -151,20 +150,6 @@ public: virtual bool do_metadata() { return false; } }; -class ShenandoahMarkResolveRefsClosure : public ShenandoahMarkRefsSuperClosure { -private: - template <class T> - inline void do_oop_work(T* p) { work<T, RESOLVE, NO_DEDUP>(p); } - -public: - ShenandoahMarkResolveRefsClosure(ShenandoahObjToScanQueue* q, ShenandoahReferenceProcessor* rp) : - ShenandoahMarkRefsSuperClosure(q, rp) {}; - - virtual void do_oop(narrowOop* p) { do_oop_work(p); } - virtual void do_oop(oop* p) { do_oop_work(p); } - virtual bool do_metadata() { return false; } -}; - class ShenandoahMarkRefsMetadataClosure : public ShenandoahMarkRefsSuperClosure { private: template <class T>