You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| test FCARG1d, (ZEND_CALL_TOP|ZEND_CALL_HAS_SYMBOL_TABLE|ZEND_CALL_FREE_EXTRA_ARGS|ZEND_CALL_ALLOCATED|ZEND_CALL_HAS_EXTRA_NAMED_PARAMS|ZEND_CALL_FAKE_CLOSURE)
10202
-
if (trace && trace->op != ZEND_JIT_TRACE_END) {
10203
-
| jnz >1
10204
-
|.cold_code
10205
-
|1:
10206
-
if (!GCC_GLOBAL_REGS) {
10207
-
| mov FCARG2a, FP
10208
-
}
10209
-
| EXT_CALL zend_jit_leave_func_helper, r0
10197
+
static int zend_jit_leave_func(dasm_State **Dst, const zend_op_array *op_array, zend_jit_trace_rec *trace, zend_jit_trace_info *trace_info, int indirect_var_access, int may_throw)
10198
+
{
10199
+
zend_bool may_be_top_frame =
10200
+
JIT_G(trigger) != ZEND_JIT_ON_HOT_TRACE ||
10201
+
!JIT_G(current_frame) ||
10202
+
!TRACE_FRAME_IS_NESTED(JIT_G(current_frame));
10203
+
zend_bool may_need_call_helper =
10204
+
indirect_var_access || /* may have symbol table */
10205
+
!op_array->function_name || /* may have symbol table */
10206
+
may_be_top_frame ||
10207
+
(op_array->fn_flags & ZEND_ACC_VARIADIC) || /* may have extra named args */
10208
+
JIT_G(trigger) != ZEND_JIT_ON_HOT_TRACE ||
10209
+
!JIT_G(current_frame) ||
10210
+
TRACE_FRAME_NUM_ARGS(JIT_G(current_frame)) == -1 || /* unknown number of args */
10211
+
(uint32_t)TRACE_FRAME_NUM_ARGS(JIT_G(current_frame)) > op_array->num_args; /* extra args */
/* ZEND_CALL_FAKE_CLOSURE handled on slow path to eliminate check for ZEND_CALL_CLOSURE on fast path */
10225
+
| test FCARG1d, (ZEND_CALL_TOP|ZEND_CALL_HAS_SYMBOL_TABLE|ZEND_CALL_FREE_EXTRA_ARGS|ZEND_CALL_ALLOCATED|ZEND_CALL_HAS_EXTRA_NAMED_PARAMS|ZEND_CALL_FAKE_CLOSURE)
0 commit comments