* iseq.c (rb_iseq_defined_string): use rb_gc_mark_object() instead of

marking from vm_mark().
* vm.c (rb_vm_mark): ditto.



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

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

@ -1,3 +1,10 @@
Wed Jul 16 18:08:47 2014 Koichi Sasada <ko1@atdot.net>
* iseq.c (rb_iseq_defined_string): use rb_gc_mark_object() instead of
marking from vm_mark().
* vm.c (rb_vm_mark): ditto.
Wed Jul 16 18:03:50 2014 Koichi Sasada <ko1@atdot.net>
* gc.c (gc_mark_roots): call rb_vm_mark directly.

1
iseq.c
Просмотреть файл

@ -2069,6 +2069,7 @@ rb_iseq_defined_string(enum defined_type type)
str = rb_str_new_cstr(estr);;
OBJ_FREEZE(str);
defs[type-1] = str;
rb_gc_register_mark_object(str);
}
return str;
}

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

@ -1771,9 +1771,6 @@ rb_vm_mark(void *ptr)
if (vm->trap_list[i].cmd)
rb_gc_mark(vm->trap_list[i].cmd);
}
if (vm->defined_strings) {
rb_gc_mark_locations(vm->defined_strings, vm->defined_strings + DEFINED_EXPR);
}
}
RUBY_MARK_LEAVE("vm");