diff -r 30067047ed88 -r f855ec13aa25 src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp --- a/src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp Wed Apr 03 11:30:23 2019 -0400 +++ b/src/hotspot/share/gc/shenandoah/shenandoahOopClosures.hpp Wed Mar 27 22:25:03 2019 +0100 @@ -184,24 +184,16 @@ virtual bool do_metadata() { return true; } }; -class ShenandoahUpdateHeapRefsSuperClosure : public BasicOopIterateClosure { +class ShenandoahUpdateHeapRefsClosure : public BasicOopIterateClosure { private: ShenandoahHeap* _heap; -public: - ShenandoahUpdateHeapRefsSuperClosure() : - _heap(ShenandoahHeap::heap()) {} template - void work(T *p); -}; - -class ShenandoahUpdateHeapRefsClosure : public ShenandoahUpdateHeapRefsSuperClosure { -private: - template - inline void do_oop_work(T* p) { work(p); } + void do_oop_work(T* p); public: - ShenandoahUpdateHeapRefsClosure() : ShenandoahUpdateHeapRefsSuperClosure() {} + ShenandoahUpdateHeapRefsClosure() : + _heap(ShenandoahHeap::heap()) {} virtual void do_oop(narrowOop* p) { do_oop_work(p); } virtual void do_oop(oop* p) { do_oop_work(p); }