diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-13 05:19:01 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-13 05:19:01 +0000 |
commit | 074cc412babf05921597aa8b9ffe3ca50f800653 (patch) | |
tree | a70f9a04f63b014a08ff54acb19bd8d2829c1f86 /gc.c | |
parent | 014c4c3ffe1e2b1b599dc57e4b1c3ec7f1927066 (diff) | |
download | ruby-074cc412babf05921597aa8b9ffe3ca50f800653.tar.gz ruby-074cc412babf05921597aa8b9ffe3ca50f800653.tar.xz ruby-074cc412babf05921597aa8b9ffe3ca50f800653.zip |
* gc.c (ruby_stack_check): STACK_LENGTH should be less than
STACK_LEVEL_MAX.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@17142 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -236,7 +236,6 @@ rb_objspace_alloc(void) /*#define HEAP_SIZE 0x800 */ #define HEAP_OBJ_LIMIT (HEAP_SIZE / sizeof(struct RVALUE)) -#define FREE_MIN 4096 extern st_table *rb_class_tbl; VALUE *rb_gc_stack_start = 0; @@ -818,11 +817,11 @@ ruby_stack_check(void) int ret; rb_thread_t *th = GET_THREAD(); SET_STACK_END; - ret = STACK_LENGTH > STACK_LEVEL_MAX + GC_WATER_MARK; + ret = STACK_LENGTH > STACK_LEVEL_MAX - GC_WATER_MARK; #ifdef __ia64 if (!ret) { ret = (VALUE*)rb_ia64_bsp() - th->machine_register_stack_start > - th->machine_register_stack_maxsize/sizeof(VALUE) + GC_WATER_MARK; + th->machine_register_stack_maxsize/sizeof(VALUE) - GC_WATER_MARK; } #endif return ret; |