Lines Matching refs:dasm_state

892 static void *dasm_link_and_encode(dasm_State             **dasm_state,  in dasm_link_and_encode()  argument
920 zend_jit_label(dasm_state, ssa->cfg.blocks_count + b); in dasm_link_and_encode()
921 zend_jit_prologue(dasm_state); in dasm_link_and_encode()
935 if (!zend_jit_load_var(dasm_state, ssa->var_info[i].type, ssa->vars[i].var, ival->reg)) { in dasm_link_and_encode()
944 zend_jit_jmp(dasm_state, b); in dasm_link_and_encode()
948 ret = dasm_link(dasm_state, &size); in dasm_link_and_encode()
966 ret = dasm_encode(dasm_state, *dasm_ptr); in dasm_link_and_encode()
985 zend_jit_trace_add_code(entry, dasm_getpclabel(dasm_state, 1)); in dasm_link_and_encode()
998 int offset = dasm_getpclabel(dasm_state, ssa->cfg.blocks_count + b); in dasm_link_and_encode()
1008 int offset = dasm_getpclabel(dasm_state, ssa->cfg.blocks_count + b); in dasm_link_and_encode()
2685 dasm_State* dasm_state = NULL; in zend_jit() local
2732 dasm_init(&dasm_state, DASM_MAXSECTION); in zend_jit()
2733 dasm_setupglobal(&dasm_state, dasm_labels, zend_lb_MAX); in zend_jit()
2734 dasm_setup(&dasm_state, dasm_actions); in zend_jit()
2736 dasm_growpc(&dasm_state, ssa->cfg.blocks_count * 2 + 1); in zend_jit()
2738 zend_jit_align_func(&dasm_state); in zend_jit()
2756 zend_jit_jmp(&dasm_state, b); in zend_jit()
2759 zend_jit_label(&dasm_state, ssa->cfg.blocks_count + b); in zend_jit()
2760 zend_jit_prologue(&dasm_state); in zend_jit()
2770 zend_jit_jmp(&dasm_state, b); in zend_jit()
2772 zend_jit_label(&dasm_state, ssa->cfg.blocks_count + b); in zend_jit()
2774 zend_jit_label(&dasm_state, ssa->cfg.blocks_count + b + i); in zend_jit()
2776 zend_jit_prologue(&dasm_state); in zend_jit()
2784 zend_jit_jmp(&dasm_state, b); in zend_jit()
2785 zend_jit_label(&dasm_state, ssa->cfg.blocks_count + b); in zend_jit()
2786 zend_jit_prologue(&dasm_state); in zend_jit()
2802 zend_jit_label(&dasm_state, ssa->cfg.blocks_count + b); in zend_jit()
2803 zend_jit_prologue(&dasm_state); in zend_jit()
2808 zend_jit_jmp(&dasm_state, b); in zend_jit()
2813 dasm_free(&dasm_state); in zend_jit()
2820 zend_jit_label(&dasm_state, ssa->cfg.blocks_count + b); in zend_jit()
2821 zend_jit_prologue(&dasm_state); in zend_jit()
2828 dasm_free(&dasm_state); in zend_jit()
2835 zend_jit_label(&dasm_state, ssa->cfg.blocks_count + b); in zend_jit()
2836 zend_jit_prologue(&dasm_state); in zend_jit()
2842 zend_jit_label(&dasm_state, b); in zend_jit()
2851 if (!zend_jit_set_ip(&dasm_state, op_array->opcodes + ssa->cfg.blocks[b].start)) { in zend_jit()
2863 if (!zend_jit_check_timeout(&dasm_state, op_array->opcodes + ssa->cfg.blocks[b].start, NULL)) { in zend_jit()
2880 …if (!zend_jit_load_var(&dasm_state, ssa->var_info[phi->ssa_var].type, ssa->vars[phi->ssa_var].var,… in zend_jit()
2886 …if (!zend_jit_store_var(&dasm_state, ssa->var_info[phi->ssa_var].type, ssa->vars[phi->ssa_var].var… in zend_jit()
2946 if (!zend_jit_inc_dec(&dasm_state, opline, in zend_jit()
2981 if (!zend_jit_reuse_ip(&dasm_state)) { in zend_jit()
3000 if (!zend_jit_long_math(&dasm_state, opline, in zend_jit()
3035 if (!zend_jit_reuse_ip(&dasm_state)) { in zend_jit()
3058 …if (!zend_jit_add_arrays(&dasm_state, opline, op1_info, OP1_REG_ADDR(), op2_info, OP2_REG_ADDR(), … in zend_jit()
3062 if (!zend_jit_math(&dasm_state, opline, in zend_jit()
3091 if (!zend_jit_reuse_ip(&dasm_state)) { in zend_jit()
3095 if (!zend_jit_concat(&dasm_state, opline, in zend_jit()
3115 if (!zend_jit_assign_op(&dasm_state, opline, in zend_jit()
3134 if (!zend_jit_assign_dim_op(&dasm_state, opline, in zend_jit()
3148 if (!zend_jit_assign_dim(&dasm_state, opline, in zend_jit()
3192 if (!zend_jit_incdec_obj(&dasm_state, opline, op_array, ssa, ssa_op, in zend_jit()
3240 if (!zend_jit_assign_obj_op(&dasm_state, opline, op_array, ssa, ssa_op, in zend_jit()
3281 if (!zend_jit_assign_obj(&dasm_state, opline, op_array, ssa, ssa_op, in zend_jit()
3319 if (!zend_jit_reuse_ip(&dasm_state)) { in zend_jit()
3324 if (!zend_jit_assign(&dasm_state, opline, in zend_jit()
3342 if (!zend_jit_qm_assign(&dasm_state, opline, in zend_jit()
3351 … if (!zend_jit_init_fcall(&dasm_state, opline, b, op_array, ssa, ssa_op, call_level, NULL, 0)) { in zend_jit()
3365 if (!zend_jit_send_val(&dasm_state, opline, in zend_jit()
3375 if (!zend_jit_send_ref(&dasm_state, opline, op_array, in zend_jit()
3402 if (!zend_jit_send_var(&dasm_state, opline, op_array, in zend_jit()
3415 if (!zend_jit_check_func_arg(&dasm_state, opline)) { in zend_jit()
3420 if (!zend_jit_check_undef_args(&dasm_state, opline)) { in zend_jit()
3430 if (!zend_jit_do_fcall(&dasm_state, opline, op_array, ssa, call_level, b + 1, NULL)) { in zend_jit()
3461 if (!zend_jit_cmp(&dasm_state, opline, in zend_jit()
3489 if (!zend_jit_identical(&dasm_state, opline, in zend_jit()
3514 …if (!zend_jit_defined(&dasm_state, opline, smart_branch_opcode, target_label, target_label2, NULL)… in zend_jit()
3537 …if (!zend_jit_type_check(&dasm_state, opline, OP1_INFO(), smart_branch_opcode, target_label, targe… in zend_jit()
3549 if (!zend_jit_tail_handler(&dasm_state, opline)) { in zend_jit()
3556 if (!zend_jit_return(&dasm_state, opline, op_array, in zend_jit()
3561 if (!zend_jit_jmp(&dasm_state, jit_return_label)) { in zend_jit()
3567 if (!zend_jit_label(&dasm_state, jit_return_label)) { in zend_jit()
3572 if (!zend_jit_free_cvs(&dasm_state)) { in zend_jit()
3584 if (!zend_jit_leave_frame(&dasm_state)) { in zend_jit()
3588 if (!zend_jit_free_cv(&dasm_state, info, j)) { in zend_jit()
3594 if (!zend_jit_leave_func(&dasm_state, op_array, opline, op1_info, left_frame, in zend_jit()
3602 if (!zend_jit_bool_jmpznz(&dasm_state, opline, in zend_jit()
3615 if (!zend_jit_cond_jmp(&dasm_state, opline + 1, ssa->cfg.blocks[b].successors[0])) { in zend_jit()
3628 if (!zend_jit_bool_jmpznz(&dasm_state, opline, in zend_jit()
3655 if (!zend_jit_isset_isempty_cv(&dasm_state, opline, in zend_jit()
3684 if (!zend_jit_in_array(&dasm_state, opline, in zend_jit()
3697 if (!zend_jit_fetch_dim_read(&dasm_state, opline, ssa, ssa_op, in zend_jit()
3713 if (!zend_jit_fetch_dim(&dasm_state, opline, in zend_jit()
3740 if (!zend_jit_isset_isempty_dim(&dasm_state, opline, in zend_jit()
3783 if (!zend_jit_fetch_obj(&dasm_state, opline, op_array, ssa, ssa_op, in zend_jit()
3796 if (!zend_jit_bind_global(&dasm_state, opline, op1_info)) { in zend_jit()
3801 if (!zend_jit_recv(&dasm_state, opline, op_array)) { in zend_jit()
3806 if (!zend_jit_recv_init(&dasm_state, opline, op_array, in zend_jit()
3814 if (!zend_jit_free(&dasm_state, opline, OP1_INFO(), in zend_jit()
3824 if (!zend_jit_echo(&dasm_state, opline, op1_info)) { in zend_jit()
3833 if (!zend_jit_strlen(&dasm_state, opline, op1_info, OP1_REG_ADDR(), RES_REG_ADDR())) { in zend_jit()
3842 …if (!zend_jit_count(&dasm_state, opline, op1_info, OP1_REG_ADDR(), RES_REG_ADDR(), zend_may_throw(… in zend_jit()
3847 if (!zend_jit_fetch_this(&dasm_state, opline, op_array, 0)) { in zend_jit()
3854 if (!zend_jit_switch(&dasm_state, opline, op_array, ssa, NULL, NULL)) { in zend_jit()
3875 if (!zend_jit_verify_return_type(&dasm_state, opline, op_array, OP1_INFO())) { in zend_jit()
3884 if (!zend_jit_fe_reset(&dasm_state, opline, op1_info)) { in zend_jit()
3893 if (!zend_jit_fe_fetch(&dasm_state, opline, op1_info, OP2_INFO(), in zend_jit()
3899 if (!zend_jit_fetch_constant(&dasm_state, opline, op_array, ssa, ssa_op, RES_REG_ADDR())) { in zend_jit()
3934 if (!zend_jit_init_method_call(&dasm_state, opline, b, op_array, ssa, ssa_op, call_level, in zend_jit()
3947 if (!zend_jit_rope(&dasm_state, opline, op2_info)) { in zend_jit()
3962 if (!zend_jit_handler(&dasm_state, opline, in zend_jit()
3977 if (!zend_jit_tail_handler(&dasm_state, opline)) { in zend_jit()
3985 if (!zend_jit_set_ip(&dasm_state, target)) { in zend_jit()
3989 if (!zend_jit_jmp(&dasm_state, ssa->cfg.blocks[b].successors[0])) { in zend_jit()
4006 if (!zend_jit_tail_handler(&dasm_state, opline)) { in zend_jit()
4016 if (!zend_jit_call(&dasm_state, opline, b + 1)) { in zend_jit()
4026 if (!zend_jit_cond_jmp(&dasm_state, opline + 1, ssa->cfg.blocks[b].successors[0])) { in zend_jit()
4042 if (!zend_jit_handler(&dasm_state, opline, in zend_jit()
4044 !zend_jit_cond_jmp(&dasm_state, opline + 1, ssa->cfg.blocks[b].successors[0])) { in zend_jit()
4049 if (!zend_jit_handler(&dasm_state, opline, 1)) { in zend_jit()
4077 zend_jit_cond_jmp(&dasm_state, next_opline, ssa->cfg.blocks[b].successors[0]); in zend_jit()
4079 zend_jit_call(&dasm_state, next_opline, b + 1); in zend_jit()
4082 zend_jit_do_fcall(&dasm_state, next_opline, op_array, ssa, call_level, b + 1, NULL); in zend_jit()
4091 if (!zend_jit_handler(&dasm_state, opline, in zend_jit()
4098 if (!zend_jit_cond_jmp(&dasm_state, opline + 2, ssa->cfg.blocks[b+1].successors[0])) { in zend_jit()
4101 if (!zend_jit_jmp(&dasm_state, ssa->cfg.blocks[b+1].successors[1])) { in zend_jit()
4119 handler = dasm_link_and_encode(&dasm_state, op_array, ssa, rt_opline, ra, NULL, 0, in zend_jit()
4124 dasm_free(&dasm_state); in zend_jit()
4132 if (dasm_state) { in zend_jit()
4133 dasm_free(&dasm_state); in zend_jit()
4718 dasm_State* dasm_state = NULL; in zend_jit_make_stubs() local
4721 dasm_init(&dasm_state, DASM_MAXSECTION); in zend_jit_make_stubs()
4722 dasm_setupglobal(&dasm_state, dasm_labels, zend_lb_MAX); in zend_jit_make_stubs()
4725 dasm_setup(&dasm_state, dasm_actions); in zend_jit_make_stubs()
4726 if (!zend_jit_stubs[i].stub(&dasm_state)) { in zend_jit_make_stubs()
4729 if (!dasm_link_and_encode(&dasm_state, NULL, NULL, NULL, NULL, zend_jit_stubs[i].name, 0, in zend_jit_make_stubs()
4737 dasm_free(&dasm_state); in zend_jit_make_stubs()