diff options
| author | Takashi Kokubun <takashikkbn@gmail.com> | 2024-02-20 17:23:08 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-20 17:23:08 -0800 |
| commit | ce4142bcb70cc345507f4479702ad3069e60565b (patch) | |
| tree | d398837f9c93de0d3aa4114b6d790a7741a416cd | |
| parent | 776dbbba7287a44ea789385ef41d59261459031b (diff) | |
YJIT: rb_str_concat_literals is not leaf (#10035)
| -rw-r--r-- | yjit/src/codegen.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/yjit/src/codegen.rs b/yjit/src/codegen.rs index e686a61de5..65af70bf4c 100644 --- a/yjit/src/codegen.rs +++ b/yjit/src/codegen.rs @@ -3064,8 +3064,8 @@ fn gen_concatstrings( ) -> Option<CodegenStatus> { let n = jit.get_arg(0).as_usize(); - // Save the PC and SP because we are allocating - jit_prepare_call_with_gc(jit, asm); + // rb_str_concat_literals may raise Encoding::CompatibilityError + jit_prepare_non_leaf_call(jit, asm); let values_ptr = asm.lea(asm.ctx.sp_opnd(-(SIZEOF_VALUE_I32 * n as i32))); |
