diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-01-09 08:17:11 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-01-09 08:17:11 +0000 |
commit | 2b3931f80f474fda91d4ddfd3bd2a2437fbc5ddb (patch) | |
tree | b7c7ade665b0c1cacd02bdde0f7f3b76fa540f74 /gc.c | |
parent | 42eb597c64770e8108508557645526928a0f0b49 (diff) |
NODE_IFUNC bug
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1094 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -480,7 +480,6 @@ rb_gc_mark(ptr) case NODE_OP_ASGN_AND: rb_gc_mark(obj->as.node.u1.node); /* fall through */ - case NODE_IFUNC: case NODE_METHOD: /* 2 */ case NODE_NOT: case NODE_GASGN: @@ -1232,7 +1231,8 @@ rb_gc_call_finalizer_at_exit() p = heaps[i]; pend = p + HEAP_SLOTS; while (p < pend) { if (FL_TEST(p, FL_FINALIZE)) { - p->as.free.flag = 0; + FL_UNSET(p, FL_FINALIZE); + p->as.basic.klass = 0; run_final((VALUE)p); } p++; |