diff options
| author | Richard Brooksby | 2013-05-09 14:04:23 +0100 |
|---|---|---|
| committer | Richard Brooksby | 2013-05-09 14:04:23 +0100 |
| commit | 80e84d09a5e995eaa37719c7c100cbdf3cc296c0 (patch) | |
| tree | f7701acd5593aea327bd064a74eaeeb4785b0a8d /mps/code | |
| parent | dfd71567402ff5dc6f85bbe1dc080ff55cb4dcc8 (diff) | |
| download | emacs-80e84d09a5e995eaa37719c7c100cbdf3cc296c0.tar.gz emacs-80e84d09a5e995eaa37719c7c100cbdf3cc296c0.zip | |
Adding macros to make keyword argument list formation more convenient and robust.
Copied from Perforce
Change: 181666
ServerID: perforce.ravenbrook.com
Diffstat (limited to 'mps/code')
| -rw-r--r-- | mps/code/arenacv.c | 23 | ||||
| -rw-r--r-- | mps/code/arg.h | 2 | ||||
| -rw-r--r-- | mps/code/cbs.c | 13 | ||||
| -rw-r--r-- | mps/code/dbgpool.c | 13 | ||||
| -rw-r--r-- | mps/code/mps.h | 43 | ||||
| -rw-r--r-- | mps/code/poolamc.c | 17 | ||||
| -rw-r--r-- | mps/code/poolmv.c | 25 | ||||
| -rw-r--r-- | mps/code/poolncv.c | 10 | ||||
| -rw-r--r-- | mps/code/segsmss.c | 12 |
9 files changed, 86 insertions, 72 deletions
diff --git a/mps/code/arenacv.c b/mps/code/arenacv.c index 18b5ba3418f..cfd124ec7d1 100644 --- a/mps/code/arenacv.c +++ b/mps/code/arenacv.c | |||
| @@ -337,14 +337,13 @@ static void testPageTable(ArenaClass class, Size size, Addr addr) | |||
| 337 | Arena arena; Pool pool; | 337 | Arena arena; Pool pool; |
| 338 | Size pageSize; | 338 | Size pageSize; |
| 339 | Count tractsPerPage; | 339 | Count tractsPerPage; |
| 340 | ArgStruct args[4]; | ||
| 341 | 340 | ||
| 342 | args[0].key = MPS_KEY_ARENA_SIZE; | 341 | MPS_ARGS_BEGIN(args) { |
| 343 | args[0].val.size = size; | 342 | MPS_ARGS_ADD(args, MPS_KEY_ARENA_SIZE, size, size); |
| 344 | args[1].key = MPS_KEY_ARENA_CL_ADDR; | 343 | MPS_ARGS_ADD(args, MPS_KEY_ARENA_CL_ADDR, addr, addr); |
| 345 | args[1].val.addr = addr; | 344 | MPS_ARGS_DONE(args); |
| 346 | args[2].key = MPS_KEY_ARGS_END; | 345 | die(ArenaCreate(&arena, class, args), "ArenaCreate"); |
| 347 | die(ArenaCreate(&arena, class, args), "ArenaCreate"); | 346 | } MPS_ARGS_END(args); |
| 348 | 347 | ||
| 349 | die(PoolCreate(&pool, arena, PoolClassMV(), argsNone), "PoolCreate"); | 348 | die(PoolCreate(&pool, arena, PoolClassMV(), argsNone), "PoolCreate"); |
| 350 | 349 | ||
| @@ -378,11 +377,11 @@ static void testSize(Size size) | |||
| 378 | Res res; | 377 | Res res; |
| 379 | 378 | ||
| 380 | do { | 379 | do { |
| 381 | ArgStruct args[2]; | 380 | MPS_ARGS_BEGIN(args) { |
| 382 | args[0].key = MPS_KEY_ARENA_SIZE; | 381 | MPS_ARGS_ADD(args, MPS_KEY_ARENA_SIZE, size, size); |
| 383 | args[0].val.size = size; | 382 | MPS_ARGS_DONE(args); |
| 384 | args[1].key = MPS_KEY_ARGS_END; | 383 | res = ArenaCreate(&arena, class, args); |
| 385 | res = ArenaCreate(&arena, class, args); | 384 | } MPS_ARGS_END(args); |
| 386 | if (res == ResOK) | 385 | if (res == ResOK) |
| 387 | ArenaDestroy(arena); | 386 | ArenaDestroy(arena); |
| 388 | else | 387 | else |
diff --git a/mps/code/arg.h b/mps/code/arg.h index f50107b593f..2647937c201 100644 --- a/mps/code/arg.h +++ b/mps/code/arg.h | |||
| @@ -37,6 +37,7 @@ extern Bool ArgCheck(Arg arg); | |||
| 37 | extern Bool ArgListCheck(ArgList args); | 37 | extern Bool ArgListCheck(ArgList args); |
| 38 | 38 | ||
| 39 | extern Bool ArgPick(ArgStruct *argOut, ArgList args, Key key); | 39 | extern Bool ArgPick(ArgStruct *argOut, ArgList args, Key key); |
| 40 | extern void ArgRequired(ArgStruct *argOut, ArgList args, Key key); | ||
| 40 | 41 | ||
| 41 | extern Bool ArgCheckCant(Arg arg); | 42 | extern Bool ArgCheckCant(Arg arg); |
| 42 | extern Bool ArgCheckFormat(Arg arg); | 43 | extern Bool ArgCheckFormat(Arg arg); |
| @@ -49,6 +50,7 @@ extern Bool ArgCheckAlign(Arg arg); | |||
| 49 | extern Bool ArgCheckBool(Arg arg); | 50 | extern Bool ArgCheckBool(Arg arg); |
| 50 | extern Bool ArgCheckCount(Arg arg); | 51 | extern Bool ArgCheckCount(Arg arg); |
| 51 | 52 | ||
| 53 | |||
| 52 | #endif /* arg_h */ | 54 | #endif /* arg_h */ |
| 53 | 55 | ||
| 54 | 56 | ||
diff --git a/mps/code/cbs.c b/mps/code/cbs.c index 23a66699333..14e13b51b01 100644 --- a/mps/code/cbs.c +++ b/mps/code/cbs.c | |||
| @@ -273,7 +273,6 @@ Res CBSInit(Arena arena, CBS cbs, void *owner, | |||
| 273 | Bool mayUseInline, Bool fastFind) | 273 | Bool mayUseInline, Bool fastFind) |
| 274 | { | 274 | { |
| 275 | Res res; | 275 | Res res; |
| 276 | ArgStruct args[3]; | ||
| 277 | 276 | ||
| 278 | AVERT(Arena, arena); | 277 | AVERT(Arena, arena); |
| 279 | AVER(new == NULL || FUNCHECK(new)); | 278 | AVER(new == NULL || FUNCHECK(new)); |
| @@ -287,12 +286,12 @@ Res CBSInit(Arena arena, CBS cbs, void *owner, | |||
| 287 | 286 | ||
| 288 | SplayTreeInit(splayTreeOfCBS(cbs), &cbsSplayCompare, | 287 | SplayTreeInit(splayTreeOfCBS(cbs), &cbsSplayCompare, |
| 289 | fastFind ? &cbsUpdateNode : NULL); | 288 | fastFind ? &cbsUpdateNode : NULL); |
| 290 | args[0].key = MPS_KEY_MFS_UNIT_SIZE; | 289 | MPS_ARGS_BEGIN(args) { |
| 291 | args[0].val.size = sizeof(CBSBlockStruct); | 290 | MPS_ARGS_ADD(args, MPS_KEY_MFS_UNIT_SIZE, size, sizeof(CBSBlockStruct)); |
| 292 | args[1].key = MPS_KEY_EXTEND_BY; | 291 | MPS_ARGS_ADD(args, MPS_KEY_EXTEND_BY, size, sizeof(CBSBlockStruct) * 64); |
| 293 | args[1].val.size = sizeof(CBSBlockStruct) * 64; | 292 | MPS_ARGS_DONE(args); |
| 294 | args[2].key = MPS_KEY_ARGS_END; | 293 | res = PoolCreate(&(cbs->blockPool), arena, PoolClassMFS(), args); |
| 295 | res = PoolCreate(&(cbs->blockPool), arena, PoolClassMFS(), args); | 294 | } MPS_ARGS_END(args); |
| 296 | if (res != ResOK) | 295 | if (res != ResOK) |
| 297 | return res; | 296 | return res; |
| 298 | cbs->splayTreeSize = 0; | 297 | cbs->splayTreeSize = 0; |
diff --git a/mps/code/dbgpool.c b/mps/code/dbgpool.c index 591a7ce39de..8d416815471 100644 --- a/mps/code/dbgpool.c +++ b/mps/code/dbgpool.c | |||
| @@ -185,16 +185,15 @@ static Res DebugPoolInit(Pool pool, ArgList args) | |||
| 185 | /* tag init */ | 185 | /* tag init */ |
| 186 | debug->tagInit = tagInit; | 186 | debug->tagInit = tagInit; |
| 187 | if (debug->tagInit != NULL) { | 187 | if (debug->tagInit != NULL) { |
| 188 | ArgStruct pcArgs[3]; | ||
| 189 | debug->tagSize = tagSize + sizeof(tagStruct) - 1; | 188 | debug->tagSize = tagSize + sizeof(tagStruct) - 1; |
| 190 | /* This pool has to be like the arena control pool: the blocks */ | 189 | /* This pool has to be like the arena control pool: the blocks */ |
| 191 | /* allocated must be accessible using void*. */ | 190 | /* allocated must be accessible using void*. */ |
| 192 | pcArgs[0].key = MPS_KEY_EXTEND_BY; | 191 | MPS_ARGS_BEGIN(pcArgs) { |
| 193 | pcArgs[0].val.size = debug->tagSize; /* FIXME: Really? */ | 192 | MPS_ARGS_ADD(pcArgs, MPS_KEY_EXTEND_BY, size, debug->tagSize); /* FIXME: Check this */ |
| 194 | pcArgs[1].key = MPS_KEY_MFS_UNIT_SIZE; | 193 | MPS_ARGS_ADD(pcArgs, MPS_KEY_MFS_UNIT_SIZE, size, debug->tagSize); |
| 195 | pcArgs[1].val.size = debug->tagSize; | 194 | MPS_ARGS_DONE(pcArgs); |
| 196 | pcArgs[2].key = MPS_KEY_ARGS_END; | 195 | res = PoolCreate(&debug->tagPool, PoolArena(pool), PoolClassMFS(), pcArgs); |
| 197 | res = PoolCreate(&debug->tagPool, PoolArena(pool), PoolClassMFS(), pcArgs); | 196 | } MPS_ARGS_END(pcArgs); |
| 198 | if (res != ResOK) | 197 | if (res != ResOK) |
| 199 | goto tagFail; | 198 | goto tagFail; |
| 200 | debug->missingTags = 0; | 199 | debug->missingTags = 0; |
diff --git a/mps/code/mps.h b/mps/code/mps.h index 5f320e63c51..1a82d5c149b 100644 --- a/mps/code/mps.h +++ b/mps/code/mps.h | |||
| @@ -119,10 +119,6 @@ extern const struct mps_key_s _mps_key_args_end; | |||
| 119 | #define MPS_KEY_ARGS_END (&_mps_key_args_end) | 119 | #define MPS_KEY_ARGS_END (&_mps_key_args_end) |
| 120 | extern mps_arg_s mps_args_none[]; | 120 | extern mps_arg_s mps_args_none[]; |
| 121 | 121 | ||
| 122 | /* FIXME: This shouldn't be here */ | ||
| 123 | extern const struct mps_key_s _mps_key_vmw3_top_down; | ||
| 124 | #define MPS_KEY_VMW3_TOP_DOWN (&_mps_key_vmw3_top_down) | ||
| 125 | |||
| 126 | extern const struct mps_key_s _mps_key_arena_size; | 122 | extern const struct mps_key_s _mps_key_arena_size; |
| 127 | #define MPS_KEY_ARENA_SIZE (&_mps_key_arena_size) | 123 | #define MPS_KEY_ARENA_SIZE (&_mps_key_arena_size) |
| 128 | extern const struct mps_key_s _mps_key_format; | 124 | extern const struct mps_key_s _mps_key_format; |
| @@ -131,15 +127,44 @@ extern const struct mps_key_s _mps_key_chain; | |||
| 131 | #define MPS_KEY_CHAIN (&_mps_key_chain) | 127 | #define MPS_KEY_CHAIN (&_mps_key_chain) |
| 132 | 128 | ||
| 133 | extern const struct mps_key_s _mps_key_extend_by; | 129 | extern const struct mps_key_s _mps_key_extend_by; |
| 134 | #define MPS_KEY_EXTEND_BY (&_mps_key_extend_by) | 130 | #define MPS_KEY_EXTEND_BY (&_mps_key_extend_by) |
| 135 | extern const struct mps_key_s _mps_key_min_size; | 131 | extern const struct mps_key_s _mps_key_min_size; |
| 136 | #define MPS_KEY_MIN_SIZE (&_mps_key_min_size) | 132 | #define MPS_KEY_MIN_SIZE (&_mps_key_min_size) |
| 137 | extern const struct mps_key_s _mps_key_mean_size; | 133 | extern const struct mps_key_s _mps_key_mean_size; |
| 138 | #define MPS_KEY_MEAN_SIZE (&_mps_key_mean_size) | 134 | #define MPS_KEY_MEAN_SIZE (&_mps_key_mean_size) |
| 139 | extern const struct mps_key_s _mps_key_max_size; | 135 | extern const struct mps_key_s _mps_key_max_size; |
| 140 | #define MPS_KEY_MAX_SIZE (&_mps_key_max_size) | 136 | #define MPS_KEY_MAX_SIZE (&_mps_key_max_size) |
| 141 | extern const struct mps_key_s _mps_key_align; | 137 | extern const struct mps_key_s _mps_key_align; |
| 142 | #define MPS_KEY_ALIGN (&_mps_key_align) | 138 | #define MPS_KEY_ALIGN (&_mps_key_align) |
| 139 | |||
| 140 | /* FIXME: This will only be present on Windows. */ | ||
| 141 | extern const struct mps_key_s _mps_key_vmw3_top_down; | ||
| 142 | #define MPS_KEY_VMW3_TOP_DOWN (&_mps_key_vmw3_top_down) | ||
| 143 | |||
| 144 | #define MPS_ARGS_BEGIN(_var) \ | ||
| 145 | BEGIN \ | ||
| 146 | mps_arg_s _var[ARGS_MAX]; \ | ||
| 147 | unsigned _var##_i = 0; \ | ||
| 148 | BEGIN | ||
| 149 | |||
| 150 | #define MPS_ARGS_ADD(_var, _key, _field, _val) \ | ||
| 151 | BEGIN \ | ||
| 152 | /* FIXME: AVER(_var_i < ARGS_MAX); */ \ | ||
| 153 | _var[_var##_i].key = (_key); \ | ||
| 154 | _var[_var##_i].val._field = (_val); \ | ||
| 155 | ++_var##_i; \ | ||
| 156 | END | ||
| 157 | |||
| 158 | #define MPS_ARGS_DONE(_var) \ | ||
| 159 | BEGIN \ | ||
| 160 | /* FIXME: AVER(_var##_i < ARGS_MAX); */ \ | ||
| 161 | _var[_var##_i].key = MPS_KEY_ARGS_END; \ | ||
| 162 | /* FIXME: _var##_i = ARGS_MAX; */ \ | ||
| 163 | END | ||
| 164 | |||
| 165 | #define MPS_ARGS_END(_var) \ | ||
| 166 | END; \ | ||
| 167 | END | ||
| 143 | 168 | ||
| 144 | 169 | ||
| 145 | /* <a id="message.types"> Keep in sync with | 170 | /* <a id="message.types"> Keep in sync with |
diff --git a/mps/code/poolamc.c b/mps/code/poolamc.c index d15404aad26..8235b66c05f 100644 --- a/mps/code/poolamc.c +++ b/mps/code/poolamc.c | |||
| @@ -973,18 +973,10 @@ static Res amcInitComm(Pool pool, RankSet rankSet, ArgList args) | |||
| 973 | amc = Pool2AMC(pool); | 973 | amc = Pool2AMC(pool); |
| 974 | arena = PoolArena(pool); | 974 | arena = PoolArena(pool); |
| 975 | 975 | ||
| 976 | if (ArgPick(&arg, args, MPS_KEY_FORMAT)) | 976 | ArgRequired(&arg, args, MPS_KEY_FORMAT); |
| 977 | pool->format = arg.val.format; | 977 | pool->format = arg.val.format; |
| 978 | else { | 978 | ArgRequired(&arg, args, MPS_KEY_CHAIN); |
| 979 | res = ResPARAM; | 979 | amc->chain = arg.val.chain; |
| 980 | goto failParam; | ||
| 981 | } | ||
| 982 | if (ArgPick(&arg, args, MPS_KEY_CHAIN)) | ||
| 983 | amc->chain = arg.val.chain; | ||
| 984 | else { | ||
| 985 | res = ResPARAM; | ||
| 986 | goto failParam; | ||
| 987 | } | ||
| 988 | 980 | ||
| 989 | AVERT(Format, pool->format); | 981 | AVERT(Format, pool->format); |
| 990 | AVERT(Chain, amc->chain); | 982 | AVERT(Chain, amc->chain); |
| @@ -1060,7 +1052,6 @@ failGenAlloc: | |||
| 1060 | } | 1052 | } |
| 1061 | ControlFree(arena, amc->gen, genArraySize); | 1053 | ControlFree(arena, amc->gen, genArraySize); |
| 1062 | failGensAlloc: | 1054 | failGensAlloc: |
| 1063 | failParam: | ||
| 1064 | return res; | 1055 | return res; |
| 1065 | } | 1056 | } |
| 1066 | 1057 | ||
diff --git a/mps/code/poolmv.c b/mps/code/poolmv.c index 50af068f4ed..e827e9d69b6 100644 --- a/mps/code/poolmv.c +++ b/mps/code/poolmv.c | |||
| @@ -216,7 +216,6 @@ static Res MVInit(Pool pool, ArgList args) | |||
| 216 | Arena arena; | 216 | Arena arena; |
| 217 | Res res; | 217 | Res res; |
| 218 | ArgStruct arg; | 218 | ArgStruct arg; |
| 219 | ArgStruct piArgs[3]; | ||
| 220 | 219 | ||
| 221 | if (ArgPick(&arg, args, MPS_KEY_EXTEND_BY)) | 220 | if (ArgPick(&arg, args, MPS_KEY_EXTEND_BY)) |
| 222 | extendBy = arg.val.size; | 221 | extendBy = arg.val.size; |
| @@ -241,23 +240,23 @@ static Res MVInit(Pool pool, ArgList args) | |||
| 241 | blockExtendBy = sizeof(MVBlockStruct); | 240 | blockExtendBy = sizeof(MVBlockStruct); |
| 242 | } | 241 | } |
| 243 | 242 | ||
| 244 | piArgs[0].key = MPS_KEY_EXTEND_BY; | 243 | MPS_ARGS_BEGIN(piArgs) { |
| 245 | piArgs[0].val.size = blockExtendBy; | 244 | MPS_ARGS_ADD(piArgs, MPS_KEY_EXTEND_BY, size, blockExtendBy); |
| 246 | piArgs[1].key = MPS_KEY_MFS_UNIT_SIZE; | 245 | MPS_ARGS_ADD(piArgs, MPS_KEY_MFS_UNIT_SIZE, size, sizeof(MVBlockStruct)); |
| 247 | piArgs[1].val.size = sizeof(MVBlockStruct); | 246 | MPS_ARGS_DONE(piArgs); |
| 248 | piArgs[2].key = MPS_KEY_ARGS_END; | 247 | res = PoolInit(&mv->blockPoolStruct.poolStruct, arena, PoolClassMFS(), piArgs); |
| 249 | res = PoolInit(&mv->blockPoolStruct.poolStruct, arena, PoolClassMFS(), piArgs); | 248 | } MPS_ARGS_END(piArgs); |
| 250 | if(res != ResOK) | 249 | if(res != ResOK) |
| 251 | return res; | 250 | return res; |
| 252 | 251 | ||
| 253 | spanExtendBy = sizeof(MVSpanStruct) * (maxSize/extendBy); | 252 | spanExtendBy = sizeof(MVSpanStruct) * (maxSize/extendBy); |
| 254 | 253 | ||
| 255 | piArgs[0].key = MPS_KEY_EXTEND_BY; | 254 | MPS_ARGS_BEGIN(piArgs) { |
| 256 | piArgs[0].val.size = spanExtendBy; | 255 | MPS_ARGS_ADD(piArgs, MPS_KEY_EXTEND_BY, size, spanExtendBy); |
| 257 | piArgs[1].key = MPS_KEY_MFS_UNIT_SIZE; | 256 | MPS_ARGS_ADD(piArgs, MPS_KEY_MFS_UNIT_SIZE, size, sizeof(MVSpanStruct)); |
| 258 | piArgs[1].val.size = sizeof(MVSpanStruct); | 257 | MPS_ARGS_DONE(piArgs); |
| 259 | piArgs[2].key = MPS_KEY_ARGS_END; | 258 | res = PoolInit(&mv->spanPoolStruct.poolStruct, arena, PoolClassMFS(), piArgs); |
| 260 | res = PoolInit(&mv->spanPoolStruct.poolStruct, arena, PoolClassMFS(), piArgs); | 259 | } MPS_ARGS_END(piArgs); |
| 261 | if(res != ResOK) | 260 | if(res != ResOK) |
| 262 | return res; | 261 | return res; |
| 263 | 262 | ||
diff --git a/mps/code/poolncv.c b/mps/code/poolncv.c index f7598c5539a..c250e84d2cd 100644 --- a/mps/code/poolncv.c +++ b/mps/code/poolncv.c | |||
| @@ -32,12 +32,12 @@ static void testit(ArenaClass class, ArgList args) | |||
| 32 | 32 | ||
| 33 | int main(int argc, char *argv[]) | 33 | int main(int argc, char *argv[]) |
| 34 | { | 34 | { |
| 35 | mps_arg_s args[2]; | ||
| 36 | testlib_unused(argc); | 35 | testlib_unused(argc); |
| 37 | args[0].key = MPS_KEY_ARENA_SIZE; | 36 | MPS_ARGS_BEGIN(args) { |
| 38 | args[0].val.size = (Size)600000; | 37 | MPS_ARGS_ADD(args, MPS_KEY_ARENA_SIZE, size, 600000); |
| 39 | args[1].key = MPS_KEY_ARGS_END; | 38 | MPS_ARGS_DONE(args); |
| 40 | testit((ArenaClass)mps_arena_class_vm(), args); | 39 | testit((ArenaClass)mps_arena_class_vm(), args); |
| 40 | } MPS_ARGS_END(args); | ||
| 41 | printf("%s: Conclusion: Failed to find any defects.\n", argv[0]); | 41 | printf("%s: Conclusion: Failed to find any defects.\n", argv[0]); |
| 42 | return 0; | 42 | return 0; |
| 43 | } | 43 | } |
diff --git a/mps/code/segsmss.c b/mps/code/segsmss.c index 46b3e0288ee..9d69aff302a 100644 --- a/mps/code/segsmss.c +++ b/mps/code/segsmss.c | |||
| @@ -766,18 +766,18 @@ static void *test(void *arg, size_t s) | |||
| 766 | mps_ap_t busy_ap; | 766 | mps_ap_t busy_ap; |
| 767 | mps_addr_t busy_init; | 767 | mps_addr_t busy_init; |
| 768 | char *indent = " "; | 768 | char *indent = " "; |
| 769 | mps_arg_s args[2]; | ||
| 770 | 769 | ||
| 771 | arena = (mps_arena_t)arg; | 770 | arena = (mps_arena_t)arg; |
| 772 | (void)s; /* unused */ | 771 | (void)s; /* unused */ |
| 773 | 772 | ||
| 774 | die(mps_fmt_create_A(&format, arena, dylan_fmt_A()), "fmt_create"); | 773 | die(mps_fmt_create_A(&format, arena, dylan_fmt_A()), "fmt_create"); |
| 775 | 774 | ||
| 776 | args[0].key = MPS_KEY_FORMAT; | 775 | MPS_ARGS_BEGIN(args) { |
| 777 | args[0].val.format = format; | 776 | MPS_ARGS_ADD(args, MPS_KEY_FORMAT, format, format); |
| 778 | args[1].key = MPS_KEY_ARGS_END; | 777 | MPS_ARGS_DONE(args); |
| 779 | die(mps_pool_create_k(&pool, arena, mps_class_amst(), args), | 778 | die(mps_pool_create_k(&pool, arena, mps_class_amst(), args), |
| 780 | "pool_create(amst)"); | 779 | "pool_create(amst)"); |
| 780 | } MPS_ARGS_END(args); | ||
| 781 | 781 | ||
| 782 | die(mps_ap_create(&ap, pool, mps_rank_exact()), "BufferCreate"); | 782 | die(mps_ap_create(&ap, pool, mps_rank_exact()), "BufferCreate"); |
| 783 | die(mps_ap_create(&busy_ap, pool, mps_rank_exact()), "BufferCreate 2"); | 783 | die(mps_ap_create(&busy_ap, pool, mps_rank_exact()), "BufferCreate 2"); |