diff options
author | Takashi Kokubun <takashikkbn@gmail.com> | 2023-04-24 12:20:52 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-24 12:20:52 -0700 |
commit | f492e3b4e5ed30f6a592a3b644228bd335af7284 (patch) | |
tree | 0d17f6097346fd015307f7361c52bd3e0379dedc | |
parent | f84d94b8039c1c44fd99690fd4b4e0184dab4fb5 (diff) | |
download | ruby-f492e3b4e5ed30f6a592a3b644228bd335af7284.tar.gz |
YJIT: Use general definedivar at the end of chains (#7756)
-rw-r--r-- | yjit/src/codegen.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/yjit/src/codegen.rs b/yjit/src/codegen.rs index 280b4e2c4c..c6f766f0fa 100644 --- a/yjit/src/codegen.rs +++ b/yjit/src/codegen.rs @@ -2417,7 +2417,7 @@ fn gen_definedivar( // Specialize base on compile time values let comptime_receiver = jit.peek_at_self(); - if comptime_receiver.shape_too_complex() { + if comptime_receiver.shape_too_complex() || asm.ctx.get_chain_depth() as i32 >= GET_IVAR_MAX_DEPTH { // Fall back to calling rb_ivar_defined // Save the PC and SP because the callee may allocate |