From c45c5472c4b9f8b245f533ece2f0117c5bbadb90 Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 1 Nov 2001 04:51:22 +0000 Subject: * gc.c (gc_mark_children): should NOT treat last element of structs and arrays specially. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@1809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ gc.c | 12 ++---------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index d21a476dd..c71b80697 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Nov 1 13:23:50 2001 Yukihiro Matsumoto + + * gc.c (gc_mark_children): should NOT treat last element of + structs and arrays specially. + Wed Oct 31 16:59:25 2001 Yukihiro Matsumoto * eval.c (exec_under): should initialize ruby_frame->self; diff --git a/gc.c b/gc.c index c555f511e..8b5c1a388 100644 --- a/gc.c +++ b/gc.c @@ -630,17 +630,13 @@ gc_mark_children(ptr) case T_ARRAY: { - int i, len = obj->as.array.len - 1; + int i, len = obj->as.array.len; VALUE *ptr = obj->as.array.ptr; for (i=0; i < len; i++) { PUSH_MARK(*ptr); ptr++; } - if (len >= 0) { - obj = RANY(*ptr); - goto Again; - } } break; @@ -698,17 +694,13 @@ gc_mark_children(ptr) case T_STRUCT: { - int i, len = obj->as.rstruct.len - 1; + int i, len = obj->as.rstruct.len; VALUE *ptr = obj->as.rstruct.ptr; for (i=0; i < len; i++) { PUSH_MARK(*ptr); ptr++; } - if (len >= 0) { - obj = RANY(ptr); - goto Again; - } } break; -- cgit