* mps/code/poolamc.c (AMCBufInit): Accept optional MPS_KEY_GEN arg.

This commit is contained in:
Helmut Eller 2025-11-17 20:57:18 +01:00
parent 917138da6d
commit 0d79158b3b

View file

@ -519,8 +519,13 @@ static Res AMCBufInit(Buffer buffer, Pool pool, Bool isMutator, ArgList args)
amcbuf = CouldBeA(amcBuf, buffer);
if (BufferIsMutator(buffer)) {
/* Set up the buffer to be allocating in the nursery. */
amcbuf->gen = amc->nursery;
if (ArgPick(&arg, args, MPS_KEY_GEN)) {
unsigned gen = arg.val.u;
amcbuf->gen = amc->gen[gen];
} else {
/* Set up the buffer to be allocating in the nursery. */
amcbuf->gen = amc->nursery;
}
} else {
/* No gen yet -- see <design/poolamc#.gen.forward>. */
amcbuf->gen = NULL;