Merge pull request #5766 from dearblue/red-write-barrier

Ignore `MRB_GC_RED` objects in `mrb_field_write_barrier()`
This commit is contained in:
Yukihiro "Matz" Matsumoto
2022-08-01 17:15:54 +09:00
committed by GitHub
+1
View File
@@ -1376,6 +1376,7 @@ mrb_field_write_barrier(mrb_state *mrb, struct RBasic *obj, struct RBasic *value
if (!is_black(obj)) return;
if (!is_white(value)) return;
if (is_red(value)) return;
mrb_assert(gc->state == MRB_GC_STATE_MARK || (!is_dead(gc, value) && !is_dead(gc, obj)));
mrb_assert(is_generational(gc) || gc->state != MRB_GC_STATE_ROOT);