This commit is contained in:
git 2019-07-04 01:04:44 +09:00
Родитель d0cd0866d8
Коммит c62aac1086
1 изменённых файлов: 3 добавлений и 3 удалений

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

@ -9376,14 +9376,14 @@ rb_objspace_reachable_object_p(VALUE obj, VALUE root)
int reachable = FALSE;
if (is_markable_object(objspace, obj)) {
struct reachable_object_data data = {obj, root};
struct mark_func_data_struct mfd = {&data, reachable_object_callback};
struct mark_func_data_struct mfd = {&data, reachable_object_callback};
int prev_dont_gc = dont_gc;
enum ruby_tag_type state;
dont_gc = TRUE;
PUSH_MARK_FUNC_DATA(&mfd);
PUSH_MARK_FUNC_DATA(&mfd);
reachable = RTEST(rb_catch_protect(rb_ident_hash_new(), call_reachable_object, (VALUE)&data, &state));
POP_MARK_FUNC_DATA();
POP_MARK_FUNC_DATA();
dont_gc = prev_dont_gc;
if (state) EC_JUMP_TAG(GET_EC(), state);
}