src/share/vm/gc_implementation/g1/concurrentMark.cpp

Print this page
rev 4803 : imported patch thomas-comments-2

*** 4514,4524 **** : _out(out), _total_used_bytes(0), _total_capacity_bytes(0), _total_prev_live_bytes(0), _total_next_live_bytes(0), _hum_used_bytes(0), _hum_capacity_bytes(0), _hum_prev_live_bytes(0), _hum_next_live_bytes(0), ! _total_remset_bytes(0) { G1CollectedHeap* g1h = G1CollectedHeap::heap(); MemRegion g1_committed = g1h->g1_committed(); MemRegion g1_reserved = g1h->g1_reserved(); double now = os::elapsedTime(); --- 4514,4524 ---- : _out(out), _total_used_bytes(0), _total_capacity_bytes(0), _total_prev_live_bytes(0), _total_next_live_bytes(0), _hum_used_bytes(0), _hum_capacity_bytes(0), _hum_prev_live_bytes(0), _hum_next_live_bytes(0), ! _total_remset_bytes(0), _total_strong_code_roots_bytes(0) { G1CollectedHeap* g1h = G1CollectedHeap::heap(); MemRegion g1_committed = g1h->g1_committed(); MemRegion g1_reserved = g1h->g1_reserved(); double now = os::elapsedTime();
*** 4538,4560 **** G1PPRL_ADDR_BASE_H_FORMAT G1PPRL_BYTE_H_FORMAT G1PPRL_BYTE_H_FORMAT G1PPRL_BYTE_H_FORMAT G1PPRL_DOUBLE_H_FORMAT G1PPRL_BYTE_H_FORMAT, "type", "address-range", ! "used", "prev-live", "next-live", "gc-eff", "remset"); _out->print_cr(G1PPRL_LINE_PREFIX G1PPRL_TYPE_H_FORMAT G1PPRL_ADDR_BASE_H_FORMAT G1PPRL_BYTE_H_FORMAT G1PPRL_BYTE_H_FORMAT G1PPRL_BYTE_H_FORMAT G1PPRL_DOUBLE_H_FORMAT G1PPRL_BYTE_H_FORMAT, "", "", ! "(bytes)", "(bytes)", "(bytes)", "(bytes/ms)", "(bytes)"); } // It takes as a parameter a reference to one of the _hum_* fields, it // deduces the corresponding value for a region in a humongous region // series (either the region size, or what's left if the _hum_* field --- 4538,4564 ---- G1PPRL_ADDR_BASE_H_FORMAT G1PPRL_BYTE_H_FORMAT G1PPRL_BYTE_H_FORMAT G1PPRL_BYTE_H_FORMAT G1PPRL_DOUBLE_H_FORMAT + G1PPRL_BYTE_H_FORMAT G1PPRL_BYTE_H_FORMAT, "type", "address-range", ! "used", "prev-live", "next-live", "gc-eff", ! "remset", "code-roots"); _out->print_cr(G1PPRL_LINE_PREFIX G1PPRL_TYPE_H_FORMAT G1PPRL_ADDR_BASE_H_FORMAT G1PPRL_BYTE_H_FORMAT G1PPRL_BYTE_H_FORMAT G1PPRL_BYTE_H_FORMAT G1PPRL_DOUBLE_H_FORMAT + G1PPRL_BYTE_H_FORMAT G1PPRL_BYTE_H_FORMAT, "", "", ! "(bytes)", "(bytes)", "(bytes)", "(bytes/ms)", ! "(bytes)", "(bytes)"); } // It takes as a parameter a reference to one of the _hum_* fields, it // deduces the corresponding value for a region in a humongous region // series (either the region size, or what's left if the _hum_* field
*** 4593,4602 **** --- 4597,4608 ---- size_t used_bytes = r->used(); size_t prev_live_bytes = r->live_bytes(); size_t next_live_bytes = r->next_live_bytes(); double gc_eff = r->gc_efficiency(); size_t remset_bytes = r->rem_set()->mem_size(); + size_t strong_code_roots_bytes = r->rem_set()->strong_code_roots_mem_size(); + if (r->used() == 0) { type = "FREE"; } else if (r->is_survivor()) { type = "SURV"; } else if (r->is_young()) {
*** 4627,4648 **** _total_used_bytes += used_bytes; _total_capacity_bytes += capacity_bytes; _total_prev_live_bytes += prev_live_bytes; _total_next_live_bytes += next_live_bytes; _total_remset_bytes += remset_bytes; // Print a line for this particular region. _out->print_cr(G1PPRL_LINE_PREFIX G1PPRL_TYPE_FORMAT G1PPRL_ADDR_BASE_FORMAT G1PPRL_BYTE_FORMAT G1PPRL_BYTE_FORMAT G1PPRL_BYTE_FORMAT G1PPRL_DOUBLE_FORMAT G1PPRL_BYTE_FORMAT, type, bottom, end, ! used_bytes, prev_live_bytes, next_live_bytes, gc_eff , remset_bytes); return false; } G1PrintRegionLivenessInfoClosure::~G1PrintRegionLivenessInfoClosure() { --- 4633,4657 ---- _total_used_bytes += used_bytes; _total_capacity_bytes += capacity_bytes; _total_prev_live_bytes += prev_live_bytes; _total_next_live_bytes += next_live_bytes; _total_remset_bytes += remset_bytes; + _total_strong_code_roots_bytes += strong_code_roots_bytes; // Print a line for this particular region. _out->print_cr(G1PPRL_LINE_PREFIX G1PPRL_TYPE_FORMAT G1PPRL_ADDR_BASE_FORMAT G1PPRL_BYTE_FORMAT G1PPRL_BYTE_FORMAT G1PPRL_BYTE_FORMAT G1PPRL_DOUBLE_FORMAT + G1PPRL_BYTE_FORMAT G1PPRL_BYTE_FORMAT, type, bottom, end, ! used_bytes, prev_live_bytes, next_live_bytes, gc_eff, ! remset_bytes, strong_code_roots_bytes); return false; } G1PrintRegionLivenessInfoClosure::~G1PrintRegionLivenessInfoClosure() {
*** 4654,4669 **** " SUMMARY" G1PPRL_SUM_MB_FORMAT("capacity") G1PPRL_SUM_MB_PERC_FORMAT("used") G1PPRL_SUM_MB_PERC_FORMAT("prev-live") G1PPRL_SUM_MB_PERC_FORMAT("next-live") ! G1PPRL_SUM_MB_FORMAT("remset"), bytes_to_mb(_total_capacity_bytes), bytes_to_mb(_total_used_bytes), perc(_total_used_bytes, _total_capacity_bytes), bytes_to_mb(_total_prev_live_bytes), perc(_total_prev_live_bytes, _total_capacity_bytes), bytes_to_mb(_total_next_live_bytes), perc(_total_next_live_bytes, _total_capacity_bytes), ! bytes_to_mb(_total_remset_bytes)); _out->cr(); } --- 4663,4680 ---- " SUMMARY" G1PPRL_SUM_MB_FORMAT("capacity") G1PPRL_SUM_MB_PERC_FORMAT("used") G1PPRL_SUM_MB_PERC_FORMAT("prev-live") G1PPRL_SUM_MB_PERC_FORMAT("next-live") ! G1PPRL_SUM_MB_FORMAT("remset") ! G1PPRL_SUM_MB_FORMAT("code-roots"), bytes_to_mb(_total_capacity_bytes), bytes_to_mb(_total_used_bytes), perc(_total_used_bytes, _total_capacity_bytes), bytes_to_mb(_total_prev_live_bytes), perc(_total_prev_live_bytes, _total_capacity_bytes), bytes_to_mb(_total_next_live_bytes), perc(_total_next_live_bytes, _total_capacity_bytes), ! bytes_to_mb(_total_remset_bytes), ! bytes_to_mb(_total_strong_code_roots_bytes)); _out->cr(); }