summaryrefslogtreecommitdiff
path: root/libguile/vm-engine.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/vm-engine.c')
-rw-r--r--libguile/vm-engine.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
index b0888c1ec..0c011d1aa 100644
--- a/libguile/vm-engine.c
+++ b/libguile/vm-engine.c
@@ -107,10 +107,13 @@ VM_NAME (struct scm_vm *vp, SCM program, SCM *argv, int nargs)
/* Initial frame */
CACHE_REGISTER ();
+ PUSH ((SCM)fp); /* dynamic link */
+ PUSH (0); /* ra */
+ PUSH (0); /* mvra */
CACHE_PROGRAM ();
PUSH (program);
- NEW_FRAME ();
-
+ fp = sp + 1;
+ INIT_FRAME ();
/* Initial arguments */
PUSH (prog);
if (SCM_UNLIKELY (sp + nargs >= stack_limit))