From 273c2de6a7faa532f70b1a1bedf978c90521fa96 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Wed, 15 May 2024 12:46:58 +0300 Subject: [PATCH] JIT: Fix incorrect PHP register allocation Fixes 2 of 3 recently introduced failures in "Nightly" "master_COMMUNUTY_asan" job --- ext/opcache/jit/zend_jit_trace.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ext/opcache/jit/zend_jit_trace.c b/ext/opcache/jit/zend_jit_trace.c index 8b1b0bd7e58..5a105b9523f 100644 --- a/ext/opcache/jit/zend_jit_trace.c +++ b/ext/opcache/jit/zend_jit_trace.c @@ -3034,7 +3034,8 @@ static zend_jit_reg_var* zend_jit_trace_allocate_registers(zend_jit_trace_rec *t && (ssa->vars[ssa_op->op1_def].use_chain >= 0 || ssa->vars[ssa_op->op1_def].phi_use_chain) && ssa->vars[ssa_op->op1_def].alias == NO_ALIAS - && zend_jit_var_supports_reg(ssa, ssa_op->op1_def)) { + && zend_jit_var_supports_reg(ssa, ssa_op->op1_def) + && !(ssa->var_info[ssa_op->op1_def].type & MAY_BE_GUARD)) { vars_op_array[ssa_op->op1_def] = op_array; RA_IVAL_START(ssa_op->op1_def, idx); count++;