/* {Run time control of the debugging evaluator}
*/
-SCM_PROC (s_debug_options, "debug-options", 0, 1, 0, scm_debug_options);
+SCM_PROC (s_debug_options, "debug-options-interface", 0, 1, 0, scm_debug_options);
#ifdef __STDC__
SCM
-scm_debug_options (SCM new_values)
+scm_debug_options (SCM setting)
#else
SCM
-scm_debug_options (new_values)
- SCM new_values;
+scm_debug_options (setting)
+ SCM setting;
#endif
{
SCM ans;
SCM_DEFER_INTS;
- ans = scm_change_options (new_values,
- scm_debug_opts,
- N_DEBUG_OPTIONS,
- s_debug_options);
+ ans = scm_options (setting,
+ scm_debug_opts,
+ SCM_N_DEBUG_OPTIONS,
+ s_debug_options);
#ifndef SCM_RECKLESS
- if (!(1 <= FRAMES && FRAMES <= MAXFRAMESIZE))
+ if (!(1 <= SCM_N_FRAMES && SCM_N_FRAMES <= SCM_MAX_FRAME_SIZE))
{
- scm_change_options (ans, scm_debug_opts, N_DEBUG_OPTIONS, s_debug_options);
+ scm_options (ans, scm_debug_opts, SCM_N_DEBUG_OPTIONS, s_debug_options);
/* *fixme* Should SCM_ALLOW_INTS be called here? */
- scm_wta (new_values, (char *) SCM_OUTOFRANGE, "frames");
+ scm_wta (setting, (char *) SCM_OUTOFRANGE, "frames");
}
#endif
- RESET_DEBUG_MODE;
- scm_debug_eframe_size = 2 * FRAMES;
+ SCM_RESET_DEBUG_MODE;
+ scm_debug_eframe_size = 2 * SCM_N_FRAMES;
SCM_ALLOW_INTS
return ans;
}
-SCM_PROC (s_evaluator_traps, "evaluator-traps", 0, 1, 0, scm_evaluator_traps);
+SCM_PROC (s_evaluator_traps, "evaluator-traps-interface", 0, 1, 0, scm_evaluator_traps);
#ifdef __STDC__
SCM
-scm_evaluator_traps (SCM new_values)
+scm_evaluator_traps (SCM setting)
#else
SCM
-scm_evaluator_traps (new_values)
- SCM new_values;
+scm_evaluator_traps (setting)
+ SCM setting;
#endif
{
SCM ans;
SCM_DEFER_INTS;
- ans = scm_change_options (new_values,
- scm_evaluator_trap_table,
- N_EVALUATOR_TRAPS,
- s_evaluator_traps);
- RESET_DEBUG_MODE;
+ ans = scm_options (setting,
+ scm_evaluator_trap_table,
+ SCM_N_EVALUATOR_TRAPS,
+ s_evaluator_traps);
+ SCM_RESET_DEBUG_MODE;
SCM_ALLOW_INTS
return ans;
}
#endif
{
SCM_DEFER_INTS;
- ENTER_FRAME = EXIT_FRAME = 1;
- RESET_DEBUG_MODE;
+ SCM_ENTER_FRAME_P = SCM_EXIT_FRAME_P = 1;
+ SCM_RESET_DEBUG_MODE;
SCM_ALLOW_INTS;
scm_throw (cont, val);
return SCM_BOOL_F; /* never returns */
{
int size;
scm_debug_info *info;
- if (EVALFRAMEP (*frame))
+ if (SCM_EVALFRAMEP (*frame))
{
- size = frame->status & MAXFRAMESIZE;
+ size = frame->status & SCM_MAX_FRAME_SIZE;
info = (scm_debug_info *) (*((SCM_STACKITEM **) &frame->vect[size]) + offset);
if ((info - frame->vect) & 1)
{
info[1].a.proc,
scm_acons (scm_i_args,
info[1].a.args,
- ARGSREADYP (*frame)
+ SCM_ARGS_READY_P (*frame)
? SCM_EOL
: scm_acons (scm_i_eval_args,
SCM_BOOL_T,
{
SCM frs = SCM_EOL, vfrs, p;
int size;
- int max_vfrs = BACKTRACE_DEPTH;
+ int max_vfrs = SCM_BACKTRACE_DEPTH;
scm_debug_info *info;
scm_debug_frame *frame;
long offset = 0;
{
frame = (scm_debug_frame *) ((SCM_STACKITEM *) frame + offset);
p = _scm_stack_frame_to_plist (frame, offset);
- if (EVALFRAMEP (*frame))
+ if (SCM_EVALFRAMEP (*frame))
{
- size = frame->status & MAXFRAMESIZE;
+ size = frame->status & SCM_MAX_FRAME_SIZE;
info = (scm_debug_info *) (*((SCM_STACKITEM **) &frame->vect[size]) + offset);
vfrs = SCM_EOL;
if ((info - frame->vect) & 1)
--info;
/* Data in the apply part of an eval info frame comes from
previous stack frame if the scm_debug_info vector is overflowed. */
- else if (OVERFLOWP (*frame)
+ else if (SCM_OVERFLOWP (*frame)
&& !SCM_UNBNDP (info[1].a.proc))
{
vfrs = scm_cons (p, SCM_EOL);
info -= 2;
vfrs = scm_cons (p, vfrs);
--max_vfrs;
- if (OVERFLOWP (*frame))
+ if (SCM_OVERFLOWP (*frame))
vfrs = scm_cons (scm_i_more, vfrs);
while (info >= frame->vect)
{
void
scm_init_debug ()
{
- scm_init_opts (scm_debug_options, scm_debug_opts, N_DEBUG_OPTIONS);
+ scm_init_opts (scm_debug_options, scm_debug_opts, SCM_N_DEBUG_OPTIONS);
scm_tc16_memoized = scm_newsmob (&memoizedsmob);
scm_tc16_debugobj = scm_newsmob (&debugobjsmob);
/* {Options}
*/
+/* scm_debug_opts and scm_evaluator_trap_table are defined in eval.c.
+ */
+
extern scm_option scm_debug_opts[];
-#define RECORD_PROCNAMES scm_debug_opts[0].val
-#define DEBUG_EVAL scm_debug_opts[1].val
-#define BREAKPOINTS scm_debug_opts[2].val
-#define TRACE scm_debug_opts[3].val
-#define BACKTRACE scm_debug_opts[4].val
-#define BACKTRACE_DEPTH scm_debug_opts[5].val
-#define FRAMES scm_debug_opts[6].val
-#define CHEAPTRAPS scm_debug_opts[7].val
-#define N_DEBUG_OPTIONS 8
+#define SCM_CHEAPTRAPS_P scm_debug_opts[0].val
+#define SCM_BREAKPOINTS_P scm_debug_opts[1].val
+#define SCM_TRACE_P scm_debug_opts[2].val
+#define SCM_REC_PROCNAMES_P scm_debug_opts[3].val
+#define SCM_BACKWARDS_P scm_debug_opts[4].val
+#define SCM_N_FRAMES scm_debug_opts[5].val
+#define SCM_BACKTRACE_DEPTH scm_debug_opts[6].val
+#define SCM_BACKTRACE_P scm_debug_opts[7].val
+#define SCM_DEVAL_P scm_debug_opts[8].val
+#define SCM_STACK_LIMIT scm_debug_opts[9].val
+#define SCM_N_DEBUG_OPTIONS 10
extern scm_option scm_evaluator_trap_table[];
-#define ENTER_FRAME scm_evaluator_trap_table[0].val
-#define APPLY_FRAME scm_evaluator_trap_table[1].val
-#define EXIT_FRAME scm_evaluator_trap_table[2].val
-#define N_EVALUATOR_TRAPS 3
+#define SCM_ENTER_FRAME_P scm_evaluator_trap_table[0].val
+#define SCM_APPLY_FRAME_P scm_evaluator_trap_table[1].val
+#define SCM_EXIT_FRAME_P scm_evaluator_trap_table[2].val
+#define SCM_N_EVALUATOR_TRAPS 3
#ifdef __STDC__
extern SCM (*scm_ceval_ptr) (SCM exp, SCM env);
#else
extern SCM (*scm_ceval_ptr) ();
#endif
-extern int debug_mode, check_entry, check_apply, check_exit;
+extern int scm_debug_mode;
+extern int scm_check_entry_p, scm_check_apply_p, scm_check_exit_p;
-#define CHECK_ENTRY check_entry
-#define CHECK_APPLY check_apply
-#define CHECK_EXIT check_exit
+#define CHECK_ENTRY scm_check_entry_p
+#define CHECK_APPLY scm_check_apply_p
+#define CHECK_EXIT scm_check_exit_p
-#define RESET_DEBUG_MODE \
+#define SCM_RESET_DEBUG_MODE \
{\
- if (ENTER_FRAME || BREAKPOINTS) CHECK_ENTRY = 1;\
- if (APPLY_FRAME || TRACE) CHECK_APPLY = 1;\
- if (EXIT_FRAME || TRACE) CHECK_EXIT = 1;\
- debug_mode = DEBUG_EVAL || BACKTRACE || CHECK_ENTRY || CHECK_APPLY || CHECK_EXIT;\
- scm_ceval_ptr = debug_mode ? scm_deval : scm_ceval;\
+ if (SCM_ENTER_FRAME_P || SCM_BREAKPOINTS_P) CHECK_ENTRY = 1;\
+ if (SCM_APPLY_FRAME_P || SCM_TRACE_P) CHECK_APPLY = 1;\
+ if (SCM_EXIT_FRAME_P || SCM_TRACE_P) CHECK_EXIT = 1;\
+ scm_debug_mode = SCM_DEVAL_P || SCM_BACKTRACE_P || CHECK_ENTRY || CHECK_APPLY || CHECK_EXIT;\
+ scm_ceval_ptr = scm_debug_mode ? scm_deval : scm_ceval;\
}
extern scm_debug_frame *last_debug_info_frame;
-#define TAILREC (1L << 10)
-#define TRACEDFRAME (1L << 9)
-#define APPLYFRAME (1L << 8)
-#define ARGSREADY (1L << 7)
-#define DOVERFLOW (1L << 6)
-#define MAXFRAMESIZE 63 /* also used as a mask for the size field */
-
-#define EVALFRAMEP(x) (((x).status & APPLYFRAME) == 0)
-#define APPLYFRAMEP(x) (((x).status & APPLYFRAME) != 0)
-#define OVERFLOWP(x) (((x).status & DOVERFLOW) != 0)
-#define ARGSREADYP(x) (((x).status & ARGSREADY) != 0)
-#define TRACEDFRAMEP(x) (((x).status & TRACEDFRAME) != 0)
-#define TAILRECP(x) (((x).status & TAILREC) != 0)
-#define SETOVERFLOW(x) ((x).status |= DOVERFLOW)
-#define SETARGSREADY(x) ((x).status |= ARGSREADY)
-#define CLEARARGSREADY(x) ((x).status &= ~ARGSREADY)
-#define SETTRACEDFRAME(x) ((x).status |= TRACEDFRAME)
-#define CLEARTRACEDFRAME(x) ((x).status &= ~TRACEDFRAME)
-#define SETTAILREC(x) ((x).status |= TAILREC)
-
-#define DEBUGGINGP debug_mode
-#define DSIDEVAL(x, env) if NIMP(x) scm_deval((x), (env))
+#define SCM_TAILREC (1L << 10)
+#define SCM_TRACED_FRAME (1L << 9)
+#define SCM_APPLYFRAME (1L << 8)
+#define SCM_ARGS_READY (1L << 7)
+#define SCM_DOVERFLOW (1L << 6)
+#define SCM_MAX_FRAME_SIZE 63 /* also used as a mask for the size field */
+
+#define SCM_EVALFRAMEP(x) (((x).status & SCM_APPLYFRAME) == 0)
+#define SCM_APPLYFRAMEP(x) (((x).status & SCM_APPLYFRAME) != 0)
+#define SCM_OVERFLOWP(x) (((x).status & SCM_DOVERFLOW) != 0)
+#define SCM_ARGS_READY_P(x) (((x).status & SCM_ARGS_READY) != 0)
+#define SCM_TRACED_FRAME_P(x) (((x).status & SCM_TRACED_FRAME) != 0)
+#define SCM_TAILRECP(x) (((x).status & SCM_TAILREC) != 0)
+#define SCM_SET_OVERFLOW(x) ((x).status |= SCM_DOVERFLOW)
+#define SCM_SET_ARGSREADY(x) ((x).status |= SCM_ARGS_READY)
+#define SCM_CLEAR_ARGSREADY(x) ((x).status &= ~SCM_ARGS_READY)
+#define SCM_SET_TRACED_FRAME(x) ((x).status |= SCM_TRACED_FRAME)
+#define SCM_CLEAR_TRACED_FRAME(x) ((x).status &= ~SCM_TRACED_FRAME)
+#define SCM_SET_TAILREC(x) ((x).status |= SCM_TAILREC)
+
+#define SCM_DEBUGGINGP scm_debug_mode
+#define SCM_DSIDEVAL(x, env) if NIMP(x) scm_deval((x), (env))
/* {Memoized Source}
*/