aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code/mpmtypes.h
diff options
context:
space:
mode:
authorNick Barnes2002-06-18 14:14:55 +0100
committerNick Barnes2002-06-18 14:14:55 +0100
commit6a1a360814506ddbcf856f41c089a10550f31ae5 (patch)
tree732fc720ec58b9badf2ce1eef392ada522130a03 /mps/code/mpmtypes.h
parent63e5f529159927bb42b58a97507f4467d6413973 (diff)
downloademacs-6a1a360814506ddbcf856f41c089a10550f31ae5.tar.gz
emacs-6a1a360814506ddbcf856f41c089a10550f31ae5.zip
Integrate changes from global graphics.
Copied from Perforce Change: 30250 ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code/mpmtypes.h')
-rw-r--r--mps/code/mpmtypes.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/mps/code/mpmtypes.h b/mps/code/mpmtypes.h
index 5263163688e..28dafbcd9b5 100644
--- a/mps/code/mpmtypes.h
+++ b/mps/code/mpmtypes.h
@@ -2,6 +2,7 @@
2 * 2 *
3 * $Id$ 3 * $Id$
4 * Copyright (c) 2001 Ravenbrook Limited. 4 * Copyright (c) 2001 Ravenbrook Limited.
5 * Copyright (c) 2001 Global Graphics Software.
5 * 6 *
6 * .design: design.mps.type 7 * .design: design.mps.type
7 * 8 *
@@ -137,8 +138,12 @@ typedef Res (*TraceFixMethod)(ScanState ss, Ref *refIO);
137/* Heap Walker */ 138/* Heap Walker */
138 139
139/* This type is used by the PoolClass method Walk */ 140/* This type is used by the PoolClass method Walk */
140typedef void (*FormattedObjectsStepMethod)(Addr, Format, Pool, 141typedef void (*FormattedObjectsStepMethod)(Addr obj, Format fmt, Pool pool,
141 void *, Size); 142 void *v, unsigned long s);
143
144/* This type is used by the PoolClass method Walk */
145typedef void (*FreeBlockStepMethod)(Addr base, Addr limit, Pool pool, void *p);
146
142 147
143/* Seg*Method -- see design.mps.seg */ 148/* Seg*Method -- see design.mps.seg */
144 149
@@ -212,7 +217,8 @@ typedef void (*PoolFramePopPendingMethod)(Pool pool, Buffer buf,
212 AllocFrame frame); 217 AllocFrame frame);
213typedef void (*PoolWalkMethod)(Pool pool, Seg seg, 218typedef void (*PoolWalkMethod)(Pool pool, Seg seg,
214 FormattedObjectsStepMethod f, 219 FormattedObjectsStepMethod f,
215 void *p, unsigned long s); 220 void *v, unsigned long s);
221typedef void (*PoolFreeWalkMethod)(Pool pool, FreeBlockStepMethod f, void *p);
216typedef BufferClass (*PoolBufferClassMethod)(void); 222typedef BufferClass (*PoolBufferClassMethod)(void);
217typedef Res (*PoolDescribeMethod)(Pool pool, mps_lib_FILE *stream); 223typedef Res (*PoolDescribeMethod)(Pool pool, mps_lib_FILE *stream);
218typedef PoolDebugMixin (*PoolDebugMixinMethod)(Pool pool); 224typedef PoolDebugMixin (*PoolDebugMixinMethod)(Pool pool);
@@ -294,10 +300,11 @@ typedef Res (*RootScanRegMethod)(ScanState ss, Thread thread, void *p, size_t s)
294 300
295/* Format varieties */ 301/* Format varieties */
296enum { 302enum {
297 FormatVarietyA = 1, 303 FormatVarietyA = 1,
298 FormatVarietyB, 304 FormatVarietyB,
299 FormatVarietyAutoHeader, 305 FormatVarietyAutoHeader,
300 FormatVarietyLIMIT 306 FormatVarietyFixed,
307 FormatVarietyLIMIT
301}; 308};
302 309
303 310