From 6147fa82a923e7318f493857023006801ed25eb5 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Mon, 14 Oct 2019 14:52:58 -0700 Subject: Fix continuation mark / compact --- cont.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'cont.c') diff --git a/cont.c b/cont.c index 832068f42e..bdd775a8cb 100644 --- a/cont.c +++ b/cont.c @@ -847,6 +847,9 @@ cont_compact(void *ptr) { rb_context_t *cont = ptr; + if (cont->self) { + cont->self = rb_gc_location(cont->self); + } cont->value = rb_gc_location(cont->value); rb_execution_context_update(&cont->saved_ec); } @@ -857,6 +860,9 @@ cont_mark(void *ptr) rb_context_t *cont = ptr; RUBY_MARK_ENTER("cont"); + if (cont->self) { + rb_gc_mark_movable(cont->self); + } rb_gc_mark_movable(cont->value); rb_execution_context_mark(&cont->saved_ec); -- cgit v1.2.3