< prev index next >

src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp

Print this page
rev 7854 : imported patch 8027962-per-phase-timing-measurements-for-strong-roots-processing
rev 7855 : [mq]: 8027962-bengt-suggestions

*** 793,803 **** OopClosure* scan_non_heap_weak_roots, G1ParPushHeapRSClosure* scan_rs, CLDClosure* scan_strong_clds, CLDClosure* scan_weak_clds, CodeBlobClosure* scan_strong_code, ! uint worker_i); // The concurrent marker (and the thread it runs in.) ConcurrentMark* _cm; ConcurrentMarkThread* _cmThread; bool _mark_in_progress; --- 793,804 ---- OopClosure* scan_non_heap_weak_roots, G1ParPushHeapRSClosure* scan_rs, CLDClosure* scan_strong_clds, CLDClosure* scan_weak_clds, CodeBlobClosure* scan_strong_code, ! uint worker_i, ! PhaseTimeData* phase_times); // The concurrent marker (and the thread it runs in.) ConcurrentMark* _cm; ConcurrentMarkThread* _cmThread; bool _mark_in_progress;
*** 981,1002 **** // The heap region entry for a given worker is valid iff // the associated time stamp value matches the current value // of G1CollectedHeap::_gc_time_stamp. uint* _worker_cset_start_region_time_stamp; enum G1H_process_roots_tasks { ! G1H_PS_filter_satb_buffers, G1H_PS_refProcessor_oops_do, // Leave this one last. G1H_PS_NumElements }; ! SubTasksDone* _process_strong_tasks; ! ! volatile bool _free_regions_coming; ! ! public: SubTasksDone* process_strong_tasks() { return _process_strong_tasks; } void set_refine_cte_cl_concurrency(bool concurrent); --- 982,1011 ---- // The heap region entry for a given worker is valid iff // the associated time stamp value matches the current value // of G1CollectedHeap::_gc_time_stamp. uint* _worker_cset_start_region_time_stamp; + SubTasksDone* _process_strong_tasks; + + volatile bool _free_regions_coming; + + + public: enum G1H_process_roots_tasks { ! G1H_PS_First, ! G1H_PS_filter_satb_buffers = G1H_PS_First, G1H_PS_refProcessor_oops_do, + G1H_PS_wait_strong_cld_nmethods, + G1H_PS_weak_clds_oops_do, // Leave this one last. G1H_PS_NumElements }; ! // Returns the number of external root tasks. ! static uint num_ext_root_tasks() { return G1H_PS_NumElements + SharedHeap::SH_PS_NumElements; } ! // Returns a human readable description of the given external root task. ! static const char* ext_roots_task_string(uint i); SubTasksDone* process_strong_tasks() { return _process_strong_tasks; } void set_refine_cte_cl_concurrency(bool concurrent);
< prev index next >