summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-09-24 23:17:42 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2006-09-24 23:17:42 +0000
commitfe2b0129cc64c9e2feeba200a8b176dc6d4b45ca (patch)
treef998c63db0ed7ac12558b10ade0d42085280a0b6 /gc.c
parent860b9bf47fc09218c34ae0afc46db82a7f7791b6 (diff)
* array.c (rb_ary_shift): should clear shifting top element.
[ruby-talk:216055] * array.c (rb_ary_shift): avoid creating shared object if array size is small. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gc.c b/gc.c
index d7e431a704..6c83bd43b5 100644
--- a/gc.c
+++ b/gc.c
@@ -866,10 +866,6 @@ gc_mark_children(VALUE ptr, int lev)
ptr = (VALUE)obj->as.node.u1.node;
goto again;
- case NODE_POSTEXE: /* 2 */
- ptr = (VALUE)obj->as.node.u2.node;
- goto again;
-
case NODE_SCOPE: /* 2,3 */
case NODE_CDECL:
gc_mark((VALUE)obj->as.node.u3.node, lev);
@@ -896,6 +892,7 @@ gc_mark_children(VALUE ptr, int lev)
case NODE_ERRINFO:
case NODE_ATTRSET:
case NODE_BLOCK_ARG:
+ case NODE_POSTEXE:
break;
case NODE_ALLOCA:
mark_locations_array((VALUE*)obj->as.node.u1.value,