1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Fix continuation mark / compact

This commit is contained in:
Aaron Patterson 2019-10-14 14:52:58 -07:00
parent bbf3de22b6
commit 6147fa82a9
No known key found for this signature in database
GPG key ID: 953170BCB4FFAFC6

6
cont.c
View file

@ -847,6 +847,9 @@ cont_compact(void *ptr)
{ {
rb_context_t *cont = ptr; rb_context_t *cont = ptr;
if (cont->self) {
cont->self = rb_gc_location(cont->self);
}
cont->value = rb_gc_location(cont->value); cont->value = rb_gc_location(cont->value);
rb_execution_context_update(&cont->saved_ec); rb_execution_context_update(&cont->saved_ec);
} }
@ -857,6 +860,9 @@ cont_mark(void *ptr)
rb_context_t *cont = ptr; rb_context_t *cont = ptr;
RUBY_MARK_ENTER("cont"); RUBY_MARK_ENTER("cont");
if (cont->self) {
rb_gc_mark_movable(cont->self);
}
rb_gc_mark_movable(cont->value); rb_gc_mark_movable(cont->value);
rb_execution_context_mark(&cont->saved_ec); rb_execution_context_mark(&cont->saved_ec);