diff options
| author | Eli Zaretskii | 2014-06-04 14:46:51 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2014-06-04 14:46:51 +0300 |
| commit | a7f999dc5f002030c9a4c648f7017acf11274b1d (patch) | |
| tree | 1ecec1fecc6f181989a516780c8d169362047f5c /src/w32heap.c | |
| parent | 5dff48b0f8a399899f72e1fcf2db0a552f071070 (diff) | |
| download | emacs-a7f999dc5f002030c9a4c648f7017acf11274b1d.tar.gz emacs-a7f999dc5f002030c9a4c648f7017acf11274b1d.zip | |
Improve dumped memory report on MS-Windows.
src/w32heap.c (report_temacs_memory_usage): Improve the report by
reporting the large blocks that are actually occupied at dump time.
Diffstat (limited to 'src/w32heap.c')
| -rw-r--r-- | src/w32heap.c | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/w32heap.c b/src/w32heap.c index 011bffdc9ab..8c547ff6460 100644 --- a/src/w32heap.c +++ b/src/w32heap.c | |||
| @@ -479,7 +479,7 @@ free_before_dump (void *ptr) | |||
| 479 | /* Look for the big chunk. */ | 479 | /* Look for the big chunk. */ |
| 480 | int i; | 480 | int i; |
| 481 | 481 | ||
| 482 | for(i = 0; i < blocks_number; i++) | 482 | for (i = 0; i < blocks_number; i++) |
| 483 | { | 483 | { |
| 484 | if (blocks[i].address == ptr) | 484 | if (blocks[i].address == ptr) |
| 485 | { | 485 | { |
| @@ -498,11 +498,22 @@ free_before_dump (void *ptr) | |||
| 498 | void | 498 | void |
| 499 | report_temacs_memory_usage (void) | 499 | report_temacs_memory_usage (void) |
| 500 | { | 500 | { |
| 501 | DWORD blocks_used = 0, large_mem_used = 0; | ||
| 502 | int i; | ||
| 503 | |||
| 504 | for (i = 0; i < blocks_number; i++) | ||
| 505 | if (blocks[i].occupied) | ||
| 506 | { | ||
| 507 | blocks_used++; | ||
| 508 | large_mem_used += blocks[i].size; | ||
| 509 | } | ||
| 510 | |||
| 501 | /* Emulate 'message', which writes to stderr in non-interactive | 511 | /* Emulate 'message', which writes to stderr in non-interactive |
| 502 | sessions. */ | 512 | sessions. */ |
| 503 | fprintf (stderr, | 513 | fprintf (stderr, |
| 504 | "Dump memory usage: Heap: %" PRIu64 " Large blocks(%lu): %" PRIu64 "\n", | 514 | "Dump memory usage: Heap: %" PRIu64 " Large blocks(%lu/%lu): %" PRIu64 "/%" PRIu64 "\n", |
| 505 | (unsigned long long)committed, blocks_number, | 515 | (unsigned long long)committed, blocks_used, blocks_number, |
| 516 | (unsigned long long)large_mem_used, | ||
| 506 | (unsigned long long)(dumped_data + DUMPED_HEAP_SIZE - bc_limit)); | 517 | (unsigned long long)(dumped_data + DUMPED_HEAP_SIZE - bc_limit)); |
| 507 | } | 518 | } |
| 508 | #endif | 519 | #endif |