aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Patterson <tenderlove@ruby-lang.org>2021-01-14 09:55:54 -0800
committerAaron Patterson <tenderlove@ruby-lang.org>2021-01-14 09:55:54 -0800
commit5e26619660f20272a53c7f839dde36cce034bb35 (patch)
tree8a9699fbfbec749be94d599497883161cdf7be84
parent834b404b9aba6f3dcaa8107632530489239e53d1 (diff)
downloadruby-5e26619660f20272a53c7f839dde36cce034bb35.tar.gz
Fix WB for callinfo
The WB for callinfo needs to be executed *after* the reference is written. Otherwise we get a WB miss.
-rw-r--r--compile.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/compile.c b/compile.c
index 388d476c68..916efb505e 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 *
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;
}