* gc.c (gc_mark_roots): call rb_vm_mark directly.

* vm.c: remove mark function for RubyVM object because
  RubyVM object marked manually.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ko1 2014-07-16 09:06:52 +00:00
Родитель 64c81e40d4
Коммит 88722e6a5d
3 изменённых файлов: 10 добавлений и 4 удалений

Просмотреть файл

@ -1,3 +1,10 @@
Wed Jul 16 18:03:50 2014 Koichi Sasada <ko1@atdot.net>
* gc.c (gc_mark_roots): call rb_vm_mark directly.
* vm.c: remove mark function for RubyVM object because
RubyVM object marked manually.
Wed Jul 16 12:25:39 2014 NARUSE, Yui <naruse@ruby-lang.org>
* regcomp.c: Merge Onigmo 5.14.1 25a8a69fc05ae3b56a09.

3
gc.c
Просмотреть файл

@ -4222,7 +4222,8 @@ gc_mark_roots(rb_objspace_t *objspace, int full_mark, const char **categoryp)
MARK_CHECKPOINT("vm");
SET_STACK_END;
th->vm->self ? rb_gc_mark(th->vm->self) : rb_vm_mark(th->vm);
rb_vm_mark(th->vm);
if (th->vm->self) gc_mark_ptr(objspace, th->vm->self);
MARK_CHECKPOINT("finalizers");
mark_tbl(objspace, finalizer_table);

4
vm.c
Просмотреть файл

@ -1790,8 +1790,6 @@ rb_vm_add_root_module(ID id, VALUE module)
return TRUE;
}
#define vm_free 0
int
ruby_vm_destruct(rb_vm_t *vm)
{
@ -1844,7 +1842,7 @@ vm_memsize(const void *ptr)
static const rb_data_type_t vm_data_type = {
"VM",
{rb_vm_mark, vm_free, vm_memsize,},
{NULL, NULL, vm_memsize,},
NULL, NULL, RUBY_TYPED_FREE_IMMEDIATELY
};