Mercurial > hg > truffle
comparison src/share/vm/services/nmtDCmd.cpp @ 8883:b9a918201d47
Merge with hsx25
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Sat, 06 Apr 2013 20:04:06 +0200 |
parents | 06db4c0afbf3 |
children | 31a4e55f8c9d |
comparison
equal
deleted
inserted
replaced
8660:d47b52b0ff68 | 8883:b9a918201d47 |
---|---|
47 "allocation activities at different callsites.", | 47 "allocation activities at different callsites.", |
48 "BOOLEAN", false, "false"), | 48 "BOOLEAN", false, "false"), |
49 _shutdown("shutdown", "request runtime to shutdown itself and free the " \ | 49 _shutdown("shutdown", "request runtime to shutdown itself and free the " \ |
50 "memory used by runtime.", | 50 "memory used by runtime.", |
51 "BOOLEAN", false, "false"), | 51 "BOOLEAN", false, "false"), |
52 _auto_shutdown("autoShutdown", "automatically shutdown itself under " \ | |
53 "stress situation", | |
54 "BOOLEAN", true, "true"), | |
52 #ifndef PRODUCT | 55 #ifndef PRODUCT |
53 _debug("debug", "print tracker statistics. Debug only, not thread safe", \ | 56 _debug("debug", "print tracker statistics. Debug only, not thread safe", \ |
54 "BOOLEAN", false, "false"), | 57 "BOOLEAN", false, "false"), |
55 #endif | 58 #endif |
56 _scale("scale", "Memory usage in which scale, KB, MB or GB", | 59 _scale("scale", "Memory usage in which scale, KB, MB or GB", |
59 _dcmdparser.add_dcmd_option(&_detail); | 62 _dcmdparser.add_dcmd_option(&_detail); |
60 _dcmdparser.add_dcmd_option(&_baseline); | 63 _dcmdparser.add_dcmd_option(&_baseline); |
61 _dcmdparser.add_dcmd_option(&_summary_diff); | 64 _dcmdparser.add_dcmd_option(&_summary_diff); |
62 _dcmdparser.add_dcmd_option(&_detail_diff); | 65 _dcmdparser.add_dcmd_option(&_detail_diff); |
63 _dcmdparser.add_dcmd_option(&_shutdown); | 66 _dcmdparser.add_dcmd_option(&_shutdown); |
67 _dcmdparser.add_dcmd_option(&_auto_shutdown); | |
64 #ifndef PRODUCT | 68 #ifndef PRODUCT |
65 _dcmdparser.add_dcmd_option(&_debug); | 69 _dcmdparser.add_dcmd_option(&_debug); |
66 #endif | 70 #endif |
67 _dcmdparser.add_dcmd_option(&_scale); | 71 _dcmdparser.add_dcmd_option(&_scale); |
68 } | 72 } |
82 output()->print_cr("Incorrect scale value: %s", scale_value); | 86 output()->print_cr("Incorrect scale value: %s", scale_value); |
83 return; | 87 return; |
84 } | 88 } |
85 | 89 |
86 int nopt = 0; | 90 int nopt = 0; |
87 if(_summary.is_set() && _summary.value()) { ++nopt; } | 91 if (_summary.is_set() && _summary.value()) { ++nopt; } |
88 if(_detail.is_set() && _detail.value()) { ++nopt; } | 92 if (_detail.is_set() && _detail.value()) { ++nopt; } |
89 if(_baseline.is_set() && _baseline.value()) { ++nopt; } | 93 if (_baseline.is_set() && _baseline.value()) { ++nopt; } |
90 if(_summary_diff.is_set() && _summary_diff.value()) { ++nopt; } | 94 if (_summary_diff.is_set() && _summary_diff.value()) { ++nopt; } |
91 if(_detail_diff.is_set() && _detail_diff.value()) { ++nopt; } | 95 if (_detail_diff.is_set() && _detail_diff.value()) { ++nopt; } |
92 if(_shutdown.is_set() && _shutdown.value()) { ++nopt; } | 96 if (_shutdown.is_set() && _shutdown.value()) { ++nopt; } |
97 if (_auto_shutdown.is_set()) { ++nopt; } | |
98 | |
93 #ifndef PRODUCT | 99 #ifndef PRODUCT |
94 if(_debug.is_set() && _debug.value()) { ++nopt; } | 100 if (_debug.is_set() && _debug.value()) { ++nopt; } |
95 #endif | 101 #endif |
96 | 102 |
97 if(nopt > 1) { | 103 if (nopt > 1) { |
98 output()->print_cr("At most one of the following option can be specified: " \ | 104 output()->print_cr("At most one of the following option can be specified: " \ |
99 "summary, detail, baseline, summary.diff, detail.diff, shutdown" | 105 "summary, detail, baseline, summary.diff, detail.diff, shutdown" |
100 #ifndef PRODUCT | 106 #ifndef PRODUCT |
101 ", debug" | 107 ", debug" |
102 #endif | 108 #endif |
154 } | 160 } |
155 } else if (_shutdown.value()) { | 161 } else if (_shutdown.value()) { |
156 MemTracker::shutdown(MemTracker::NMT_shutdown_user); | 162 MemTracker::shutdown(MemTracker::NMT_shutdown_user); |
157 output()->print_cr("Shutdown is in progress, it will take a few moments to " \ | 163 output()->print_cr("Shutdown is in progress, it will take a few moments to " \ |
158 "completely shutdown"); | 164 "completely shutdown"); |
165 } else if (_auto_shutdown.is_set()) { | |
166 MemTracker::set_autoShutdown(_auto_shutdown.value()); | |
159 } else { | 167 } else { |
160 ShouldNotReachHere(); | 168 ShouldNotReachHere(); |
161 output()->print_cr("Unknown command"); | 169 output()->print_cr("Unknown command"); |
162 } | 170 } |
163 } | 171 } |