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

ruby-changes:69052

From: Maxime <ko1@a...>
Date: Thu, 21 Oct 2021 08:20:41 +0900 (JST)
Subject: [ruby-changes:69052] 0562459473 (master): Redo the ivtable lookp once the ivar is set

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

From 0562459473f44c270784074a09a33ea30d68e457 Mon Sep 17 00:00:00 2001
From: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@s...>
Date: Wed, 25 Aug 2021 16:51:41 -0400
Subject: Redo the ivtable lookp once the ivar is set

---
 yjit_codegen.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/yjit_codegen.c b/yjit_codegen.c
index aaac15b1cb..abb6e6d3dd 100644
--- a/yjit_codegen.c
+++ b/yjit_codegen.c
@@ -1446,7 +1446,9 @@ gen_get_ivar(jitstate_t *jit, ctx_t *ctx, const int max_chain_depth, VALUE compt https://github.com/ruby/ruby/blob/trunk/yjit_codegen.c#L1446
     if (!iv_index_tbl || !rb_iv_index_tbl_lookup(iv_index_tbl, id, &ent)) {
         rb_ivar_set(comptime_receiver, id, Qundef);
         iv_index_tbl = ROBJECT_IV_INDEX_TBL(comptime_receiver);
-        RUBY_ASSERT(iv_index_tbl && rb_iv_index_tbl_lookup(iv_index_tbl, id, &ent));
+        RUBY_ASSERT(iv_index_tbl);
+        // Redo the lookup
+        RUBY_ASSERT_ALWAYS(rb_iv_index_tbl_lookup(iv_index_tbl, id, &ent));
     }
 
     uint32_t ivar_index = ent->index;
-- 
cgit v1.2.1


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

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