summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-01-09 08:17:11 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-01-09 08:17:11 +0000
commit2b3931f80f474fda91d4ddfd3bd2a2437fbc5ddb (patch)
treeb7c7ade665b0c1cacd02bdde0f7f3b76fa540f74 /gc.c
parent42eb597c64770e8108508557645526928a0f0b49 (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.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gc.c b/gc.c
index 40108a084b..e4320e0a4f 100644
--- a/gc.c
+++ b/gc.c
@@ -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++;