summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-07-13 07:08:32 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-07-13 07:08:32 +0000
commitd7eb7bbccef6da8951c8a2427354f87156918909 (patch)
tree71f930605110cc9737d43a282fb465f67484328d /gc.c
parentd42e547ab1a487a00ccd4f71604b58e1cce060eb (diff)
* gc.c (gc_mark_roots): should mark the VM object itself to mark
singleton class of the VM object. Before this patch, we only set mark bit for the VM object and invoke mark function separately. [Bug #12583] * test/ruby/test_gc.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gc.c b/gc.c
index ebfb037c1e..e72006898c 100644
--- a/gc.c
+++ b/gc.c
@@ -4694,7 +4694,7 @@ gc_mark_roots(rb_objspace_t *objspace, const char **categoryp)
MARK_CHECKPOINT("vm");
SET_STACK_END;
rb_vm_mark(th->vm);
- if (th->vm->self) gc_mark_set(objspace, th->vm->self);
+ if (th->vm->self) gc_mark(objspace, th->vm->self);
MARK_CHECKPOINT("finalizers");
mark_tbl(objspace, finalizer_table);