< prev index next >

src/share/vm/memory/sharedHeap.hpp

Print this page
rev 7854 : imported patch 8027962-per-phase-timing-measurements-for-strong-roots-processing

*** 44,53 **** --- 44,54 ---- class SubTasksDone; class WorkGang; class FlexibleWorkGang; class CollectorPolicy; class KlassClosure; + class GCPhaseTimeTracker; // Note on use of FlexibleWorkGang's for GC. // There are three places where task completion is determined. // In // 1) ParallelTaskTerminator::offer_termination() where _n_threads
*** 101,111 **** --- 102,130 ---- class SharedHeap : public CollectedHeap { friend class VMStructs; friend class VM_GC_Operation; friend class VM_CGC_Operation; + public: + // The set of potentially parallel tasks in root scanning. + enum SH_process_roots_tasks { + SH_PS_Threads_oops_do, + SH_PS_StringTable_oops_do, + SH_PS_Universe_oops_do, + SH_PS_JNIHandles_oops_do, + SH_PS_ObjectSynchronizer_oops_do, + SH_PS_FlatProfiler_oops_do, + SH_PS_Management_oops_do, + SH_PS_SystemDictionary_oops_do, + SH_PS_ClassLoaderDataGraph_oops_do, + SH_PS_jvmti_oops_do, + SH_PS_CodeCache_oops_do, + // Leave this one last. + SH_PS_NumElements + }; + static const char* ext_roots_task_str(uint task); private: // For claiming strong_roots tasks. SubTasksDone* _process_strong_tasks; protected:
*** 238,258 **** ScanningOption so, OopClosure* strong_roots, OopClosure* weak_roots, CLDClosure* strong_cld_closure, CLDClosure* weak_cld_closure, ! CodeBlobClosure* code_roots); void process_all_roots(bool activate_scope, ScanningOption so, OopClosure* roots, CLDClosure* cld_closure, ! CodeBlobClosure* code_roots); void process_strong_roots(bool activate_scope, ScanningOption so, OopClosure* roots, CLDClosure* cld_closure, ! CodeBlobClosure* code_roots); // Apply "root_closure" to the JNI weak roots.. void process_weak_roots(OopClosure* root_closure); --- 257,280 ---- ScanningOption so, OopClosure* strong_roots, OopClosure* weak_roots, CLDClosure* strong_cld_closure, CLDClosure* weak_cld_closure, ! CodeBlobClosure* code_roots, ! GCPhaseTimeTracker* phase_durations = NULL); void process_all_roots(bool activate_scope, ScanningOption so, OopClosure* roots, CLDClosure* cld_closure, ! CodeBlobClosure* code_roots, ! GCPhaseTimeTracker* phase_durations = NULL); void process_strong_roots(bool activate_scope, ScanningOption so, OopClosure* roots, CLDClosure* cld_closure, ! CodeBlobClosure* code_roots, ! GCPhaseTimeTracker* phase_durations = NULL); // Apply "root_closure" to the JNI weak roots.. void process_weak_roots(OopClosure* root_closure);
< prev index next >