aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code/trace.c
diff options
context:
space:
mode:
Diffstat (limited to 'mps/code/trace.c')
-rw-r--r--mps/code/trace.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/mps/code/trace.c b/mps/code/trace.c
index 1082eaefe78..ff13b6180a9 100644
--- a/mps/code/trace.c
+++ b/mps/code/trace.c
@@ -770,6 +770,7 @@ static void traceReclaim(Trace trace)
770{ 770{
771 Arena arena; 771 Arena arena;
772 Seg seg; 772 Seg seg;
773 Ring node, nextNode;
773 774
774 AVER(trace->state == TraceRECLAIM); 775 AVER(trace->state == TraceRECLAIM);
775 776
@@ -805,6 +806,13 @@ static void traceReclaim(Trace trace)
805 } 806 }
806 807
807 trace->state = TraceFINISHED; 808 trace->state = TraceFINISHED;
809
810 /* Call each pool's TraceEnd method -- do end-of-trace work */
811 RING_FOR(node, &ArenaGlobals(arena)->poolRing, nextNode) {
812 Pool pool = RING_ELT(Pool, arenaRing, node);
813 PoolTraceEnd(pool, trace);
814 }
815
808 TracePostMessage(trace); /* trace end */ 816 TracePostMessage(trace); /* trace end */
809 /* Immediately pre-allocate messages for next time; failure is okay */ 817 /* Immediately pre-allocate messages for next time; failure is okay */
810 (void)TraceIdMessagesCreate(arena, trace->ti); 818 (void)TraceIdMessagesCreate(arena, trace->ti);