< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.hpp

Print this page
rev 50928 : Process remaining SATB buffers in final mark/traverse loop instead of separate phase

*** 79,100 **** ShenandoahObjToScanQueueSet* task_queues(); jushort* get_liveness(uint worker_id); void flush_liveness(uint worker_id); ! void main_loop(uint worker_id, ParallelTaskTerminator* terminator, bool do_satb); void push_arraycopy(HeapWord* start, size_t count); private: void prepare_regions(); ! template <bool DO_SATB> ! void main_loop_prework(uint w, ParallelTaskTerminator* t); ! ! template <class T, bool DO_SATB> void main_loop_work(T* cl, jushort* live_data, uint worker_id, ParallelTaskTerminator* terminator); void preclean_weak_refs(); void weak_refs_work(); void weak_refs_work_doit(); --- 79,97 ---- ShenandoahObjToScanQueueSet* task_queues(); jushort* get_liveness(uint worker_id); void flush_liveness(uint worker_id); ! void main_loop(uint worker_id, ParallelTaskTerminator* terminator); void push_arraycopy(HeapWord* start, size_t count); private: void prepare_regions(); ! template <class T> void main_loop_work(T* cl, jushort* live_data, uint worker_id, ParallelTaskTerminator* terminator); void preclean_weak_refs(); void weak_refs_work(); void weak_refs_work_doit();
< prev index next >