3537 // Fill TLAB's and such |
3537 // Fill TLAB's and such |
3538 ensure_parsability(true); |
3538 ensure_parsability(true); |
3539 } |
3539 } |
3540 |
3540 |
3541 void G1CollectedHeap::gc_epilogue(bool full /* Ignored */) { |
3541 void G1CollectedHeap::gc_epilogue(bool full /* Ignored */) { |
|
3542 |
|
3543 if (G1SummarizeRSetStats && |
|
3544 (G1SummarizeRSetStatsPeriod > 0) && |
|
3545 // we are at the end of the GC. Total collections has already been increased. |
|
3546 ((total_collections() - 1) % G1SummarizeRSetStatsPeriod == 0)) { |
|
3547 g1_rem_set()->print_periodic_summary_info(); |
|
3548 } |
|
3549 |
3542 // FIXME: what is this about? |
3550 // FIXME: what is this about? |
3543 // I'm ignoring the "fill_newgen()" call if "alloc_event_enabled" |
3551 // I'm ignoring the "fill_newgen()" call if "alloc_event_enabled" |
3544 // is set. |
3552 // is set. |
3545 COMPILER2_PRESENT(assert(DerivedPointerTable::is_empty(), |
3553 COMPILER2_PRESENT(assert(DerivedPointerTable::is_empty(), |
3546 "derived pointer present")); |
3554 "derived pointer present")); |
4089 // We must call G1MonitoringSupport::update_sizes() in the same scoping level |
4097 // We must call G1MonitoringSupport::update_sizes() in the same scoping level |
4090 // as an active TraceMemoryManagerStats object (i.e. before the destructor for the |
4098 // as an active TraceMemoryManagerStats object (i.e. before the destructor for the |
4091 // TraceMemoryManagerStats is called) so that the G1 memory pools are updated |
4099 // TraceMemoryManagerStats is called) so that the G1 memory pools are updated |
4092 // before any GC notifications are raised. |
4100 // before any GC notifications are raised. |
4093 g1mm()->update_sizes(); |
4101 g1mm()->update_sizes(); |
4094 } |
|
4095 |
|
4096 if (G1SummarizeRSetStats && |
|
4097 (G1SummarizeRSetStatsPeriod > 0) && |
|
4098 (total_collections() % G1SummarizeRSetStatsPeriod == 0)) { |
|
4099 g1_rem_set()->print_summary_info(); |
|
4100 } |
4102 } |
4101 |
4103 |
4102 // It should now be safe to tell the concurrent mark thread to start |
4104 // It should now be safe to tell the concurrent mark thread to start |
4103 // without its logging output interfering with the logging output |
4105 // without its logging output interfering with the logging output |
4104 // that came from the pause. |
4106 // that came from the pause. |