From b95d76fcf28fe2b10985daba3dff91281846f879 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Fri, 1 Oct 2010 16:47:39 +0200 Subject: [PATCH] c stack overflow checked for, once more * libguile/stackchk.h: Include private-options.h if we are building guile. * libguile/vm.c (scm_c_vm_run): Check for C stack overflow before entering the engine. --- libguile/stackchk.h | 1 + libguile/vm.c | 1 + 2 files changed, 2 insertions(+) diff --git a/libguile/stackchk.h b/libguile/stackchk.h index 68dec762f..aa6a1d493 100644 --- a/libguile/stackchk.h +++ b/libguile/stackchk.h @@ -35,6 +35,7 @@ #define SCM_STACK_CHECKING_P SCM_STACK_LIMIT #if defined BUILDING_LIBGUILE && defined STACK_CHECKING +#include "libguile/private-options.h" # if SCM_STACK_GROWS_UP # define SCM_STACK_OVERFLOW_P(s)\ ((SCM_STACK_PTR (s) - SCM_I_CURRENT_THREAD->base) > SCM_STACK_LIMIT) diff --git a/libguile/vm.c b/libguile/vm.c index 29d686255..58d9a9f80 100644 --- a/libguile/vm.c +++ b/libguile/vm.c @@ -560,6 +560,7 @@ SCM scm_c_vm_run (SCM vm, SCM program, SCM *argv, int nargs) { struct scm_vm *vp = SCM_VM_DATA (vm); + SCM_CHECK_STACK; return vm_engines[vp->engine](vm, program, argv, nargs); }