From 0d2b05ee134a967d9f4c8164455b07cd8e79131a Mon Sep 17 00:00:00 2001 From: matz Date: Thu, 29 Jun 2006 14:57:42 +0000 Subject: * gc.c (gc_mark_children): a bug in NODE_BLOCK_PASS marking. [ruby-dev:28908] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@10432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++-- gc.c | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 55c395f3ac..f9e911784f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thu Jun 29 23:56:01 2006 Yukihiro Matsumoto + + * gc.c (gc_mark_children): a bug in NODE_BLOCK_PASS marking. + [ruby-dev:28908] + Thu Jun 29 23:04:36 2006 Yukihiro Matsumoto * parse.y: use ARGSPUSH instead of ARGSCAT to prevent too much @@ -8,8 +13,7 @@ Thu Jun 29 23:04:36 2006 Yukihiro Matsumoto * eval.c (block_orphan): lambda and proc from method are always orphan. - * gc.c (gc_mark_children): proper marking for NODE_BLOCK_PASS and - NODE_LAMBDA. + * gc.c (gc_mark_children): proper marking for NODE_LAMBDA. Thu Jun 29 22:47:30 2006 Tanaka Akira diff --git a/gc.c b/gc.c index 34090d9b4c..a3aaca1057 100644 --- a/gc.c +++ b/gc.c @@ -794,6 +794,7 @@ gc_mark_children(VALUE ptr, int lev) case NODE_RESBODY: case NODE_CLASS: case NODE_ARGS: + case NODE_BLOCK_PASS: gc_mark((VALUE)obj->as.node.u2.node, lev); /* fall through */ case NODE_BLOCK: /* 1,3 */ @@ -833,7 +834,6 @@ gc_mark_children(VALUE ptr, int lev) case NODE_MODULE: case NODE_ALIAS: case NODE_VALIAS: - case NODE_BLOCK_PASS: case NODE_LAMBDA: gc_mark((VALUE)obj->as.node.u1.node, lev); /* fall through */ -- cgit v1.2.3