diff --git a/mps/example/scheme/scheme-advanced.c b/mps/example/scheme/scheme-advanced.c index 7e6754be1d0..b6eda21e506 100644 --- a/mps/example/scheme/scheme-advanced.c +++ b/mps/example/scheme/scheme-advanced.c @@ -4470,9 +4470,9 @@ int main(int argc, char *argv[]) /* Create an MPS arena. There is usually only one of these in a process. It holds all the MPS "global" state and is where everything happens. */ - res = mps_arena_create(&arena, - mps_arena_class_vm(), - (size_t)(32ul * 1024 * 1024)); + res = mps_arena_create_k(&arena, mps_arena_class_vm(), + (mps_arg_s[]){{MPS_KEY_ARENA_SIZE, .val.size = 32 * 1024 * 1024}, + {MPS_KEY_ARGS_END}}); if (res != MPS_RES_OK) error("Couldn't create arena"); /* Create the object format. */ @@ -4488,18 +4488,17 @@ int main(int argc, char *argv[]) /* Create an Automatic Mostly-Copying (AMC) pool to manage the Scheme objects. This is a kind of copying garbage collector. */ - res = mps_pool_create(&obj_pool, - arena, - mps_class_amc(), - obj_fmt, - obj_chain); + res = mps_pool_create_k(&obj_pool, arena, mps_class_amc(), + (mps_arg_s[]){{MPS_KEY_CHAIN, .val.chain = obj_chain}, + {MPS_KEY_FORMAT, .val.format = obj_fmt}, + {MPS_KEY_ARGS_END}}); if (res != MPS_RES_OK) error("Couldn't create obj pool"); /* Create an allocation point for fast in-line allocation of objects from the `obj_pool`. You'd usually want one of these per thread for your primary pools. This interpreter is single threaded, though, so we just have it in a global. See topic/allocation. */ - res = mps_ap_create(&obj_ap, obj_pool); + res = mps_ap_create_k(&obj_ap, obj_pool, mps_args_none); if (res != MPS_RES_OK) error("Couldn't create obj allocation point"); /* Create an Automatic Mostly-Copying Zero-rank (AMCZ) pool to