111 uint worker_id, |
111 uint worker_id, |
112 G1GCPhaseTimes::GCParPhases scan_phase, |
112 G1GCPhaseTimes::GCParPhases scan_phase, |
113 G1GCPhaseTimes::GCParPhases coderoots_phase, |
113 G1GCPhaseTimes::GCParPhases coderoots_phase, |
114 G1GCPhaseTimes::GCParPhases objcopy_phase); |
114 G1GCPhaseTimes::GCParPhases objcopy_phase); |
115 |
115 |
116 // Refine the card corresponding to "card_ptr". Safe to be called concurrently |
116 // Two methods for concurrent refinement support, executed concurrently to |
117 // to the mutator. |
117 // the mutator: |
118 void refine_card_concurrently(CardValue* card_ptr, |
118 // Cleans the card at "*card_ptr_addr" before refinement, returns true iff the |
119 uint worker_id); |
119 // card needs later refinement. Note that "*card_ptr_addr" could be updated to |
|
120 // a different card due to use of hot card cache. |
|
121 bool clean_card_before_refine(CardValue** const card_ptr_addr); |
|
122 // Refine the region corresponding to "card_ptr". Must be called after |
|
123 // being filtered by clean_card_before_refine(), and after proper |
|
124 // fence/synchronization. |
|
125 void refine_card_concurrently(CardValue* const card_ptr, |
|
126 const uint worker_id); |
120 |
127 |
121 // Print accumulated summary info from the start of the VM. |
128 // Print accumulated summary info from the start of the VM. |
122 void print_summary_info(); |
129 void print_summary_info(); |
123 |
130 |
124 // Print accumulated summary info from the last time called. |
131 // Print accumulated summary info from the last time called. |