< prev index next >

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

Print this page
rev 50505 : imported patch 8204613-stringtable-unclean-fix


  82                          bool process_string_table);
  83 
  84   void process_java_roots(G1RootClosures* closures,
  85                           G1GCPhaseTimes* phase_times,
  86                           uint worker_i);
  87 
  88   void process_vm_roots(G1RootClosures* closures,
  89                         G1GCPhaseTimes* phase_times,
  90                         uint worker_i);
  91 
  92   void process_string_table_roots(G1RootClosures* closures,
  93                                   G1GCPhaseTimes* phase_times,
  94                                   uint worker_i);
  95 
  96   void process_code_cache_roots(CodeBlobClosure* code_closure,
  97                                 G1GCPhaseTimes* phase_times,
  98                                 uint worker_i);
  99 
 100 public:
 101   G1RootProcessor(G1CollectedHeap* g1h, uint n_workers);

 102 
 103   // Apply correct closures from pss to the strongly and weakly reachable roots in the system
 104   // in a single pass.
 105   // Record and report timing measurements for sub phases using the worker_i
 106   void evacuate_roots(G1ParScanThreadState* pss, uint worker_id);
 107 
 108   // Apply oops, clds and blobs to all strongly reachable roots in the system
 109   void process_strong_roots(OopClosure* oops,
 110                             CLDClosure* clds,
 111                             CodeBlobClosure* blobs);
 112 
 113   // Apply oops, clds and blobs to strongly and weakly reachable roots in the system
 114   void process_all_roots(OopClosure* oops,
 115                          CLDClosure* clds,
 116                          CodeBlobClosure* blobs);
 117 
 118   // Apply oops, clds and blobs to strongly and weakly reachable roots in the system,
 119   // the only thing different from process_all_roots is that we skip the string table
 120   // to avoid keeping every string live when doing class unloading.
 121   void process_all_roots_no_string_table(OopClosure* oops,


  82                          bool process_string_table);
  83 
  84   void process_java_roots(G1RootClosures* closures,
  85                           G1GCPhaseTimes* phase_times,
  86                           uint worker_i);
  87 
  88   void process_vm_roots(G1RootClosures* closures,
  89                         G1GCPhaseTimes* phase_times,
  90                         uint worker_i);
  91 
  92   void process_string_table_roots(G1RootClosures* closures,
  93                                   G1GCPhaseTimes* phase_times,
  94                                   uint worker_i);
  95 
  96   void process_code_cache_roots(CodeBlobClosure* code_closure,
  97                                 G1GCPhaseTimes* phase_times,
  98                                 uint worker_i);
  99 
 100 public:
 101   G1RootProcessor(G1CollectedHeap* g1h, uint n_workers);
 102   ~G1RootProcessor();
 103 
 104   // Apply correct closures from pss to the strongly and weakly reachable roots in the system
 105   // in a single pass.
 106   // Record and report timing measurements for sub phases using the worker_i
 107   void evacuate_roots(G1ParScanThreadState* pss, uint worker_id);
 108 
 109   // Apply oops, clds and blobs to all strongly reachable roots in the system
 110   void process_strong_roots(OopClosure* oops,
 111                             CLDClosure* clds,
 112                             CodeBlobClosure* blobs);
 113 
 114   // Apply oops, clds and blobs to strongly and weakly reachable roots in the system
 115   void process_all_roots(OopClosure* oops,
 116                          CLDClosure* clds,
 117                          CodeBlobClosure* blobs);
 118 
 119   // Apply oops, clds and blobs to strongly and weakly reachable roots in the system,
 120   // the only thing different from process_all_roots is that we skip the string table
 121   // to avoid keeping every string live when doing class unloading.
 122   void process_all_roots_no_string_table(OopClosure* oops,
< prev index next >