summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-06-16 12:08:29 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2020-10-12 16:21:15 +0900
commit015f06ed8ed613492630cab0d60660fc7eecbe28 (patch)
tree01c1540d9cff40ed289332c68b8976631998d210 /src
parent95169097fc44184f1decdab4c7caf05b4612597a (diff)
downloadmruby-015f06ed8ed613492630cab0d60660fc7eecbe28.tar.gz
mruby-015f06ed8ed613492630cab0d60660fc7eecbe28.zip
Should not mark red (i.e. ROM allocated) objects.
Diffstat (limited to 'src')
-rw-r--r--src/gc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gc.c b/src/gc.c
index 4bee82364..28cab05b2 100644
--- a/src/gc.c
+++ b/src/gc.c
@@ -772,6 +772,7 @@ mrb_gc_mark(mrb_state *mrb, struct RBasic *obj)
{
if (obj == 0) return;
if (!is_white(obj)) return;
+ if (is_red(obj)) return;
mrb_assert((obj)->tt != MRB_TT_FREE);
add_gray_list(mrb, &mrb->gc, obj);
}