1240 size_t _total_used_bytes;
1241 size_t _total_capacity_bytes;
1242 size_t _total_prev_live_bytes;
1243 size_t _total_next_live_bytes;
1244
1245 // These are set up when we come across a "stars humongous" region
1246 // (as this is where most of this information is stored, not in the
1247 // subsequent "continues humongous" regions). After that, for every
1248 // region in a given humongous region series we deduce the right
1249 // values for it by simply subtracting the appropriate amount from
1250 // these fields. All these values should reach 0 after we've visited
1251 // the last region in the series.
1252 size_t _hum_used_bytes;
1253 size_t _hum_capacity_bytes;
1254 size_t _hum_prev_live_bytes;
1255 size_t _hum_next_live_bytes;
1256
1257 // Accumulator for the remembered set size
1258 size_t _total_remset_bytes;
1259
1260 static double perc(size_t val, size_t total) {
1261 if (total == 0) {
1262 return 0.0;
1263 } else {
1264 return 100.0 * ((double) val / (double) total);
1265 }
1266 }
1267
1268 static double bytes_to_mb(size_t val) {
1269 return (double) val / (double) M;
1270 }
1271
1272 // See the .cpp file.
1273 size_t get_hum_bytes(size_t* hum_bytes);
1274 void get_hum_bytes(size_t* used_bytes, size_t* capacity_bytes,
1275 size_t* prev_live_bytes, size_t* next_live_bytes);
1276
1277 public:
1278 // The header and footer are printed in the constructor and
1279 // destructor respectively.
|
1240 size_t _total_used_bytes;
1241 size_t _total_capacity_bytes;
1242 size_t _total_prev_live_bytes;
1243 size_t _total_next_live_bytes;
1244
1245 // These are set up when we come across a "stars humongous" region
1246 // (as this is where most of this information is stored, not in the
1247 // subsequent "continues humongous" regions). After that, for every
1248 // region in a given humongous region series we deduce the right
1249 // values for it by simply subtracting the appropriate amount from
1250 // these fields. All these values should reach 0 after we've visited
1251 // the last region in the series.
1252 size_t _hum_used_bytes;
1253 size_t _hum_capacity_bytes;
1254 size_t _hum_prev_live_bytes;
1255 size_t _hum_next_live_bytes;
1256
1257 // Accumulator for the remembered set size
1258 size_t _total_remset_bytes;
1259
1260 // Accumulator for strong code roots memory size
1261 size_t _total_strong_code_roots_bytes;
1262
1263 static double perc(size_t val, size_t total) {
1264 if (total == 0) {
1265 return 0.0;
1266 } else {
1267 return 100.0 * ((double) val / (double) total);
1268 }
1269 }
1270
1271 static double bytes_to_mb(size_t val) {
1272 return (double) val / (double) M;
1273 }
1274
1275 // See the .cpp file.
1276 size_t get_hum_bytes(size_t* hum_bytes);
1277 void get_hum_bytes(size_t* used_bytes, size_t* capacity_bytes,
1278 size_t* prev_live_bytes, size_t* next_live_bytes);
1279
1280 public:
1281 // The header and footer are printed in the constructor and
1282 // destructor respectively.
|