< prev index next > src/hotspot/share/gc/shenandoah/shenandoahClosures.hpp
Print this page
//
class ShenandoahMarkRefsSuperClosure : public ShenandoahSuperClosure {
private:
ShenandoahObjToScanQueue* _queue;
+ ShenandoahObjToScanQueue* _old_queue;
ShenandoahMarkingContext* const _mark_context;
bool _weak;
protected:
template <class T, ShenandoahGenerationType GENERATION>
void work(T *p);
public:
- inline ShenandoahMarkRefsSuperClosure(ShenandoahObjToScanQueue* q, ShenandoahReferenceProcessor* rp);
+ inline ShenandoahMarkRefsSuperClosure(ShenandoahObjToScanQueue* q, ShenandoahReferenceProcessor* rp, ShenandoahObjToScanQueue* old_q);
bool is_weak() const {
return _weak;
}
private:
template <class T>
inline void do_oop_work(T* p) { work<T, GENERATION>(p); }
public:
- ShenandoahMarkRefsClosure(ShenandoahObjToScanQueue* q, ShenandoahReferenceProcessor* rp) :
- ShenandoahMarkRefsSuperClosure(q, rp) {};
+ ShenandoahMarkRefsClosure(ShenandoahObjToScanQueue* q, ShenandoahReferenceProcessor* rp, ShenandoahObjToScanQueue* old_q) :
+ ShenandoahMarkRefsSuperClosure(q, rp, old_q) {};
virtual void do_oop(narrowOop* p) { do_oop_work(p); }
virtual void do_oop(oop* p) { do_oop_work(p); }
};
private:
template <class T>
inline void work(T* p);
public:
- ShenandoahMarkUpdateRefsClosure(ShenandoahObjToScanQueue* q, ShenandoahReferenceProcessor* rp);
+ ShenandoahMarkUpdateRefsClosure(ShenandoahObjToScanQueue* q, ShenandoahReferenceProcessor* rp, ShenandoahObjToScanQueue* old_q);
virtual void do_oop(narrowOop* p) { work(p); }
virtual void do_oop(oop* p) { work(p); }
};
< prev index next >