ruby-changes:8844
From: matz <ko1@a...>
Date: Thu, 27 Nov 2008 23:56:03 +0900 (JST)
Subject: [ruby-changes:8844] Ruby:r20380 (trunk): * gc.c (gc_mark): still needs to check stack depth during GC.
matz 2008-11-27 23:55:45 +0900 (Thu, 27 Nov 2008) New Revision: 20380 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20380 Log: * gc.c (gc_mark): still needs to check stack depth during GC. * gc.c (stack_check): ditto. Modified files: trunk/ChangeLog trunk/gc.c Index: ChangeLog =================================================================== --- ChangeLog (revision 20379) +++ ChangeLog (revision 20380) @@ -1,3 +1,9 @@ +Thu Nov 27 23:54:37 2008 Yukihiro Matsumoto <matz@r...> + + * gc.c (gc_mark): still needs to check stack depth during GC. + + * gc.c (stack_check): ditto. + Thu Nov 27 21:41:29 2008 Tadayoshi Funaba <tadf@d...> * strftime.c (rb_strftime): should add padding for %%. Index: gc.c =================================================================== --- gc.c (revision 20379) +++ gc.c (revision 20380) @@ -1047,12 +1047,9 @@ return STACK_LENGTH; } -int -ruby_stack_check(void) +static int +stack_check(void) { -#if defined(POSIX_SIGNAL) && defined(SIGSEGV) && defined(HAVE_SIGALTSTACK) - return 0; -#else int ret; rb_thread_t *th = GET_THREAD(); SET_STACK_END; @@ -1064,6 +1061,15 @@ } #endif return ret; +} + +int +ruby_stack_check(void) +{ +#if defined(POSIX_SIGNAL) && defined(SIGSEGV) && defined(HAVE_SIGALTSTACK) + return 0; +#else + return stack_check(); #endif } @@ -1273,7 +1279,7 @@ if (obj->as.basic.flags & FL_MARK) return; /* already marked */ obj->as.basic.flags |= FL_MARK; - if (lev > GC_LEVEL_MAX || (lev == 0 && ruby_stack_check())) { + if (lev > GC_LEVEL_MAX || (lev == 0 && stack_check())) { if (!mark_stack_overflow) { if (mark_stack_ptr - mark_stack < MARK_STACK_MAX) { *mark_stack_ptr = ptr; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/