summaryrefslogtreecommitdiff
path: root/libguile/vm-engine.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2018-06-11 21:27:37 +0200
committerAndy Wingo <wingo@pobox.com>2018-06-11 21:27:37 +0200
commitceaf782770b597f4eb31a4fca65a75ab220aa47c (patch)
tree7097a68f9d116453a4ba4c2413490f400819d216 /libguile/vm-engine.c
parent3b463516ef2d4428ae51ff81e72e87a210289673 (diff)
downloadguile-ceaf782770b597f4eb31a4fca65a75ab220aa47c.tar.gz
Call out to expand_stack through new VM intrinsic
* libguile/intrinsics.h (scm_t_vp_sp_intrinsic): New type. (SCM_FOR_ALL_VM_INTRINSICS): Add expand-stack. * libguile/vm-engine.c (ALLOC_FRAME): Call through the intrinsics. * libguile/vm.c (scm_bootstrap_vm): Initialize the expand-stack intrinsic.
Diffstat (limited to 'libguile/vm-engine.c')
-rw-r--r--libguile/vm-engine.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c
index c43156382..abfa1fb53 100644
--- a/libguile/vm-engine.c
+++ b/libguile/vm-engine.c
@@ -178,8 +178,9 @@
{ \
if (SCM_UNLIKELY (sp < vp->stack_limit)) \
{ \
+ struct scm_vm_intrinsics *i = (void*)intrinsics; \
SYNC_IP (); \
- vm_expand_stack (vp, sp); \
+ i->expand_stack (vp, sp); \
CACHE_SP (); \
} \
else \