Check writebarrier arguments only when RGENGC_CHECK_MODE [ci skip]

The commit 575ae50d16a03ed23357ec4ea0dbf7167fc26c8c was for debugging
the failure triggered by f55212bce939f736559709a8cd16c409772389c8, and
it was fixed at the commit 39f7eddec4c55711d56f05b085992a83bf23159e.
This commit is contained in:
Nobuyoshi Nakada 2022-10-21 10:02:16 +09:00
parent 39f7eddec4
commit e72c5044ce
No known key found for this signature in database
GPG Key ID: 7CD2805BFA3770C6

6
gc.c
View File

@ -8920,8 +8920,10 @@ rb_gc_writebarrier(VALUE a, VALUE b)
{
rb_objspace_t *objspace = &rb_objspace;
if (SPECIAL_CONST_P(a)) rb_bug("rb_gc_writebarrier: a is special const: %"PRIxVALUE, a);
if (SPECIAL_CONST_P(b)) rb_bug("rb_gc_writebarrier: b is special const: %"PRIxVALUE, b);
if (RGENGC_CHECK_MODE) {
if (SPECIAL_CONST_P(a)) rb_bug("rb_gc_writebarrier: a is special const: %"PRIxVALUE, a);
if (SPECIAL_CONST_P(b)) rb_bug("rb_gc_writebarrier: b is special const: %"PRIxVALUE, b);
}
retry:
if (!is_incremental_marking(objspace)) {