aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code/pool.c
diff options
context:
space:
mode:
authorRichard Brooksby2013-05-08 16:21:12 +0100
committerRichard Brooksby2013-05-08 16:21:12 +0100
commit07f446a4502af8891d4e074328bba74134f5487c (patch)
tree4006e8cc1c0ff6328fc09fa2939244853bcfba64 /mps/code/pool.c
parentf774413584de082d8cc8adc899c6ad9376138702 (diff)
downloademacs-07f446a4502af8891d4e074328bba74134f5487c.tar.gz
emacs-07f446a4502af8891d4e074328bba74134f5487c.zip
Converting pools to use keyword arguments, mostly, and so far inconsistently, but at least it compiles.
Copied from Perforce Change: 181635 ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code/pool.c')
-rw-r--r--mps/code/pool.c35
1 files changed, 10 insertions, 25 deletions
diff --git a/mps/code/pool.c b/mps/code/pool.c
index 315bbac4fb2..09a10f13d62 100644
--- a/mps/code/pool.c
+++ b/mps/code/pool.c
@@ -105,22 +105,18 @@ Bool PoolCheck(Pool pool)
105} 105}
106 106
107 107
108/* PoolInit, PoolInitV -- initialize a pool 108/* Common keywords to PoolInit */
109
110const KeyStruct _mps_key_format = {KeySig, "AMS_FORMAT", ArgCheckCant}; /* FIXME: ArgCheckFormat */
111const KeyStruct _mps_key_chain = {KeySig, "AMS_CHAIN", ArgCheckCant}; /* FIXME: ArgCheckChain */
112
113
114/* PoolInit -- initialize a pool
109 * 115 *
110 * Initialize the generic fields of the pool and calls class-specific 116 * Initialize the generic fields of the pool and calls class-specific
111 * init. See <design/pool/#align>. */ 117 * init. See <design/pool/#align>. */
112 118
113Res PoolInit(Pool pool, Arena arena, PoolClass class, ...) 119Res PoolInit(Pool pool, Arena arena, PoolClass class, ArgList args)
114{
115 Res res;
116 va_list args;
117 va_start(args, class);
118 res = PoolInitV(pool, arena, class, args);
119 va_end(args);
120 return res;
121}
122
123Res PoolInitV(Pool pool, Arena arena, PoolClass class, va_list args)
124{ 120{
125 Res res; 121 Res res;
126 Word classId; 122 Word classId;
@@ -185,18 +181,7 @@ failInit:
185/* PoolCreate, PoolCreateV: Allocate and initialise pool */ 181/* PoolCreate, PoolCreateV: Allocate and initialise pool */
186 182
187Res PoolCreate(Pool *poolReturn, Arena arena, 183Res PoolCreate(Pool *poolReturn, Arena arena,
188 PoolClass class, ...) 184 PoolClass class, ArgList args)
189{
190 Res res;
191 va_list args;
192 va_start(args, class);
193 res = PoolCreateV(poolReturn, arena, class, args);
194 va_end(args);
195 return res;
196}
197
198Res PoolCreateV(Pool *poolReturn, Arena arena,
199 PoolClass class, va_list args)
200{ 185{
201 Res res; 186 Res res;
202 Pool pool; 187 Pool pool;
@@ -219,7 +204,7 @@ Res PoolCreateV(Pool *poolReturn, Arena arena,
219 pool = (Pool)PointerAdd(base, class->offset); 204 pool = (Pool)PointerAdd(base, class->offset);
220 205
221 /* Initialize the pool. */ 206 /* Initialize the pool. */
222 res = PoolInitV(pool, arena, class, args); 207 res = PoolInit(pool, arena, class, args);
223 if (res != ResOK) 208 if (res != ResOK)
224 goto failPoolInit; 209 goto failPoolInit;
225 210