[前][次][番号順一覧][スレッド一覧]

ruby-changes:74151

From: Nobuyoshi <ko1@a...>
Date: Fri, 21 Oct 2022 10:02:52 +0900 (JST)
Subject: [ruby-changes:74151] e72c5044ce (master): Check writebarrier arguments only when RGENGC_CHECK_MODE [ci skip]

https://git.ruby-lang.org/ruby.git/commit/?id=e72c5044ce

From e72c5044cec4bb881300c3a4ade839d0882ec9db Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Fri, 21 Oct 2022 10:02:16 +0900
Subject: 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.
---
 gc.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/gc.c b/gc.c
index e47a4adb1f..f2599adbde 100644
--- a/gc.c
+++ b/gc.c
@@ -8920,8 +8920,10 @@ rb_gc_writebarrier(VALUE a, VALUE b) https://github.com/ruby/ruby/blob/trunk/gc.c#L8920
 {
     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)) {
-- 
cgit v1.2.3


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]