# HG changeset patch # User ehelin # Date 1448376405 -3600 # Node ID ef50f39866b512552ed78a5e8da8c514987f930b # Parent ae53ecf4124a1b997119a68afc35a09d47737ed0 8142495: Move G1ParEvacuateFollowersClosure to header file Reviewed-by: sjohanss, brutisso diff -r ae53ecf4124a -r ef50f39866b5 hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp --- a/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp Wed Nov 25 06:33:28 2015 +0000 +++ b/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp Tue Nov 24 15:46:45 2015 +0100 @@ -4101,42 +4101,6 @@ } } -class G1ParEvacuateFollowersClosure : public VoidClosure { -private: - double _start_term; - double _term_time; - size_t _term_attempts; - - void start_term_time() { _term_attempts++; _start_term = os::elapsedTime(); } - void end_term_time() { _term_time += os::elapsedTime() - _start_term; } -protected: - G1CollectedHeap* _g1h; - G1ParScanThreadState* _par_scan_state; - RefToScanQueueSet* _queues; - ParallelTaskTerminator* _terminator; - - G1ParScanThreadState* par_scan_state() { return _par_scan_state; } - RefToScanQueueSet* queues() { return _queues; } - ParallelTaskTerminator* terminator() { return _terminator; } - -public: - G1ParEvacuateFollowersClosure(G1CollectedHeap* g1h, - G1ParScanThreadState* par_scan_state, - RefToScanQueueSet* queues, - ParallelTaskTerminator* terminator) - : _g1h(g1h), _par_scan_state(par_scan_state), - _queues(queues), _terminator(terminator), - _start_term(0.0), _term_time(0.0), _term_attempts(0) {} - - void do_void(); - - double term_time() const { return _term_time; } - size_t term_attempts() const { return _term_attempts; } - -private: - inline bool offer_termination(); -}; - bool G1ParEvacuateFollowersClosure::offer_termination() { G1ParScanThreadState* const pss = par_scan_state(); start_term_time(); diff -r ae53ecf4124a -r ef50f39866b5 hotspot/src/share/vm/gc/g1/g1CollectedHeap.hpp --- a/hotspot/src/share/vm/gc/g1/g1CollectedHeap.hpp Wed Nov 25 06:33:28 2015 +0000 +++ b/hotspot/src/share/vm/gc/g1/g1CollectedHeap.hpp Tue Nov 24 15:46:45 2015 +0100 @@ -1518,4 +1518,40 @@ size_t _max_heap_capacity; }; +class G1ParEvacuateFollowersClosure : public VoidClosure { +private: + double _start_term; + double _term_time; + size_t _term_attempts; + + void start_term_time() { _term_attempts++; _start_term = os::elapsedTime(); } + void end_term_time() { _term_time += os::elapsedTime() - _start_term; } +protected: + G1CollectedHeap* _g1h; + G1ParScanThreadState* _par_scan_state; + RefToScanQueueSet* _queues; + ParallelTaskTerminator* _terminator; + + G1ParScanThreadState* par_scan_state() { return _par_scan_state; } + RefToScanQueueSet* queues() { return _queues; } + ParallelTaskTerminator* terminator() { return _terminator; } + +public: + G1ParEvacuateFollowersClosure(G1CollectedHeap* g1h, + G1ParScanThreadState* par_scan_state, + RefToScanQueueSet* queues, + ParallelTaskTerminator* terminator) + : _g1h(g1h), _par_scan_state(par_scan_state), + _queues(queues), _terminator(terminator), + _start_term(0.0), _term_time(0.0), _term_attempts(0) {} + + void do_void(); + + double term_time() const { return _term_time; } + size_t term_attempts() const { return _term_attempts; } + +private: + inline bool offer_termination(); +}; + #endif // SHARE_VM_GC_G1_G1COLLECTEDHEAP_HPP