summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-06-29 14:57:42 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-06-29 14:57:42 +0000
commit0d2b05ee134a967d9f4c8164455b07cd8e79131a (patch)
tree623009d301994561e465cb065ae997e0260882be
parent4df2cb80531c7cd4b10b0dea26f4687c4f74ff30 (diff)
* 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
-rw-r--r--ChangeLog8
-rw-r--r--gc.c2
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 <matz@ruby-lang.org>
+
+ * gc.c (gc_mark_children): a bug in NODE_BLOCK_PASS marking.
+ [ruby-dev:28908]
+
Thu Jun 29 23:04:36 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
* parse.y: use ARGSPUSH instead of ARGSCAT to prevent too much
@@ -8,8 +13,7 @@ Thu Jun 29 23:04:36 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
* 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 <akr@m17n.org>
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 */