Lines Matching refs:exit_point
378 uint32_t exit_point = zend_jit_exit_point_by_addr(addr); in zend_jit_get_veneer() local
380 if (exit_point != (uint32_t)-1) { in zend_jit_get_veneer()
383 ZEND_ASSERT(exit_point < t->exit_count); in zend_jit_get_veneer()
384 return (const void*)((char*)ctx->deoptimization_exits_base + (exit_point * 4)); in zend_jit_get_veneer()
394 uint32_t exit_point = zend_jit_exit_point_by_addr(addr); in zend_jit_set_veneer() local
396 if (exit_point != (uint32_t)-1) { in zend_jit_set_veneer()
623 uint32_t exit_point = 0, n = 0; in jit_SNAPSHOT() local
628 exit_point = t->exit_count - 1; in jit_SNAPSHOT()
629 if (t->exit_info[exit_point].flags & ZEND_JIT_EXIT_METHOD_CALL) { in jit_SNAPSHOT()
662 ir_SNAPSHOT_SET_OP(snapshot, snapshot_size + 1, t->exit_info[exit_point].poly_func_ref); in jit_SNAPSHOT()
663 ir_SNAPSHOT_SET_OP(snapshot, snapshot_size + 2, t->exit_info[exit_point].poly_this_ref); in jit_SNAPSHOT()
686 uint32_t zend_jit_duplicate_exit_point(ir_ctx *ctx, zend_jit_trace_info *t, uint32_t exit_point, ir… in zend_jit_duplicate_exit_point() argument
693 return exit_point; in zend_jit_duplicate_exit_point()
697 memcpy(&t->exit_info[new_exit_point], &t->exit_info[exit_point], sizeof(zend_jit_trace_exit_info)); in zend_jit_duplicate_exit_point()
715 uint32_t exit_point, exit_flags; in zend_jit_snapshot_handler() local
719 exit_point = zend_jit_exit_point_by_addr(addr); in zend_jit_snapshot_handler()
720 ZEND_ASSERT(exit_point < t->exit_count); in zend_jit_snapshot_handler()
721 exit_flags = t->exit_info[exit_point].flags; in zend_jit_snapshot_handler()
728 && (t->exit_info[exit_point].poly_func_reg != reg_ops[n - 1] in zend_jit_snapshot_handler()
729 || t->exit_info[exit_point].poly_this_reg != reg_ops[n])) { in zend_jit_snapshot_handler()
730 exit_point = zend_jit_duplicate_exit_point(ctx, t, exit_point, snapshot_ref); in zend_jit_snapshot_handler()
731 addr = (void*)zend_jit_trace_get_exit_addr(exit_point); in zend_jit_snapshot_handler()
734 t->exit_info[exit_point].poly_func_reg = reg_ops[n - 1]; in zend_jit_snapshot_handler()
735 t->exit_info[exit_point].poly_this_reg = reg_ops[n]; in zend_jit_snapshot_handler()
747 ZEND_ASSERT(var < t->exit_info[exit_point].stack_size); in zend_jit_snapshot_handler()
748 if (t->stack_map[t->exit_info[exit_point].stack_offset + var].flags == ZREG_ZVAL_COPY) { in zend_jit_snapshot_handler()
751 && t->stack_map[t->exit_info[exit_point].stack_offset + var].reg != IR_REG_NUM(reg)) { in zend_jit_snapshot_handler()
752 exit_point = zend_jit_duplicate_exit_point(ctx, t, exit_point, snapshot_ref); in zend_jit_snapshot_handler()
753 addr = (void*)zend_jit_trace_get_exit_addr(exit_point); in zend_jit_snapshot_handler()
756 t->stack_map[t->exit_info[exit_point].stack_offset + var].reg = IR_REG_NUM(reg); in zend_jit_snapshot_handler()
757 } else if (t->stack_map[t->exit_info[exit_point].stack_offset + var].flags != ZREG_CONST) { in zend_jit_snapshot_handler()
758 ZEND_ASSERT(t->stack_map[t->exit_info[exit_point].stack_offset + var].type == IS_LONG || in zend_jit_snapshot_handler()
759 t->stack_map[t->exit_info[exit_point].stack_offset + var].type == IS_DOUBLE); in zend_jit_snapshot_handler()
767 && (t->stack_map[t->exit_info[exit_point].stack_offset + var].ref != ref in zend_jit_snapshot_handler()
768 || t->stack_map[t->exit_info[exit_point].stack_offset + var].reg != ZREG_NONE in zend_jit_snapshot_handler()
769 || !(t->stack_map[t->exit_info[exit_point].stack_offset + var].flags & ZREG_SPILL_SLOT))) { in zend_jit_snapshot_handler()
770 exit_point = zend_jit_duplicate_exit_point(ctx, t, exit_point, snapshot_ref); in zend_jit_snapshot_handler()
771 addr = (void*)zend_jit_trace_get_exit_addr(exit_point); in zend_jit_snapshot_handler()
774 t->stack_map[t->exit_info[exit_point].stack_offset + var].ref = ref; in zend_jit_snapshot_handler()
775 t->stack_map[t->exit_info[exit_point].stack_offset + var].reg = ZREG_NONE; in zend_jit_snapshot_handler()
776 t->stack_map[t->exit_info[exit_point].stack_offset + var].flags |= ZREG_SPILL_SLOT; in zend_jit_snapshot_handler()
780 && (t->stack_map[t->exit_info[exit_point].stack_offset + var].reg != ZREG_NONE in zend_jit_snapshot_handler()
781 || t->stack_map[t->exit_info[exit_point].stack_offset + var].flags != ZREG_TYPE_ONLY)) { in zend_jit_snapshot_handler()
782 exit_point = zend_jit_duplicate_exit_point(ctx, t, exit_point, snapshot_ref); in zend_jit_snapshot_handler()
783 addr = (void*)zend_jit_trace_get_exit_addr(exit_point); in zend_jit_snapshot_handler()
786 t->stack_map[t->exit_info[exit_point].stack_offset + var].reg = ZREG_NONE; in zend_jit_snapshot_handler()
787 t->stack_map[t->exit_info[exit_point].stack_offset + var].flags = ZREG_TYPE_ONLY; in zend_jit_snapshot_handler()
790 && t->stack_map[t->exit_info[exit_point].stack_offset + var].reg != IR_REG_NUM(reg)) { in zend_jit_snapshot_handler()
791 exit_point = zend_jit_duplicate_exit_point(ctx, t, exit_point, snapshot_ref); in zend_jit_snapshot_handler()
792 addr = (void*)zend_jit_trace_get_exit_addr(exit_point); in zend_jit_snapshot_handler()
795 t->stack_map[t->exit_info[exit_point].stack_offset + var].reg = IR_REG_NUM(reg); in zend_jit_snapshot_handler()
799 && (t->stack_map[t->exit_info[exit_point].stack_offset + var].reg != ZREG_NONE in zend_jit_snapshot_handler()
800 || t->stack_map[t->exit_info[exit_point].stack_offset + var].flags != ZREG_TYPE_ONLY)) { in zend_jit_snapshot_handler()
801 exit_point = zend_jit_duplicate_exit_point(ctx, t, exit_point, snapshot_ref); in zend_jit_snapshot_handler()
802 addr = (void*)zend_jit_trace_get_exit_addr(exit_point); in zend_jit_snapshot_handler()
805 t->stack_map[t->exit_info[exit_point].stack_offset + var].flags = ZREG_TYPE_ONLY; in zend_jit_snapshot_handler()
809 t->stack_map[t->exit_info[exit_point].stack_offset + var].flags = ZREG_CONST; in zend_jit_snapshot_handler()
810 t->stack_map[t->exit_info[exit_point].stack_offset + var].ref = idx; in zend_jit_snapshot_handler()
815 t->exit_info[exit_point].flags |= ZEND_JIT_EXIT_FIXED; in zend_jit_snapshot_handler()
4679 int32_t exit_point; in zend_jit_inc_dec() local
4709 exit_point = zend_jit_trace_get_exit_point(opline + 1, 0); in zend_jit_inc_dec()
4710 exit_addr = zend_jit_trace_get_exit_addr(exit_point); in zend_jit_inc_dec()
4731 int32_t exit_point; in zend_jit_inc_dec() local
4743 exit_point = zend_jit_trace_get_exit_point(opline + 1, 0); in zend_jit_inc_dec()
4744 exit_addr = zend_jit_trace_get_exit_addr(exit_point); in zend_jit_inc_dec()
4995 int32_t exit_point; in zend_jit_math_long_long() local
5003 exit_point = zend_jit_trace_get_exit_point(opline + 1, 0); in zend_jit_math_long_long()
5010 exit_point = zend_jit_trace_get_exit_point(opline + 1, 0); in zend_jit_math_long_long()
5013 exit_point = zend_jit_trace_get_exit_point(opline, 0); in zend_jit_math_long_long()
5016 exit_addr = zend_jit_trace_get_exit_addr(exit_point); in zend_jit_math_long_long()
5023 int32_t exit_point = zend_jit_trace_get_exit_point(opline, 0); in zend_jit_math_long_long() local
5024 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point); in zend_jit_math_long_long()
6316 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); in zend_jit_assign_to_variable_call() local
6317 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point); in zend_jit_assign_to_variable_call()
7913 int32_t exit_point; in zend_jit_guard_fetch_result_type() local
7949 exit_point = zend_jit_trace_get_exit_point(opline+1, flags); in zend_jit_guard_fetch_result_type()
7950 res_exit_addr = zend_jit_trace_get_exit_addr(exit_point); in zend_jit_guard_fetch_result_type()
7961 exit_point = zend_jit_trace_get_exit_point(opline+1, flags); in zend_jit_guard_fetch_result_type()
7962 res_exit_addr = zend_jit_trace_get_exit_addr(exit_point); in zend_jit_guard_fetch_result_type()
8334 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); in zend_jit_stack_check() local
8335 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point); in zend_jit_stack_check()
8444 int32_t exit_point = zend_jit_trace_get_exit_point(opline, local
8447 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
8454 jit->trace->exit_info[exit_point].poly_func_ref = func_ref;
8455 jit->trace->exit_info[exit_point].poly_this_ref = this_ref;
8629 int32_t exit_point; local
8648 exit_point = zend_jit_trace_get_exit_point(to_opline, ZEND_JIT_EXIT_POLYMORPHISM);
8649 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
8777 int32_t exit_point = zend_jit_trace_get_exit_point(opline, local
8779 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
8906 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
8907 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
9007 int32_t exit_point; local
9010 …exit_point = zend_jit_trace_get_exit_point(opline, func ? ZEND_JIT_EXIT_INVALIDATE : ZEND_JIT_EXIT…
9011 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
9016 jit->trace->exit_info[exit_point].poly_func_ref = func_ref;
9017 jit->trace->exit_info[exit_point].poly_this_ref = this_ref;
9192 int32_t exit_point; local
9195 exit_point = zend_jit_trace_get_exit_point(opline, func ? ZEND_JIT_EXIT_INVALIDATE : 0);
9196 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
9303 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
9304 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
9328 int32_t exit_point; local
9333 exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_CLOSURE_CALL);
9334 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
9407 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
9408 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
9600 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
9601 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
9648 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
9649 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
9736 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
9737 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
10021 uint32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
10023 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
10328 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
10330 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
10594 int32_t exit_point = zend_jit_trace_get_exit_point(opline + 1, ZEND_JIT_EXIT_TO_VM); local
10596 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
10738 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
10739 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
11824 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
11825 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
11845 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_PACKED_GUARD); local
11846 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
12421 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
12422 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
12456 int32_t exit_point; local
12475 exit_point = zend_jit_trace_get_exit_point(opline+1, flags);
12477 not_found_exit_addr = zend_jit_trace_get_exit_addr(exit_point);
13254 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
13255 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
13474 int32_t exit_point = zend_jit_trace_get_exit_point(opline, 0); local
13475 not_found_exit_addr = zend_jit_trace_get_exit_addr(exit_point);
13639 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_PACKED_GUARD); local
13640 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
14017 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
14018 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
14053 int32_t exit_point = zend_jit_trace_get_exit_point(opline, 0); local
14054 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
14118 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
14119 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
14338 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
14339 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
14647 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
14648 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
14792 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
14793 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
14997 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
14998 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
15104 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
15105 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
15186 int32_t exit_point = zend_jit_trace_get_exit_point(opline, 0); local
15187 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
15425 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
15426 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
15527 int32_t exit_point = zend_jit_trace_get_exit_point(opline, ZEND_JIT_EXIT_TO_VM); local
15528 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
15608 int32_t exit_point = zend_jit_trace_get_exit_point(opline, 0); local
15609 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
15778 int32_t exit_point; local
15782 exit_point = zend_jit_trace_get_exit_point(opline + 1, 0);
15783 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
16062 int32_t exit_point; local
16069 exit_point = zend_jit_trace_get_exit_point(default_opline, 0);
16070 default_label = zend_jit_trace_get_exit_addr(exit_point);
16083 exit_point = zend_jit_trace_get_exit_point(opline + 1, 0);
16084 fallback_label = zend_jit_trace_get_exit_addr(exit_point);
16165 exit_point = zend_jit_trace_get_exit_point(target, 0);
16166 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
16210 exit_point = zend_jit_trace_get_exit_point(opline + 1, 0);
16211 fallback_label = zend_jit_trace_get_exit_addr(exit_point);
16290 exit_point = zend_jit_trace_get_exit_point(target, 0);
16291 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
16426 exit_point = zend_jit_trace_get_exit_point(target, 0);
16427 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
16701 int32_t exit_point = zend_jit_trace_get_exit_point(opline, 0); local
16702 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
16715 int32_t exit_point = zend_jit_trace_get_exit_point(opline, 0); local
16716 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
16729 uint32_t exit_point = zend_jit_trace_get_exit_point(opline, 0); local
16730 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
16742 uint32_t exit_point = zend_jit_trace_get_exit_point(NULL, 0); local
16743 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
16766 int32_t exit_point = zend_jit_trace_get_exit_point(opline, 0); local
16768 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
16800 int32_t exit_point = zend_jit_trace_get_exit_point(opline, 0); local
16802 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
16856 int32_t exit_point; local
16861 int32_t exit_point = zend_jit_trace_get_exit_point(opline, 0); local
16862 const void *exit_addr = zend_jit_trace_get_exit_addr(exit_point);
16884 exit_point = zend_jit_trace_get_exit_point(opline, 0);
16885 exit_addr = zend_jit_trace_get_exit_addr(exit_point);
16980 uint32_t exit_point; local
17033 exit_point = zend_jit_trace_get_exit_point(exit_opline, 0);
17034 exit_addr = zend_jit_trace_get_exit_addr(exit_point);