diff options
Diffstat (limited to 'libguile/threads.c')
-rw-r--r-- | libguile/threads.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libguile/threads.c b/libguile/threads.c index d32156eb2..3bb39f10c 100644 --- a/libguile/threads.c +++ b/libguile/threads.c @@ -954,13 +954,15 @@ scm_threads_mark_stacks (void) abort (); } + { #if SCM_STACK_GROWS_UP - long stack_len = t->top - t->base; - scm_mark_locations (t->base, stack_len); + long stack_len = t->top - t->base; + scm_mark_locations (t->base, stack_len); #else - long stack_len = t->base - t->top; - scm_mark_locations (t->top, stack_len); + long stack_len = t->base - t->top; + scm_mark_locations (t->top, stack_len); #endif + } scm_mark_locations ((SCM_STACKITEM *) t->regs, ((size_t) sizeof(t->regs) / sizeof (SCM_STACKITEM))); |