Lines Matching refs:frame
441 static zend_jit_trace_stack_frame* zend_jit_trace_call_frame(zend_jit_trace_stack_frame *frame, con… in zend_jit_trace_call_frame() argument
443 return (zend_jit_trace_stack_frame*)((char*)frame + zend_jit_trace_frame_size(op_array, num_args)); in zend_jit_trace_call_frame()
446 static zend_jit_trace_stack_frame* zend_jit_trace_ret_frame(zend_jit_trace_stack_frame *frame, cons… in zend_jit_trace_ret_frame() argument
448 return (zend_jit_trace_stack_frame*)((char*)frame - zend_jit_trace_frame_size(op_array, 0)); in zend_jit_trace_ret_frame()
1336 zend_jit_trace_stack_frame *frame, *top, *call; in zend_jit_trace_build_tssa() local
1468 …JIT_G(current_frame) = frame = (zend_jit_trace_stack_frame*)((char*)zend_arena_alloc(&CG(arena), s… in zend_jit_trace_build_tssa()
1525 stack = frame->stack; in zend_jit_trace_build_tssa()
1560 frame = zend_jit_trace_call_frame(frame, op_array, 0); in zend_jit_trace_build_tssa()
1561 stack = frame->stack; in zend_jit_trace_build_tssa()
1573 frame = zend_jit_trace_ret_frame(frame, op_array); in zend_jit_trace_build_tssa()
1574 stack = frame->stack; in zend_jit_trace_build_tssa()
1779 frame = JIT_G(current_frame); in zend_jit_trace_build_tssa()
1780 top = zend_jit_trace_call_frame(frame, op_array, 0); in zend_jit_trace_build_tssa()
1781 TRACE_FRAME_INIT(frame, op_array, 0, 0); in zend_jit_trace_build_tssa()
1782 TRACE_FRAME_SET_RETURN_SSA_VAR(frame, -1); in zend_jit_trace_build_tssa()
1783 frame->used_stack = 0; in zend_jit_trace_build_tssa()
1998 if (!frame in zend_jit_trace_build_tssa()
1999 || !frame->call in zend_jit_trace_build_tssa()
2000 || !frame->call->func in zend_jit_trace_build_tssa()
2001 || !TRACE_FRAME_IS_LAST_SEND_BY_VAL(frame->call)) { in zend_jit_trace_build_tssa()
2132 if (frame->call in zend_jit_trace_build_tssa()
2133 && frame->call->func in zend_jit_trace_build_tssa()
2134 && frame->call->func->type == ZEND_USER_FUNCTION in zend_jit_trace_build_tssa()
2135 && opline->op2.num <= frame->call->func->op_array.num_args) { in zend_jit_trace_build_tssa()
2144 if (frame->call->func->op_array.fn_flags & ZEND_ACC_HAS_TYPE_HINTS) { in zend_jit_trace_build_tssa()
2147 ZEND_ASSERT(frame->call->func->op_array.arg_info); in zend_jit_trace_build_tssa()
2148 arg_info = &frame->call->func->op_array.arg_info[opline->op2.num - 1]; in zend_jit_trace_build_tssa()
2165 if (ARG_SHOULD_BE_SENT_BY_REF(frame->call->func, opline->op2.num)) { in zend_jit_trace_build_tssa()
2168 SET_STACK_INFO(frame->call->stack, opline->op2.num - 1, info); in zend_jit_trace_build_tssa()
2194 if (!frame in zend_jit_trace_build_tssa()
2195 || !frame->call in zend_jit_trace_build_tssa()
2196 || !frame->call->func) { in zend_jit_trace_build_tssa()
2202 TRACE_FRAME_SET_LAST_SEND_UNKNOWN(frame->call); in zend_jit_trace_build_tssa()
2205 if (ARG_SHOULD_BE_SENT_BY_REF(frame->call->func, opline->op2.num)) { in zend_jit_trace_build_tssa()
2206 TRACE_FRAME_SET_LAST_SEND_BY_REF(frame->call); in zend_jit_trace_build_tssa()
2208 TRACE_FRAME_SET_LAST_SEND_BY_VAL(frame->call); in zend_jit_trace_build_tssa()
2212 if (!frame in zend_jit_trace_build_tssa()
2213 || !frame->call in zend_jit_trace_build_tssa()
2214 || !frame->call->func in zend_jit_trace_build_tssa()
2215 || !TRACE_FRAME_IS_LAST_SEND_BY_VAL(frame->call)) { in zend_jit_trace_build_tssa()
2367 && frame in zend_jit_trace_build_tssa()
2368 && frame->call in zend_jit_trace_build_tssa()
2369 && frame->call->func in zend_jit_trace_build_tssa()
2370 && !ARG_SHOULD_BE_SENT_BY_REF(frame->call->func, opline->op2.num)) { in zend_jit_trace_build_tssa()
2458 call = frame->call; in zend_jit_trace_build_tssa()
2468 frame->call = call->prev; in zend_jit_trace_build_tssa()
2469 call->prev = frame; in zend_jit_trace_build_tssa()
2471 frame = call; in zend_jit_trace_build_tssa()
2515 ssa_var_info[v].type &= STACK_INFO(frame->stack, i); in zend_jit_trace_build_tssa()
2569 if (TRACE_FRAME_RETURN_SSA_VAR(frame) >= 0) { in zend_jit_trace_build_tssa()
2570 ssa_var_info[TRACE_FRAME_RETURN_SSA_VAR(frame)] = return_value_info; in zend_jit_trace_build_tssa()
2578 top = frame; in zend_jit_trace_build_tssa()
2579 if (frame->prev) { in zend_jit_trace_build_tssa()
2581 used_stack -= frame->used_stack; in zend_jit_trace_build_tssa()
2583 frame = frame->prev; in zend_jit_trace_build_tssa()
2584 ZEND_ASSERT(&frame->func->op_array == op_array); in zend_jit_trace_build_tssa()
2587 frame = zend_jit_trace_ret_frame(frame, op_array); in zend_jit_trace_build_tssa()
2588 TRACE_FRAME_INIT(frame, op_array, 0, 0); in zend_jit_trace_build_tssa()
2589 TRACE_FRAME_SET_RETURN_SSA_VAR(frame, -1); in zend_jit_trace_build_tssa()
2590 frame->used_stack = 0; in zend_jit_trace_build_tssa()
2596 call->prev = frame->call; in zend_jit_trace_build_tssa()
2598 frame->call = call; in zend_jit_trace_build_tssa()
2622 frame->used_stack = zend_vm_calc_used_stack(opline->extended_value, (zend_function*)p->func); in zend_jit_trace_build_tssa()
2623 used_stack += frame->used_stack; in zend_jit_trace_build_tssa()
2634 call = frame->call; in zend_jit_trace_build_tssa()
2637 frame->call = call->prev; in zend_jit_trace_build_tssa()
2850 zend_jit_trace_stack_frame *frame; in zend_jit_trace_allocate_registers() local
2866 frame = JIT_G(current_frame); in zend_jit_trace_allocate_registers()
2867 frame->prev = NULL; in zend_jit_trace_allocate_registers()
2868 frame->func = (const zend_function*)op_array; in zend_jit_trace_allocate_registers()
2869 stack = frame->stack; in zend_jit_trace_allocate_registers()
3162 zend_jit_trace_stack_frame *prev_frame = frame; in zend_jit_trace_allocate_registers()
3173 frame = zend_jit_trace_call_frame(frame, op_array, 0); in zend_jit_trace_allocate_registers()
3174 frame->prev = prev_frame; in zend_jit_trace_allocate_registers()
3175 frame->func = (const zend_function*)p->op_array; in zend_jit_trace_allocate_registers()
3176 stack = frame->stack; in zend_jit_trace_allocate_registers()
3207 frame = zend_jit_trace_ret_frame(frame, op_array); in zend_jit_trace_allocate_registers()
3208 stack = frame->stack; in zend_jit_trace_allocate_registers()
3211 frame->prev = NULL; in zend_jit_trace_allocate_registers()
3212 frame->func = (const zend_function*)op_array; in zend_jit_trace_allocate_registers()
3895 zend_jit_trace_stack_frame *frame) in zend_jit_trace_next_is_send_result() argument
3902 && frame in zend_jit_trace_next_is_send_result()
3903 && frame->call in zend_jit_trace_next_is_send_result()
3904 && frame->call->func in zend_jit_trace_next_is_send_result()
3905 && !ARG_MUST_BE_SENT_BY_REF(frame->call->func, (opline+1)->op2.num))) in zend_jit_trace_next_is_send_result()
3910 if (frame->call && frame->call->func) { in zend_jit_trace_next_is_send_result()
3914 zend_jit_trace_send_type(opline+1, frame->call, res_type); in zend_jit_trace_next_is_send_result()
4101 zend_jit_trace_stack_frame *frame, *top, *call; in zend_jit_trace() local
4138 frame = JIT_G(current_frame); in zend_jit_trace()
4139 top = zend_jit_trace_call_frame(frame, op_array, 0); in zend_jit_trace()
4140 TRACE_FRAME_INIT(frame, op_array, TRACE_FRAME_MASK_UNKNOWN_RETURN, -1); in zend_jit_trace()
4141 frame->used_stack = checked_stack = peek_checked_stack = 0; in zend_jit_trace()
4142 stack = frame->stack; in zend_jit_trace()
4411 frame->call_level++; in zend_jit_trace()
4494 && zend_jit_trace_next_is_send_result(opline, p, frame)) { in zend_jit_trace()
4566 && zend_jit_trace_next_is_send_result(opline, p, frame)) { in zend_jit_trace()
4632 if (zend_jit_trace_next_is_send_result(opline, p, frame)) { in zend_jit_trace()
5124 && zend_jit_trace_next_is_send_result(opline, p, frame)) { in zend_jit_trace()
5149 && zend_jit_trace_next_is_send_result(opline, p, frame)) { in zend_jit_trace()
5244 …ray_ssa->cfg.map[opline - op_array->opcodes] : -1, op_array, ssa, ssa_op, frame->call_level, p + 1… in zend_jit_trace()
5264 if (frame->call && frame->call->func) { in zend_jit_trace()
5266 zend_jit_trace_send_type(opline, frame->call, Z_TYPE_P(RT_CONSTANT(opline, opline->op1))); in zend_jit_trace()
5271 zend_jit_trace_send_type(opline, frame->call, op1_type); in zend_jit_trace()
5336 if (frame->call && frame->call->func) { in zend_jit_trace()
5339 && ARG_SHOULD_BE_SENT_BY_REF(frame->call->func, opline->op2.num)) { in zend_jit_trace()
5346 zend_jit_trace_send_type(opline, frame->call, op1_type); in zend_jit_trace()
5379 if (!zend_jit_do_fcall(&ctx, opline, op_array, op_array_ssa, frame->call_level, -1, p + 1)) { in zend_jit_trace()
6371 op_array, ssa, ssa_op, frame->call_level, in zend_jit_trace()
6390 op_array, ssa, ssa_op, frame->call_level, in zend_jit_trace()
6402 …ray_ssa->cfg.map[opline - op_array->opcodes] : -1, op_array, ssa, ssa_op, frame->call_level, p + 1… in zend_jit_trace()
6477 frame->call_level--; in zend_jit_trace()
6837 call = frame->call; in zend_jit_trace()
6844 frame->call_opline = opline; in zend_jit_trace()
6866 JIT_G(current_frame) = frame; in zend_jit_trace()
6875 if (TRACE_FRAME_IS_THIS_CHECKED(frame)) { in zend_jit_trace()
6886 frame->call = call->prev; in zend_jit_trace()
6887 call->prev = frame; in zend_jit_trace()
6893 JIT_G(current_frame) = frame = call; in zend_jit_trace()
6894 stack = frame->stack; in zend_jit_trace()
6923 top = frame; in zend_jit_trace()
6924 if (frame->prev) { in zend_jit_trace()
6925 checked_stack = frame->old_checked_stack; in zend_jit_trace()
6926 peek_checked_stack = frame->old_peek_checked_stack; in zend_jit_trace()
6927 frame = frame->prev; in zend_jit_trace()
6928 stack = frame->stack; in zend_jit_trace()
6929 ZEND_ASSERT(&frame->func->op_array == op_array); in zend_jit_trace()
6931 frame = zend_jit_trace_ret_frame(frame, op_array); in zend_jit_trace()
6932 TRACE_FRAME_INIT(frame, op_array, TRACE_FRAME_MASK_UNKNOWN_RETURN, -1); in zend_jit_trace()
6933 frame->used_stack = checked_stack = peek_checked_stack = 0; in zend_jit_trace()
6934 stack = frame->stack; in zend_jit_trace()
6965 JIT_G(current_frame) = frame; in zend_jit_trace()
6987 call->prev = frame->call; in zend_jit_trace()
7016 frame->call = call; in zend_jit_trace()
7102 frame->call_level++; in zend_jit_trace()
7130 call = frame->call; in zend_jit_trace()
7135 frame->call = call->prev; in zend_jit_trace()
7325 frame = JIT_G(current_frame)->prev; in zend_jit_trace()
7327 if (frame->call_opline) { in zend_jit_trace()
7328 op_array = &frame->func->op_array; in zend_jit_trace()
7331 zend_jit_trace_setup_ret_counter(frame->call_opline, jit_extension->offset); in zend_jit_trace()
7333 frame = frame->prev; in zend_jit_trace()
7334 } while (frame); in zend_jit_trace()