--- old/src/hotspot/share/gc/g1/g1OopClosures.hpp 2018-10-24 21:35:02.560384566 +0200 +++ new/src/hotspot/share/gc/g1/g1OopClosures.hpp 2018-10-24 21:35:02.360383439 +0200 @@ -43,7 +43,7 @@ protected: G1CollectedHeap* _g1h; G1ParScanThreadState* _par_scan_state; - HeapRegion* _from; + bool _from_is_young; G1ScanClosureBase(G1CollectedHeap* g1h, G1ParScanThreadState* par_scan_state); ~G1ScanClosureBase() { } @@ -56,24 +56,21 @@ public: virtual ReferenceIterationMode reference_iteration_mode() { return DO_FIELDS; } - void set_region(HeapRegion* from) { _from = from; } + void set_from_is_young(bool from_is_young) { _from_is_young = from_is_young; } inline void trim_queue_partially(); }; // Used during the Update RS phase to refine remaining cards in the DCQ during garbage collection. -class G1ScanObjsDuringUpdateRSClosure: public G1ScanClosureBase { - uint _worker_i; - +class G1ScanObjsDuringUpdateRSClosure : public G1ScanClosureBase { public: G1ScanObjsDuringUpdateRSClosure(G1CollectedHeap* g1h, - G1ParScanThreadState* pss, - uint worker_i) : - G1ScanClosureBase(g1h, pss), _worker_i(worker_i) { } + G1ParScanThreadState* pss) : + G1ScanClosureBase(g1h, pss) { } template void do_oop_work(T* p); virtual void do_oop(narrowOop* p) { do_oop_work(p); } - virtual void do_oop(oop* p) { do_oop_work(p); } + virtual void do_oop(oop* p) { do_oop_work(p); } }; // Used during the Scan RS phase to scan cards from the remembered set during garbage collection.