< prev index next >
src/hotspot/share/gc/g1/g1ConcurrentMark.cpp
Print this page
rev 49536 : imported patch 8200305-gc,liveness-output
rev 49537 : imported patch 8200385-prev-bitmap-marks-left
rev 49538 : imported patch 8200385-stefanj-review
rev 49539 : imported patch 8178105-switch-at-remark
rev 49540 : imported patch 8178105-stefanj-review
rev 49541 : imported patch 8178105-stefanj-review2
rev 49542 : imported patch 8154528-reclaim-at-remark
rev 49543 : imported patch 8154528-stefanj-review
rev 49546 : imported patch 8200426-sangheon-review
rev 49548 : [mq]: 8200730-timing-in-remark-cleanup
*** 1125,1155 ****
// threads to have SATB queues with active set to true.
satb_mq_set.set_active_all_threads(false, /* new active value */
true /* expected_active */);
{
! GCTraceTime(Debug, gc, phases)("Flush Task Caches");
flush_all_task_caches();
}
// Install newly created mark bitmap as "prev".
swap_mark_bitmaps();
{
! GCTraceTime(Debug, gc, phases)("Update Remembered Set Tracking Before Rebuild");
G1UpdateRemSetTrackingBeforeRebuild cl(_g1h, this);
_g1h->heap_region_iterate(&cl);
log_debug(gc, remset, tracking)("Remembered Set Tracking update regions total %u, selected %u",
_g1h->num_regions(), cl.num_selected_for_rebuild());
}
{
! GCTraceTime(Debug, gc, phases)("Reclaim Empty Regions");
reclaim_empty_regions();
}
// Clean out dead classes
if (ClassUnloadingWithConcurrentMark) {
! GCTraceTime(Debug, gc, phases)("Purge Metaspace");
ClassLoaderDataGraph::purge();
}
compute_new_sizes();
--- 1125,1155 ----
// threads to have SATB queues with active set to true.
satb_mq_set.set_active_all_threads(false, /* new active value */
true /* expected_active */);
{
! GCTraceTime(Debug, gc, phases) trace("Flush Task Caches", _gc_timer_cm);
flush_all_task_caches();
}
// Install newly created mark bitmap as "prev".
swap_mark_bitmaps();
{
! GCTraceTime(Debug, gc, phases) trace("Update Remembered Set Tracking Before Rebuild", _gc_timer_cm);
G1UpdateRemSetTrackingBeforeRebuild cl(_g1h, this);
_g1h->heap_region_iterate(&cl);
log_debug(gc, remset, tracking)("Remembered Set Tracking update regions total %u, selected %u",
_g1h->num_regions(), cl.num_selected_for_rebuild());
}
{
! GCTraceTime(Debug, gc, phases) trace("Reclaim Empty Regions", _gc_timer_cm);
reclaim_empty_regions();
}
// Clean out dead classes
if (ClassUnloadingWithConcurrentMark) {
! GCTraceTime(Debug, gc, phases) trace("Purge Metaspace", _gc_timer_cm);
ClassLoaderDataGraph::purge();
}
compute_new_sizes();
*** 1168,1178 ****
// marking due to overflowing the global mark stack.
reset_marking_for_restart();
}
{
! GCTraceTime(Debug, gc, phases)("Report Object Count");
report_object_count(mark_finished);
}
// Statistics
double now = os::elapsedTime();
--- 1168,1178 ----
// marking due to overflowing the global mark stack.
reset_marking_for_restart();
}
{
! GCTraceTime(Debug, gc, phases) trace("Report Object Count", _gc_timer_cm);
report_object_count(mark_finished);
}
// Statistics
double now = os::elapsedTime();
*** 1316,1326 ****
double start = os::elapsedTime();
verify_during_pause(G1HeapVerifier::G1VerifyCleanup, VerifyOption_G1UsePrevMarking, "Cleanup before");
{
! GCTraceTime(Debug, gc, phases)("Update Remembered Set Tracking After Rebuild");
G1UpdateRemSetTrackingAfterRebuild cl(_g1h);
_g1h->heap_region_iterate(&cl);
}
if (log_is_enabled(Trace, gc, liveness)) {
--- 1316,1326 ----
double start = os::elapsedTime();
verify_during_pause(G1HeapVerifier::G1VerifyCleanup, VerifyOption_G1UsePrevMarking, "Cleanup before");
{
! GCTraceTime(Debug, gc, phases) trace("Update Remembered Set Tracking After Rebuild", _gc_timer_cm);
G1UpdateRemSetTrackingAfterRebuild cl(_g1h);
_g1h->heap_region_iterate(&cl);
}
if (log_is_enabled(Trace, gc, liveness)) {
*** 1338,1348 ****
double recent_cleanup_time = (os::elapsedTime() - start);
_total_cleanup_time += recent_cleanup_time;
_cleanup_times.add(recent_cleanup_time);
{
! GCTraceTime(Debug, gc, phases)("Finalize Concurrent Mark Cleanup");
_g1h->g1_policy()->record_concurrent_mark_cleanup_end();
}
}
// Supporting Object and Oop closures for reference discovery
--- 1338,1348 ----
double recent_cleanup_time = (os::elapsedTime() - start);
_total_cleanup_time += recent_cleanup_time;
_cleanup_times.add(recent_cleanup_time);
{
! GCTraceTime(Debug, gc, phases) trace("Finalize Concurrent Mark Cleanup", _gc_timer_cm);
_g1h->g1_policy()->record_concurrent_mark_cleanup_end();
}
}
// Supporting Object and Oop closures for reference discovery
< prev index next >