diff options
-rw-r--r-- | libguile/coop.c | 4 | ||||
-rw-r--r-- | libguile/eval.c | 7 | ||||
-rw-r--r-- | libguile/eval.h | 2 |
3 files changed, 9 insertions, 4 deletions
diff --git a/libguile/coop.c b/libguile/coop.c index fff3f6811..2dacf2206 100644 --- a/libguile/coop.c +++ b/libguile/coop.c @@ -40,7 +40,7 @@ * If you do not wish that, delete this exception notice. */ -/* $Id: coop.c,v 1.7 1998-03-30 21:02:31 mdj Exp $ */ +/* $Id: coop.c,v 1.8 1998-04-12 23:34:40 mdj Exp $ */ /* Cooperative thread library, based on QuickThreads */ @@ -48,7 +48,7 @@ #include "eval.h" /* #define COOP_STKSIZE (0x10000) */ -#define COOP_STKSIZE (SCM_EVAL_STACK) +#define COOP_STKSIZE (scm_eval_stack) /* `alignment' must be a power of 2. */ #define COOP_STKALIGN(sp, alignment) \ diff --git a/libguile/eval.c b/libguile/eval.c index 0bdc33c41..d1848a528 100644 --- a/libguile/eval.c +++ b/libguile/eval.c @@ -1422,8 +1422,10 @@ int scm_debug_eframe_size; int scm_debug_mode, scm_check_entry_p, scm_check_apply_p, scm_check_exit_p; +int scm_eval_stack; + scm_option scm_eval_opts[] = { - { SCM_OPTION_INTEGER, "stack", 0x10000, "Size of thread stacks." } + { SCM_OPTION_INTEGER, "stack", 22000, "Size of thread stacks (in machine words)." } }; scm_option scm_debug_opts[] = { @@ -1443,7 +1445,7 @@ scm_option scm_debug_opts[] = { { SCM_OPTION_INTEGER, "depth", 20, "Maximal length of printed backtrace." }, { SCM_OPTION_BOOLEAN, "backtrace", 0, "Show backtrace on error." }, { SCM_OPTION_BOOLEAN, "debug", 0, "Use the debugging evaluator." }, - { SCM_OPTION_INTEGER, "stack", 20000, "Stack size limit (0 = no check)." } + { SCM_OPTION_INTEGER, "stack", 20000, "Stack size limit (measured in words; 0 = no check)." } }; scm_option scm_evaluator_trap_table[] = { @@ -1464,6 +1466,7 @@ scm_eval_options_interface (setting) scm_eval_opts, SCM_N_EVAL_OPTIONS, s_eval_options_interface); + scm_eval_stack = SCM_EVAL_STACK * sizeof (void *); SCM_ALLOW_INTS; return ans; } diff --git a/libguile/eval.h b/libguile/eval.h index 737a7477b..2f13946e4 100644 --- a/libguile/eval.h +++ b/libguile/eval.h @@ -56,6 +56,8 @@ extern scm_option scm_eval_opts[]; #define SCM_EVAL_STACK scm_eval_opts[0].val #define SCM_N_EVAL_OPTIONS 1 +extern scm_eval_stack; + extern scm_option scm_evaluator_trap_table[]; #define SCM_ENTER_FRAME_P scm_evaluator_trap_table[0].val |