ruby-changes:69270
From: Maxime <ko1@a...>
Date: Thu, 21 Oct 2021 08:24:25 +0900 (JST)
Subject: [ruby-changes:69270] 79015926eb (master): Try to get getblockparamproxy to support level > 0
https://git.ruby-lang.org/ruby.git/commit/?id=79015926eb From 79015926eb81ac93700146d42c343f568d3ddfbb Mon Sep 17 00:00:00 2001 From: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@s...> Date: Fri, 24 Sep 2021 11:08:23 -0400 Subject: Try to get getblockparamproxy to support level > 0 --- yjit_codegen.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/yjit_codegen.c b/yjit_codegen.c index c0c27029ca..c05ec53a38 100644 --- a/yjit_codegen.c +++ b/yjit_codegen.c @@ -4133,15 +4133,10 @@ gen_getblockparamproxy(jitstate_t* jit, ctx_t* ctx, codeblock_t* cb) https://github.com/ruby/ruby/blob/trunk/yjit_codegen.c#L4133 uint8_t *side_exit = yjit_side_exit(jit, ctx); // EP level - VALUE level = jit_get_arg(jit, 1); - - if (level != 0) { - // Bail on non zero level to make getting the ep simple - return YJIT_CANT_COMPILE; - } + uint32_t level = (uint32_t)jit_get_arg(jit, 1); // Load environment pointer EP from CFP - mov(cb, REG0, member_opnd(REG_CFP, rb_control_frame_t, ep)); + gen_get_ep(cb, REG0, level); // Bail when VM_ENV_FLAGS(ep, VM_FRAME_FLAG_MODIFIED_BLOCK_PARAM) is non zero test(cb, mem_opnd(64, REG0, SIZEOF_VALUE * VM_ENV_DATA_INDEX_FLAGS), imm_opnd(VM_FRAME_FLAG_MODIFIED_BLOCK_PARAM)); -- cgit v1.2.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/