Add a return value to zend_jit_undefined_op_helper(), so we can
check for exception based on the return value, instead of fetching
EG(exception).
return retval;
}
-static void ZEND_FASTCALL zend_jit_undefined_op_helper(uint32_t var)
+static int ZEND_FASTCALL zend_jit_undefined_op_helper(uint32_t var)
{
const zend_execute_data *execute_data = EG(current_execute_data);
zend_string *cv = EX(func)->op_array.vars[EX_VAR_TO_NUM(var)];
zend_error(E_WARNING, "Undefined variable $%s", ZSTR_VAL(cv));
+ return EG(exception) == NULL;
}
static void ZEND_FASTCALL zend_jit_fetch_dim_r_helper(zend_array *ht, zval *dim, zval *result)
| mov FCARG1d, opline->op1.var
| EXT_CALL zend_jit_undefined_op_helper, r0
| SET_ZVAL_TYPE_INFO arg_addr, IS_NULL
+ | test r0, r0
+ | jz ->exception_handler
if (op1_info & (MAY_BE_ANY|MAY_BE_REF)) {
| jmp >7