equal
deleted
inserted
replaced
1155 if (G1TraceMarkStackOverflow) |
1155 if (G1TraceMarkStackOverflow) |
1156 gclog_or_tty->print_cr("\nRemark led to restart for overflow."); |
1156 gclog_or_tty->print_cr("\nRemark led to restart for overflow."); |
1157 } else { |
1157 } else { |
1158 // We're done with marking. |
1158 // We're done with marking. |
1159 JavaThread::satb_mark_queue_set().set_active_all_threads(false); |
1159 JavaThread::satb_mark_queue_set().set_active_all_threads(false); |
|
1160 |
|
1161 if (VerifyDuringGC) { |
|
1162 g1h->prepare_for_verify(); |
|
1163 g1h->verify(/* allow_dirty */ true, |
|
1164 /* silent */ false, |
|
1165 /* use_prev_marking */ false); |
|
1166 } |
1160 } |
1167 } |
1161 |
1168 |
1162 #if VERIFY_OBJS_PROCESSED |
1169 #if VERIFY_OBJS_PROCESSED |
1163 _scan_obj_cl.objs_processed = 0; |
1170 _scan_obj_cl.objs_processed = 0; |
1164 ThreadLocalObjQueue::objs_enqueued = 0; |
1171 ThreadLocalObjQueue::objs_enqueued = 0; |
1745 |
1752 |
1746 // We need to make this be a "collection" so any collection pause that |
1753 // We need to make this be a "collection" so any collection pause that |
1747 // races with it goes around and waits for completeCleanup to finish. |
1754 // races with it goes around and waits for completeCleanup to finish. |
1748 g1h->increment_total_collections(); |
1755 g1h->increment_total_collections(); |
1749 |
1756 |
1750 #ifndef PRODUCT |
|
1751 if (VerifyDuringGC) { |
1757 if (VerifyDuringGC) { |
1752 G1CollectedHeap::heap()->prepare_for_verify(); |
1758 g1h->prepare_for_verify(); |
1753 G1CollectedHeap::heap()->verify(true,false); |
1759 g1h->verify(/* allow_dirty */ true, |
1754 } |
1760 /* silent */ false, |
1755 #endif |
1761 /* use_prev_marking */ true); |
|
1762 } |
1756 } |
1763 } |
1757 |
1764 |
1758 void ConcurrentMark::completeCleanup() { |
1765 void ConcurrentMark::completeCleanup() { |
1759 // A full collection intervened. |
1766 // A full collection intervened. |
1760 if (has_aborted()) return; |
1767 if (has_aborted()) return; |