diff options
| -rw-r--r-- | gc.c | 2 | ||||
| -rw-r--r-- | gc/default/default.c | 2 |
2 files changed, 3 insertions, 1 deletions
@@ -239,7 +239,7 @@ rb_gc_event_hook(VALUE obj, rb_event_flag_t event) { if (LIKELY(!rb_gc_event_hook_required_p(event))) return; - rb_execution_context_t *ec = GET_EC(); + rb_execution_context_t *ec = rb_gc_get_ec(); if (!ec->cfp) return; EXEC_EVENT_HOOK(ec, event, ec->cfp->self, 0, 0, 0, obj); diff --git a/gc/default/default.c b/gc/default/default.c index 6465b5c70e..a08f6b79c8 100644 --- a/gc/default/default.c +++ b/gc/default/default.c @@ -6415,6 +6415,8 @@ garbage_collect(rb_objspace_t *objspace, unsigned int reason) static int gc_start(rb_objspace_t *objspace, unsigned int reason) { + rb_gc_initialize_vm_context(&objspace->vm_context); + unsigned int do_full_mark = !!(reason & GPR_FLAG_FULL_MARK); if (!rb_darray_size(objspace->heap_pages.sorted)) return TRUE; /* heap is not ready */ |
