Fix Primitive_GC to request the right amount of space from the GC.
authorTaylor R Campbell <campbell@mumble.net>
Sun, 26 Jun 2011 20:29:15 +0000 (20:29 +0000)
committerTaylor R Campbell <campbell@mumble.net>
Sun, 26 Jun 2011 20:29:15 +0000 (20:29 +0000)
commitca08b665a91491093722534a66a31c67cc995ec5
tree141198d01b76be91d2460bc5745e4d3340673c93
parent33f18f6b85d5298d9f65f252bb3abc11f3e4e0c1
Fix Primitive_GC to request the right amount of space from the GC.

New variable Free_primitive is set during primitive invocations to
the value of Free on entry, so that Primitive_GC can find the total
amount of space requested so far from the GC, rather than the amount
currently being requested.  Avoids endless GC loops, particularly in,
e.g., bignum primitives.
src/microcode/extern.h
src/microcode/interp.h
src/microcode/prims.h
src/microcode/storage.c