< prev index next >
src/share/vm/gc/shenandoah/shenandoahOopClosures.hpp
Print this page
rev 13131 : Improve inlining of the root scanning closure in partial GC.
*** 180,186 ****
--- 180,202 ----
virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
virtual void do_oop(oop* p) { do_oop_nv(p); }
};
+ class PartialEvacuateUpdateHeapClosure : public ExtendedOopClosure {
+ ShenandoahPartialGC* _partial_gc;
+ Thread* _thread;
+ SCMObjToScanQueue* _queue;
+ public:
+ PartialEvacuateUpdateHeapClosure(SCMObjToScanQueue* q) :
+ _partial_gc(ShenandoahHeap::heap()->partial_gc()),
+ _thread(Thread::current()), _queue(q) {}
+
+ template <class T>
+ void do_oop_nv(T* p);
+
+ void do_oop(oop* p) { do_oop_nv(p); }
+ void do_oop(narrowOop* p) { do_oop_nv(p); }
+ };
+
#endif // SHARE_VM_GC_SHENANDOAH_SHENANDOAHOOPCLOSURES_HPP
< prev index next >