VM never extends vp->sp beyond mapped region of stack
authorAndy Wingo <wingo@pobox.com>
Thu, 20 Feb 2014 09:17:51 +0000 (10:17 +0100)
committerAndy Wingo <wingo@pobox.com>
Thu, 20 Feb 2014 09:17:51 +0000 (10:17 +0100)
commitc2ae85beabfbbdee19b128e90f0be0f32c6e3c60
treecd8495686041e721fb3adf325f6fbbd0b5a2483e
parent7e2fd4e7f53c281307efd12b80df46346002a33d
VM never extends vp->sp beyond mapped region of stack

* libguile/vm-engine.c (ALLOC_FRAME): Fold CHECK_OVERFLOW into this
  routine, and rework to not extend vp->sp until the stack has been
  expanded.

* libguile/vm.c (vm_increase_sp): Likewise, don't extend vp->sp until
  the stack has expanded.
  (vm_expand_stack): Rework to take the new stack pointer as an
  argument, and also to update vp->sp_max_since_gc and vp->sp.
libguile/vm-engine.c
libguile/vm.c