3939*/
4040class MemReporterBase : public StackObj {
4141 private:
42- size_t _scale; // report in this scale
43- outputStream* _output; // destination
42+ const size_t _scale; // report in this scale
43+ outputStream* const _output; // destination
4444
4545 public:
46- MemReporterBase (outputStream* out = NULL , size_t scale = K)
47- : _scale(scale) {
48- _output = (out == NULL ) ? tty : out;
49- }
46+
47+ // Default scale to use if no scale given.
48+ static const size_t default_scale = K;
49+
50+ MemReporterBase (outputStream* out, size_t scale = default_scale) :
51+ _scale (scale), _output(out)
52+ {}
5053
5154 protected:
5255 inline outputStream* output () const {
@@ -74,7 +77,6 @@ class MemReporterBase : public StackObj {
7477 size_t reserved_total (const MallocMemory* malloc, const VirtualMemory* vm) const ;
7578 size_t committed_total (const MallocMemory* malloc, const VirtualMemory* vm) const ;
7679
77-
7880 // Print summary total, malloc and virtual memory
7981 void print_total (size_t reserved, size_t committed) const ;
8082 void print_malloc (size_t amount, size_t count, MEMFLAGS flag = mtNone) const ;
@@ -100,7 +102,7 @@ class MemSummaryReporter : public MemReporterBase {
100102 public:
101103 // This constructor is for normal reporting from a recent baseline.
102104 MemSummaryReporter (MemBaseline& baseline, outputStream* output,
103- size_t scale = K ) : MemReporterBase(output, scale),
105+ size_t scale = default_scale ) : MemReporterBase(output, scale),
104106 _malloc_snapshot (baseline.malloc_memory_snapshot()),
105107 _vm_snapshot(baseline.virtual_memory_snapshot()),
106108 _instance_class_count(baseline.instance_class_count()),
@@ -125,7 +127,7 @@ class MemDetailReporter : public MemSummaryReporter {
125127 MemBaseline& _baseline;
126128
127129 public:
128- MemDetailReporter (MemBaseline& baseline, outputStream* output, size_t scale = K ) :
130+ MemDetailReporter (MemBaseline& baseline, outputStream* output, size_t scale = default_scale ) :
129131 MemSummaryReporter (baseline, output, scale),
130132 _baseline (baseline) { }
131133
@@ -162,7 +164,7 @@ class MemSummaryDiffReporter : public MemReporterBase {
162164
163165 public:
164166 MemSummaryDiffReporter (MemBaseline& early_baseline, MemBaseline& current_baseline,
165- outputStream* output, size_t scale = K ) : MemReporterBase(output, scale),
167+ outputStream* output, size_t scale = default_scale ) : MemReporterBase(output, scale),
166168 _early_baseline (early_baseline), _current_baseline(current_baseline) {
167169 assert (early_baseline.baseline_type () != MemBaseline::Not_baselined, " Not baselined" );
168170 assert (current_baseline.baseline_type () != MemBaseline::Not_baselined, " Not baselined" );
@@ -201,7 +203,7 @@ class MemSummaryDiffReporter : public MemReporterBase {
201203class MemDetailDiffReporter : public MemSummaryDiffReporter {
202204 public:
203205 MemDetailDiffReporter (MemBaseline& early_baseline, MemBaseline& current_baseline,
204- outputStream* output, size_t scale = K ) :
206+ outputStream* output, size_t scale = default_scale ) :
205207 MemSummaryDiffReporter (early_baseline, current_baseline, output, scale) { }
206208
207209 // Generate detail comparison report
0 commit comments