diff options
author | Andy Wingo <wingo@pobox.com> | 2010-10-01 16:47:39 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2010-10-01 16:47:39 +0200 |
commit | b95d76fcf28fe2b10985daba3dff91281846f879 (patch) | |
tree | 26c4a4625311044707a035ecfc627f1eea1cbf14 | |
parent | 138bf22d8272fd1412bd522833dd252e791ad95d (diff) | |
download | guile-b95d76fcf28fe2b10985daba3dff91281846f879.tar.gz |
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.
-rw-r--r-- | libguile/stackchk.h | 1 | ||||
-rw-r--r-- | libguile/vm.c | 1 |
2 files changed, 2 insertions, 0 deletions
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); } |