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

ruby-changes:64886

From: Aaron <ko1@a...>
Date: Fri, 15 Jan 2021 02:57:13 +0900 (JST)
Subject: [ruby-changes:64886] 5e26619660 (master): Fix WB for callinfo

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

From 5e26619660f20272a53c7f839dde36cce034bb35 Mon Sep 17 00:00:00 2001
From: Aaron Patterson <tenderlove@r...>
Date: Thu, 14 Jan 2021 09:55:54 -0800
Subject: Fix WB for callinfo

The WB for callinfo needs to be executed *after* the reference is
written.  Otherwise we get a WB miss.

diff --git a/compile.c b/compile.c
index 388d476..916efb5 100644
--- a/compile.c
+++ b/compile.c
@@ -1309,6 +1309,7 @@ new_insn_send(rb_iseq_t *iseq, int line_no, ID id, VALUE argc, const rb_iseq_t * https://github.com/ruby/ruby/blob/trunk/compile.c#L1309
         RB_OBJ_WRITTEN(iseq, Qundef, blockiseq);
     }
     INSN *insn = new_insn_core(iseq, line_no, BIN(send), 2, operands);
+    RB_OBJ_WRITTEN(iseq, Qundef, ci);
     RB_GC_GUARD(ci);
     return insn;
 }
-- 
cgit v0.10.2


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

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