equal
deleted
inserted
replaced
153 mark_end_sec - mark_start_sec); |
153 mark_end_sec - mark_start_sec); |
154 } |
154 } |
155 |
155 |
156 CMCheckpointRootsFinalClosure final_cl(_cm); |
156 CMCheckpointRootsFinalClosure final_cl(_cm); |
157 sprintf(verbose_str, "GC remark"); |
157 sprintf(verbose_str, "GC remark"); |
158 VM_CGC_Operation op(&final_cl, verbose_str); |
158 VM_CGC_Operation op(&final_cl, verbose_str, true /* needs_pll */); |
159 VMThread::execute(&op); |
159 VMThread::execute(&op); |
160 } |
160 } |
161 if (cm()->restart_for_overflow() && |
161 if (cm()->restart_for_overflow() && |
162 G1TraceMarkStackOverflow) { |
162 G1TraceMarkStackOverflow) { |
163 gclog_or_tty->print_cr("Restarting conc marking because of MS overflow " |
163 gclog_or_tty->print_cr("Restarting conc marking because of MS overflow " |
187 os::sleep(current_thread, sleep_time_ms, false); |
187 os::sleep(current_thread, sleep_time_ms, false); |
188 } |
188 } |
189 |
189 |
190 CMCleanUp cl_cl(_cm); |
190 CMCleanUp cl_cl(_cm); |
191 sprintf(verbose_str, "GC cleanup"); |
191 sprintf(verbose_str, "GC cleanup"); |
192 VM_CGC_Operation op(&cl_cl, verbose_str); |
192 VM_CGC_Operation op(&cl_cl, verbose_str, false /* needs_pll */); |
193 VMThread::execute(&op); |
193 VMThread::execute(&op); |
194 } else { |
194 } else { |
195 // We don't want to update the marking status if a GC pause |
195 // We don't want to update the marking status if a GC pause |
196 // is already underway. |
196 // is already underway. |
197 _sts.join(); |
197 _sts.join(); |