diff options
Diffstat (limited to 'libguile/vm-engine.c')
-rw-r--r-- | libguile/vm-engine.c | 7 |
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)) |