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