aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code/pool.c
diff options
context:
space:
mode:
authorRichard Kistruck2009-08-20 17:44:16 +0100
committerRichard Kistruck2009-08-20 17:44:16 +0100
commitbf80a3a11def6ba68d8f248b389ba84e4e32ced3 (patch)
tree3c38bcbc23f517245cecee1b33ffd773def51ddd /mps/code/pool.c
parent1c3940b99a3cb7be36324c0c0d9915670171c731 (diff)
downloademacs-bf80a3a11def6ba68d8f248b389ba84e4e32ced3.tar.gz
emacs-bf80a3a11def6ba68d8f248b389ba84e4e32ced3.zip
Mps br/padding: new pooltraceendmethod: do end-of-trace work
Tracer calls PoolTraceEnd() when the trace is TraceFINISHED. AbstractPoolClass uses PoolTrivTraceEnd -- a NOOP. [mpm.h, mpmst.h, mpmtypes.h, pool.c, poolabs.c] AMC overrides with AMCTraceEnd, to emit diagnostic on how well the trace went! [poolamc.c] Copied from Perforce Change: 168478 ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code/pool.c')
-rw-r--r--mps/code/pool.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/mps/code/pool.c b/mps/code/pool.c
index 05045b3f309..e92106128c3 100644
--- a/mps/code/pool.c
+++ b/mps/code/pool.c
@@ -461,6 +461,23 @@ void PoolReclaim(Pool pool, Trace trace, Seg seg)
461} 461}
462 462
463 463
464/* PoolTraceEnd -- do end-of-trace work
465 *
466 * This method is for a pool class to do final end-of-trace work,
467 * after all reclaiming is complete. For example, emitting
468 * diagnostics about what happened during the trace.
469 */
470
471void PoolTraceEnd(Pool pool, Trace trace)
472{
473 AVERT(Pool, pool);
474 AVERT(Trace, trace);
475 AVER(pool->arena == trace->arena);
476
477 (*pool->class->traceEnd)(pool, trace);
478}
479
480
464/* PoolWalk -- walk objects in this segment */ 481/* PoolWalk -- walk objects in this segment */
465 482
466void PoolWalk(Pool pool, Seg seg, FormattedObjectsStepMethod f, 483void PoolWalk(Pool pool, Seg seg, FormattedObjectsStepMethod f,