8260212: Shenandoah: resolve-only UpdateRefsMode is not used

Reviewed-by: rkennke, zgu
This commit is contained in:
Aleksey Shipilev 2021-01-22 11:39:16 +00:00
parent 58ceb25443
commit bfac3fb595
2 changed files with 0 additions and 18 deletions

@ -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);

@ -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>