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>