diff options
Diffstat (limited to 'mps/code')
| -rw-r--r-- | mps/code/arenavm.c | 4 | ||||
| -rw-r--r-- | mps/code/mpmst.h | 1 | ||||
| -rw-r--r-- | mps/code/trace.c | 1 |
3 files changed, 5 insertions, 1 deletions
diff --git a/mps/code/arenavm.c b/mps/code/arenavm.c index 399145f3629..f29d860dfae 100644 --- a/mps/code/arenavm.c +++ b/mps/code/arenavm.c | |||
| @@ -1675,6 +1675,7 @@ static void VMCompact(Arena arena, Trace trace) | |||
| 1675 | } | 1675 | } |
| 1676 | 1676 | ||
| 1677 | DIAG( | 1677 | DIAG( |
| 1678 | Size vmem0 = trace->preTraceArenaReserved; | ||
| 1678 | Size vmem2 = VMArenaReserved(arena); | 1679 | Size vmem2 = VMArenaReserved(arena); |
| 1679 | Size vmemD = vmem1 - vmem2; | 1680 | Size vmemD = vmem1 - vmem2; |
| 1680 | Size live = trace->forwardedSize + trace->preservedInPlaceSize; | 1681 | Size live = trace->forwardedSize + trace->preservedInPlaceSize; |
| @@ -1684,7 +1685,8 @@ static void VMCompact(Arena arena, Trace trace) | |||
| 1684 | || trace->why == TraceStartWhyCLIENTFULL_INCREMENTAL | 1685 | || trace->why == TraceStartWhyCLIENTFULL_INCREMENTAL |
| 1685 | || trace->why == TraceStartWhyCLIENTFULL_BLOCK) { | 1686 | || trace->why == TraceStartWhyCLIENTFULL_BLOCK) { |
| 1686 | DIAG_SINGLEF(( "VMCompact", | 1687 | DIAG_SINGLEF(( "VMCompact", |
| 1687 | "vmem was $Um$3, ", M_whole(vmem1), M_frac(vmem1), | 1688 | "pre-collection vmem was $Um$3, ", M_whole(vmem0), M_frac(vmem0), |
| 1689 | "peaked at $Um$3, ", M_whole(vmem1), M_frac(vmem1), | ||
| 1688 | "released $Um$3, ", M_whole(vmemD), M_frac(vmemD), | 1690 | "released $Um$3, ", M_whole(vmemD), M_frac(vmemD), |
| 1689 | "now $Um$3", M_whole(vmem2), M_frac(vmem2), | 1691 | "now $Um$3", M_whole(vmem2), M_frac(vmem2), |
| 1690 | " (why $U", trace->why, | 1692 | " (why $U", trace->why, |
diff --git a/mps/code/mpmst.h b/mps/code/mpmst.h index c5a4fe0e3f3..488a6d1b54b 100644 --- a/mps/code/mpmst.h +++ b/mps/code/mpmst.h | |||
| @@ -506,6 +506,7 @@ typedef struct TraceStruct { | |||
| 506 | Bool firstStretch; /* in first stretch of band (see accessor) */ | 506 | Bool firstStretch; /* in first stretch of band (see accessor) */ |
| 507 | Bool emergency; /* ran out of memory during trace */ | 507 | Bool emergency; /* ran out of memory during trace */ |
| 508 | Chain chain; /* chain being incrementally collected */ | 508 | Chain chain; /* chain being incrementally collected */ |
| 509 | STATISTIC_DECL(Size preTraceArenaReserved); /* ArenaReserved before this trace */ | ||
| 509 | Size condemned; /* condemned bytes */ | 510 | Size condemned; /* condemned bytes */ |
| 510 | Size notCondemned; /* collectable but not condemned */ | 511 | Size notCondemned; /* collectable but not condemned */ |
| 511 | Size foundation; /* initial grey set size */ | 512 | Size foundation; /* initial grey set size */ |
diff --git a/mps/code/trace.c b/mps/code/trace.c index 5cffa818009..e553d160318 100644 --- a/mps/code/trace.c +++ b/mps/code/trace.c | |||
| @@ -663,6 +663,7 @@ found: | |||
| 663 | trace->band = RankAMBIG; /* Required to be the earliest rank. */ | 663 | trace->band = RankAMBIG; /* Required to be the earliest rank. */ |
| 664 | trace->emergency = FALSE; | 664 | trace->emergency = FALSE; |
| 665 | trace->chain = NULL; | 665 | trace->chain = NULL; |
| 666 | STATISTIC(trace->preTraceArenaReserved = ArenaReserved(arena)); | ||
| 666 | trace->condemned = (Size)0; /* nothing condemned yet */ | 667 | trace->condemned = (Size)0; /* nothing condemned yet */ |
| 667 | trace->notCondemned = (Size)0; | 668 | trace->notCondemned = (Size)0; |
| 668 | trace->foundation = (Size)0; /* nothing grey yet */ | 669 | trace->foundation = (Size)0; /* nothing grey yet */ |