summaryrefslogtreecommitdiff
path: root/libguile/vm-engine.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2009-09-27 20:25:39 -0400
committerAndy Wingo <wingo@pobox.com>2009-10-23 14:51:18 +0200
commita6f15a1eba208c92df5640001390277d641909b8 (patch)
tree6f1998073059645278bc01c60b95c72211d68755 /libguile/vm-engine.c
parent55d9bc947ef529157c5598e097eba23179b94987 (diff)
downloadguile-a6f15a1eba208c92df5640001390277d641909b8.tar.gz
callees now check their args, cons rest list, reserve locals
* gdbinit: Ignore SIGPWR and SIGXCPU, which the BDW GC seems to use. * libguile/vm-engine.h (FETCH_WIDTH): Remove unused macro. (INIT_ARGS, INIT_FRAME): Remove; callees now check their args and reserve space for their locals. * libguile/vm-engine.c: * libguile/vm-i-system.c: Turn on callee arg checking and local reservation. Seems to work!
Diffstat (limited to 'libguile/vm-engine.c')
-rw-r--r--libguile/vm-engine.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
index f26a1ebf2..f86a49876 100644
--- a/libguile/vm-engine.c
+++ b/libguile/vm-engine.c
@@ -112,7 +112,7 @@ VM_NAME (struct scm_vm *vp, SCM program, SCM *argv, int nargs)
CACHE_PROGRAM ();
PUSH (program);
fp = sp + 1;
- INIT_FRAME ();
+ ip = bp->base;
/* MV-call frame, function & arguments */
PUSH ((SCM)fp); /* dynamic link */
PUSH (0); /* mvra */