src/share/vm/gc/g1/g1RootProcessor.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File hotspot Sdiff src/share/vm/gc/g1

src/share/vm/gc/g1/g1RootProcessor.hpp

Print this page




  47 // worker thread call the process_roots methods.
  48 class G1RootProcessor : public StackObj {
  49   G1CollectedHeap* _g1h;
  50   SubTasksDone _process_strong_tasks;
  51   StrongRootsScope _srs;
  52 
  53   // Used to implement the Thread work barrier.
  54   Monitor _lock;
  55   volatile jint _n_workers_discovered_strong_classes;
  56 
  57   enum G1H_process_roots_tasks {
  58     G1RP_PS_Universe_oops_do,
  59     G1RP_PS_JNIHandles_oops_do,
  60     G1RP_PS_ObjectSynchronizer_oops_do,
  61     G1RP_PS_FlatProfiler_oops_do,
  62     G1RP_PS_Management_oops_do,
  63     G1RP_PS_SystemDictionary_oops_do,
  64     G1RP_PS_ClassLoaderDataGraph_oops_do,
  65     G1RP_PS_jvmti_oops_do,
  66     G1RP_PS_CodeCache_oops_do,

  67     G1RP_PS_filter_satb_buffers,
  68     G1RP_PS_refProcessor_oops_do,
  69     // Leave this one last.
  70     G1RP_PS_NumElements
  71   };
  72 
  73   void worker_has_discovered_all_strong_classes();
  74   void wait_until_all_strong_classes_discovered();
  75 
  76   void process_all_roots(OopClosure* oops,
  77                          CLDClosure* clds,
  78                          CodeBlobClosure* blobs,
  79                          bool process_string_table);
  80 
  81   void process_java_roots(G1RootClosures* closures,
  82                           G1GCPhaseTimes* phase_times,
  83                           uint worker_i);
  84 
  85   void process_vm_roots(G1RootClosures* closures,
  86                         G1GCPhaseTimes* phase_times,




  47 // worker thread call the process_roots methods.
  48 class G1RootProcessor : public StackObj {
  49   G1CollectedHeap* _g1h;
  50   SubTasksDone _process_strong_tasks;
  51   StrongRootsScope _srs;
  52 
  53   // Used to implement the Thread work barrier.
  54   Monitor _lock;
  55   volatile jint _n_workers_discovered_strong_classes;
  56 
  57   enum G1H_process_roots_tasks {
  58     G1RP_PS_Universe_oops_do,
  59     G1RP_PS_JNIHandles_oops_do,
  60     G1RP_PS_ObjectSynchronizer_oops_do,
  61     G1RP_PS_FlatProfiler_oops_do,
  62     G1RP_PS_Management_oops_do,
  63     G1RP_PS_SystemDictionary_oops_do,
  64     G1RP_PS_ClassLoaderDataGraph_oops_do,
  65     G1RP_PS_jvmti_oops_do,
  66     G1RP_PS_CodeCache_oops_do,
  67     G1RP_PS_aot_oops_do,
  68     G1RP_PS_filter_satb_buffers,
  69     G1RP_PS_refProcessor_oops_do,
  70     // Leave this one last.
  71     G1RP_PS_NumElements
  72   };
  73 
  74   void worker_has_discovered_all_strong_classes();
  75   void wait_until_all_strong_classes_discovered();
  76 
  77   void process_all_roots(OopClosure* oops,
  78                          CLDClosure* clds,
  79                          CodeBlobClosure* blobs,
  80                          bool process_string_table);
  81 
  82   void process_java_roots(G1RootClosures* closures,
  83                           G1GCPhaseTimes* phase_times,
  84                           uint worker_i);
  85 
  86   void process_vm_roots(G1RootClosures* closures,
  87                         G1GCPhaseTimes* phase_times,


src/share/vm/gc/g1/g1RootProcessor.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File