equal
deleted
inserted
replaced
48 class G1RootProcessor : public StackObj { |
48 class G1RootProcessor : public StackObj { |
49 G1CollectedHeap* _g1h; |
49 G1CollectedHeap* _g1h; |
50 SubTasksDone _process_strong_tasks; |
50 SubTasksDone _process_strong_tasks; |
51 StrongRootsScope _srs; |
51 StrongRootsScope _srs; |
52 |
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 { |
53 enum G1H_process_roots_tasks { |
58 G1RP_PS_Universe_oops_do, |
54 G1RP_PS_Universe_oops_do, |
59 G1RP_PS_JNIHandles_oops_do, |
55 G1RP_PS_JNIHandles_oops_do, |
60 G1RP_PS_ObjectSynchronizer_oops_do, |
56 G1RP_PS_ObjectSynchronizer_oops_do, |
61 G1RP_PS_Management_oops_do, |
57 G1RP_PS_Management_oops_do, |
67 G1RP_PS_refProcessor_oops_do, |
63 G1RP_PS_refProcessor_oops_do, |
68 // Leave this one last. |
64 // Leave this one last. |
69 G1RP_PS_NumElements |
65 G1RP_PS_NumElements |
70 }; |
66 }; |
71 |
67 |
72 void worker_has_discovered_all_strong_nmethods(); |
|
73 void wait_until_all_strong_nmethods_discovered(); |
|
74 |
|
75 void process_java_roots(G1RootClosures* closures, |
68 void process_java_roots(G1RootClosures* closures, |
76 G1GCPhaseTimes* phase_times, |
69 G1GCPhaseTimes* phase_times, |
77 uint worker_id, |
70 uint worker_id); |
78 bool notify_claimed_nmethods_done = false); |
|
79 |
71 |
80 void process_vm_roots(G1RootClosures* closures, |
72 void process_vm_roots(G1RootClosures* closures, |
81 G1GCPhaseTimes* phase_times, |
73 G1GCPhaseTimes* phase_times, |
82 uint worker_id); |
74 uint worker_id); |
83 |
75 |