From 83f6eee76cbffbfd363e0bd9d633914e257d68e8 Mon Sep 17 00:00:00 2001 From: Takashi Kokubun Date: Fri, 10 Mar 2023 14:14:38 -0800 Subject: [PATCH] YJIT: Bump SEND_MAX_DEPTH to 20 (#7469) * YJIT: Bump SEND_MAX_DEPTH to 20 * Fix a test failure --- yjit/src/codegen.rs | 7 ++++--- yjit/src/core.rs | 1 + 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/yjit/src/codegen.rs b/yjit/src/codegen.rs index e522372093..60e4847fe0 100644 --- a/yjit/src/codegen.rs +++ b/yjit/src/codegen.rs @@ -353,9 +353,10 @@ fn verify_ctx(jit: &JITState, ctx: &Context) { // If the actual type differs from the learned type if val_type.diff(learned_type) == TypeDiff::Incompatible { panic!( - "verify_ctx: ctx type ({:?}) incompatible with actual value on stack: {}", + "verify_ctx: ctx type ({:?}) incompatible with actual value on stack: {} ({:?})", learned_type, - obj_info_str(stack_val) + obj_info_str(stack_val), + val_type, ); } } @@ -1884,7 +1885,7 @@ pub const SET_IVAR_MAX_DEPTH: i32 = 10; pub const OPT_AREF_MAX_CHAIN_DEPTH: i32 = 2; // up to 10 different classes -pub const SEND_MAX_DEPTH: i32 = 10; +pub const SEND_MAX_DEPTH: i32 = 20; // up to 20 different methods for send pub const SEND_MAX_CHAIN_DEPTH: i32 = 20; diff --git a/yjit/src/core.rs b/yjit/src/core.rs index 0ddb875e65..4467145f73 100644 --- a/yjit/src/core.rs +++ b/yjit/src/core.rs @@ -141,6 +141,7 @@ impl Type { Type::HeapSymbol => true, Type::TString => true, Type::CString => true, + Type::BlockParamProxy => true, _ => false, } }