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

ruby-changes:66382

From: Takashi <ko1@a...>
Date: Tue, 1 Jun 2021 13:59:41 +0900 (JST)
Subject: [ruby-changes:66382] 2209e152c0 (master): Decompose the captured_cc code for investigation

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

From 2209e152c0ec2c0548c22b2b14e52007b74a9efb Mon Sep 17 00:00:00 2001
From: Takashi Kokubun <takashikkbn@g...>
Date: Mon, 31 May 2021 21:57:56 -0700
Subject: Decompose the captured_cc code for investigation

I'm investigating SEGVs like https://github.com/ruby/ruby/runs/2715166621?check_suite_focus=true.
Because a lot of things are going on on this line, it's hard to identify
the cause, especially because we can't get the core file of the failures.

Therefore I intentionally increased the number of lines for
investigation.
---
 tool/ruby_vm/views/_mjit_compile_send.erb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tool/ruby_vm/views/_mjit_compile_send.erb b/tool/ruby_vm/views/_mjit_compile_send.erb
index d1540f6..28e316a 100644
--- a/tool/ruby_vm/views/_mjit_compile_send.erb
+++ b/tool/ruby_vm/views/_mjit_compile_send.erb
@@ -13,7 +13,9 @@ https://github.com/ruby/ruby/blob/trunk/tool/ruby_vm/views/_mjit_compile_send.erb#L13
     MAYBE_UNUSED(<%= ope.fetch(:decl) %>) = (<%= ope.fetch(:type) %>)operands[<%= i %>];
 % end
 % # compiler: Use captured cc to avoid race condition
-    const struct rb_callcache *captured_cc = captured_cc_entries(status)[call_data_index(cd, body)];
+    size_t cd_index = call_data_index(cd, body);
+    const struct rb_callcache **cc_entries = captured_cc_entries(status);
+    const struct rb_callcache *captured_cc = cc_entries[cd_index];
 %
 % # compiler: Inline send insn where some supported fastpath is used.
     const rb_iseq_t *iseq = NULL;
-- 
cgit v1.1


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

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