From 0924d357a70193b01d9966d099e66bf74584b637 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 24 Sep 2006 21:00:03 +0000 Subject: [PATCH] replace weird every-50th-iteration overflow checking in check_cycle with a normal overflow check svn: r4429 --- src/mzscheme/src/print.c | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/src/mzscheme/src/print.c b/src/mzscheme/src/print.c index f52d883f78..4c4316e882 100644 --- a/src/mzscheme/src/print.c +++ b/src/mzscheme/src/print.c @@ -402,31 +402,21 @@ static int check_cycles(Scheme_Object *obj, Scheme_Hash_Table *ht, PrintParams * { Scheme_Type t; - t = SCHEME_TYPE(obj); - #ifdef DO_STACK_CHECK -#define CHECK_COUNT_START 50 { - static int check_counter = CHECK_COUNT_START; - - if (!--check_counter) { - check_counter = CHECK_COUNT_START; - SCHEME_USE_FUEL(CHECK_COUNT_START); - { #include "mzstkchk.h" - { - pp = copy_print_params(pp); - scheme_current_thread->ku.k.p1 = (void *)obj; - scheme_current_thread->ku.k.p2 = (void *)ht; - scheme_current_thread->ku.k.p3 = (void *)pp; - return SCHEME_TRUEP(scheme_handle_stack_overflow(check_cycle_k)); - } - } + { + pp = copy_print_params(pp); + scheme_current_thread->ku.k.p1 = (void *)obj; + scheme_current_thread->ku.k.p2 = (void *)ht; + scheme_current_thread->ku.k.p3 = (void *)pp; + return SCHEME_TRUEP(scheme_handle_stack_overflow(check_cycle_k)); } } -#else - SCHEME_USE_FUEL(1); #endif + SCHEME_USE_FUEL(1); + + t = SCHEME_TYPE(obj); if (SCHEME_PAIRP(obj) || (pp->print_box && SCHEME_BOXP(obj))