Lines Matching refs:opcode
56 zend_uchar opcode; member
81 static zend_op *zend_emit_op(znode *result, zend_uchar opcode, znode *op1, znode *op2);
651 info.opcode = free_opcode; in zend_begin_loop()
656 info.opcode = ZEND_NOP; in zend_begin_loop()
684 while (opline->opcode == ZEND_END_SILENCE) { in zend_do_free()
689 if (opline->opcode == ZEND_BOOL || opline->opcode == ZEND_BOOL_NOT) { in zend_do_free()
697 while (opline->opcode == ZEND_END_SILENCE || in zend_do_free()
698 opline->opcode == ZEND_EXT_FCALL_END || in zend_do_free()
699 opline->opcode == ZEND_OP_DATA) { in zend_do_free()
704 if (opline->opcode == ZEND_FETCH_THIS) { in zend_do_free()
705 opline->opcode = ZEND_NOP; in zend_do_free()
712 if ((opline->opcode == ZEND_FETCH_LIST_R || in zend_do_free()
713 opline->opcode == ZEND_FETCH_LIST_W) && in zend_do_free()
721 if (opline->opcode == ZEND_NEW) { in zend_do_free()
1154 if (opline->opcode == ZEND_DECLARE_CLASS_DELAYED) { in zend_build_delayed_early_binding_list()
1536 opline->opcode = ZEND_EXT_STMT; in zend_do_extended_stmt()
1550 opline->opcode = ZEND_EXT_FCALL_BEGIN; in zend_do_extended_fcall_begin()
1564 opline->opcode = ZEND_EXT_FCALL_END; in zend_do_extended_fcall_end()
1833 zend_uchar factor = (opline->opcode == ZEND_FETCH_STATIC_PROP_R) ? 1 : 3; in zend_adjust_for_fetch_type()
1841 opline->opcode += 1 * factor; in zend_adjust_for_fetch_type()
1844 opline->opcode += 2 * factor; in zend_adjust_for_fetch_type()
1849 opline->opcode += 3 * factor; in zend_adjust_for_fetch_type()
1852 opline->opcode += 4 * factor; in zend_adjust_for_fetch_type()
1855 opline->opcode += 5 * factor; in zend_adjust_for_fetch_type()
1878 static zend_op *zend_emit_op(znode *result, zend_uchar opcode, znode *op1, znode *op2) /* {{{ */ in zend_emit_op() argument
1881 opline->opcode = opcode; in zend_emit_op()
1898 static zend_op *zend_emit_op_tmp(znode *result, zend_uchar opcode, znode *op1, znode *op2) /* {{{ */ in zend_emit_op_tmp() argument
1901 opline->opcode = opcode; in zend_emit_op_tmp()
1924 …array)->last && CG(active_op_array)->opcodes[CG(active_op_array)->last - 1].opcode == ZEND_TICKS) { in zend_emit_tick()
1930 opline->opcode = ZEND_TICKS; in zend_emit_tick()
1952 switch (opline->opcode) { in zend_is_smart_branch()
1977 static inline uint32_t zend_emit_cond_jump(zend_uchar opcode, znode *cond, uint32_t opnum_target) /… in zend_emit_cond_jump() argument
1989 opline = zend_emit_op(NULL, opcode, cond, NULL); in zend_emit_cond_jump()
1998 switch (opline->opcode) { in zend_update_jump_target()
2021 static inline zend_op *zend_delayed_emit_op(znode *result, zend_uchar opcode, znode *op1, znode *op… in zend_delayed_emit_op() argument
2027 tmp_opline.opcode = opcode; in zend_delayed_emit_op()
2463 …if (opline && type == BP_VAR_W && (opline->opcode == ZEND_FETCH_STATIC_PROP_W || opline->opcode ==… in zend_delayed_compile_dim()
2512 …if (opline && type == BP_VAR_W && (opline->opcode == ZEND_FETCH_STATIC_PROP_W || opline->opcode ==… in zend_delayed_compile_prop()
2778 opline->opcode = ZEND_ASSIGN_STATIC_PROP; in zend_compile_assign()
2801 opline->opcode = ZEND_ASSIGN_DIM; in zend_compile_assign()
2811 opline->opcode = ZEND_ASSIGN_OBJ; in zend_compile_assign()
2886 if (opline && opline->opcode == ZEND_FETCH_OBJ_W) { in zend_compile_assign_ref()
2887 opline->opcode = ZEND_ASSIGN_OBJ_REF; in zend_compile_assign_ref()
2892 } else if (opline && opline->opcode == ZEND_FETCH_STATIC_PROP_W) { in zend_compile_assign_ref()
2893 opline->opcode = ZEND_ASSIGN_STATIC_PROP_REF; in zend_compile_assign_ref()
2919 uint32_t opcode = ast->attr; in zend_compile_compound_assign() local
2934 opline->extended_value = opcode; in zend_compile_compound_assign()
2943 opline->opcode = ZEND_ASSIGN_STATIC_PROP_OP; in zend_compile_compound_assign()
2944 opline->extended_value = opcode; in zend_compile_compound_assign()
2955 opline->opcode = ZEND_ASSIGN_DIM_OP; in zend_compile_compound_assign()
2956 opline->extended_value = opcode; in zend_compile_compound_assign()
2967 opline->opcode = ZEND_ASSIGN_OBJ_OP; in zend_compile_compound_assign()
2968 opline->extended_value = opcode; in zend_compile_compound_assign()
2991 zend_uchar opcode; in zend_compile_args() local
3016 opcode = ZEND_SEND_VAL_EX; in zend_compile_args()
3018 opcode = ZEND_SEND_VAL; in zend_compile_args()
3023 opcode = ZEND_SEND_VAR_NO_REF; in zend_compile_args()
3025 opcode = ZEND_SEND_VAL; in zend_compile_args()
3027 opcode = ZEND_SEND_VAR; in zend_compile_args()
3030 opcode = ZEND_SEND_VAR_NO_REF_EX; in zend_compile_args()
3036 opcode = ZEND_SEND_REF; in zend_compile_args()
3039 opcode = (arg_node.op_type == IS_TMP_VAR) ? ZEND_SEND_VAL : ZEND_SEND_VAR; in zend_compile_args()
3047 opcode = ZEND_SEND_VAR_EX; in zend_compile_args()
3051 opcode = ZEND_SEND_VAR_EX; in zend_compile_args()
3058 opcode = ZEND_SEND_FUNC_ARG; in zend_compile_args()
3067 opcode = ZEND_SEND_VAR_NO_REF; in zend_compile_args()
3069 opcode = ZEND_SEND_VAL; in zend_compile_args()
3071 opcode = ZEND_SEND_VAR; in zend_compile_args()
3074 opcode = ZEND_SEND_VAR_NO_REF_EX; in zend_compile_args()
3079 opcode = ZEND_SEND_REF; in zend_compile_args()
3081 opcode = ZEND_SEND_VAR; in zend_compile_args()
3084 opcode = ZEND_SEND_VAR_EX; in zend_compile_args()
3088 opcode = ZEND_SEND_VAL; in zend_compile_args()
3093 opcode = ZEND_SEND_VAL_EX; in zend_compile_args()
3098 opline = zend_emit_op(NULL, opcode, &arg_node, NULL); in zend_compile_args()
3111 if (init_op->opcode == ZEND_INIT_FCALL && !zend_execute_internal) { in zend_get_call_op()
3125 (init_op->opcode == ZEND_INIT_FCALL_BY_NAME || in zend_get_call_op()
3126 init_op->opcode == ZEND_INIT_NS_FCALL_BY_NAME)) { in zend_get_call_op()
3146 if (opline->opcode == ZEND_INIT_FCALL) { in zend_compile_call_common()
3171 opline->opcode = ZEND_INIT_NS_FCALL_BY_NAME; in zend_compile_ns_call()
3191 opline->opcode = ZEND_INIT_STATIC_METHOD_CALL; in zend_compile_dynamic_call()
3202 opline->opcode = ZEND_INIT_FCALL_BY_NAME; in zend_compile_dynamic_call()
3987 opline->opcode = ZEND_INIT_STATIC_METHOD_CALL; in zend_compile_static_call()
4176 opline->opcode = ZEND_UNSET_VAR; in zend_compile_unset()
4181 opline->opcode = ZEND_UNSET_DIM; in zend_compile_unset()
4185 opline->opcode = ZEND_UNSET_OBJ; in zend_compile_unset()
4189 opline->opcode = ZEND_UNSET_STATIC_PROP; in zend_compile_unset()
4206 if (loop_var->opcode == ZEND_FAST_CALL) { in zend_handle_loops_and_finally_ex()
4209 opline->opcode = ZEND_FAST_CALL; in zend_handle_loops_and_finally_ex()
4216 } else if (loop_var->opcode == ZEND_DISCARD_EXCEPTION) { in zend_handle_loops_and_finally_ex()
4218 opline->opcode = ZEND_DISCARD_EXCEPTION; in zend_handle_loops_and_finally_ex()
4221 } else if (loop_var->opcode == ZEND_RETURN) { in zend_handle_loops_and_finally_ex()
4226 } else if (loop_var->opcode == ZEND_NOP) { in zend_handle_loops_and_finally_ex()
4234 opline->opcode = loop_var->opcode; in zend_handle_loops_and_finally_ex()
4261 if (loop_var->opcode == ZEND_FAST_CALL) { in zend_has_finally_ex()
4263 } else if (loop_var->opcode == ZEND_DISCARD_EXCEPTION) { in zend_has_finally_ex()
4264 } else if (loop_var->opcode == ZEND_RETURN) { in zend_has_finally_ex()
4473 opline->opcode = ZEND_JMP; in zend_resolve_goto_label()
4990 fast_call.opcode = ZEND_FAST_CALL; in zend_compile_try()
5032 opline->opcode = ZEND_CATCH; in zend_compile_try()
5087 discard_exception.opcode = ZEND_DISCARD_EXCEPTION; in zend_compile_try()
5379 zend_uchar opcode; in zend_compile_params() local
5403 opcode = ZEND_RECV_VARIADIC; in zend_compile_params()
5415 opcode = ZEND_RECV_INIT; in zend_compile_params()
5420 opcode = ZEND_RECV; in zend_compile_params()
5499 opline = zend_emit_op(NULL, opcode, NULL, &default_node); in zend_compile_params()
5505 if (opline->opcode == ZEND_RECV_INIT) { in zend_compile_params()
5518 if (opline->opcode != ZEND_RECV_INIT) { in zend_compile_params()
5964 opline->opcode = ZEND_DECLARE_FUNCTION; in zend_begin_func_decl()
6048 dummy_var.opcode = ZEND_RETURN; in zend_compile_func_decl()
6581 opline->opcode = ZEND_DECLARE_ANON_CLASS; in zend_compile_class_decl()
6601 opline->opcode = ZEND_DECLARE_CLASS; in zend_compile_class_decl()
6608 opline->opcode = ZEND_DECLARE_CLASS_DELAYED; in zend_compile_class_decl()
6848 (CG(active_op_array)->opcodes[num-1].opcode == ZEND_EXT_STMT || in zend_compile_namespace()
6849 CG(active_op_array)->opcodes[num-1].opcode == ZEND_TICKS)) { in zend_compile_namespace()
7003 ZEND_API zend_bool zend_binary_op_produces_numeric_string_error(uint32_t opcode, zval *op1, zval *o… in zend_binary_op_produces_numeric_string_error() argument
7005 if (!(opcode == ZEND_ADD || opcode == ZEND_SUB || opcode == ZEND_MUL || opcode == ZEND_DIV in zend_binary_op_produces_numeric_string_error()
7006 || opcode == ZEND_POW || opcode == ZEND_MOD || opcode == ZEND_SL || opcode == ZEND_SR in zend_binary_op_produces_numeric_string_error()
7007 || opcode == ZEND_BW_OR || opcode == ZEND_BW_AND || opcode == ZEND_BW_XOR)) { in zend_binary_op_produces_numeric_string_error()
7013 if ((opcode == ZEND_BW_OR || opcode == ZEND_BW_AND || opcode == ZEND_BW_XOR) in zend_binary_op_produces_numeric_string_error()
7032 ZEND_API zend_bool zend_binary_op_produces_array_conversion_error(uint32_t opcode, zval *op1, zval … in zend_binary_op_produces_array_conversion_error() argument
7034 if (opcode == ZEND_CONCAT && (Z_TYPE_P(op1) == IS_ARRAY || Z_TYPE_P(op2) == IS_ARRAY)) { in zend_binary_op_produces_array_conversion_error()
7042 static inline zend_bool zend_try_ct_eval_binary_op(zval *result, uint32_t opcode, zval *op1, zval *… in zend_try_ct_eval_binary_op() argument
7044 binary_op_type fn = get_binary_op(opcode); in zend_try_ct_eval_binary_op()
7047 if ((opcode == ZEND_DIV || opcode == ZEND_MOD) && in zend_try_ct_eval_binary_op()
7050 } else if ((opcode == ZEND_SL || opcode == ZEND_SR) && in zend_try_ct_eval_binary_op()
7056 if (zend_binary_op_produces_numeric_string_error(opcode, op1, op2)) { in zend_try_ct_eval_binary_op()
7060 if (zend_binary_op_produces_array_conversion_error(opcode, op1, op2)) { in zend_try_ct_eval_binary_op()
7069 static inline void zend_ct_eval_unary_op(zval *result, uint32_t opcode, zval *op) /* {{{ */ in zend_ct_eval_unary_op() argument
7071 unary_op_type fn = get_unary_op(opcode); in zend_ct_eval_unary_op()
7220 uint32_t opcode = ast->attr; in zend_compile_binary_op() local
7222 …if ((opcode == ZEND_ADD || opcode == ZEND_SUB) && left_ast->kind == ZEND_AST_BINARY_OP && left_ast… in zend_compile_binary_op()
7225 …if ((opcode == ZEND_SL || opcode == ZEND_SR) && ((left_ast->kind == ZEND_AST_BINARY_OP && left_ast… in zend_compile_binary_op()
7228 if (opcode == ZEND_PARENTHESIZED_CONCAT) { in zend_compile_binary_op()
7229 opcode = ZEND_CONCAT; in zend_compile_binary_op()
7237 if (zend_try_ct_eval_binary_op(&result->u.constant, opcode, in zend_compile_binary_op()
7248 if (opcode == ZEND_IS_EQUAL || opcode == ZEND_IS_NOT_EQUAL) { in zend_compile_binary_op()
7251 opcode = (opcode == ZEND_IS_NOT_EQUAL) ? ZEND_BOOL : ZEND_BOOL_NOT; in zend_compile_binary_op()
7252 zend_emit_op_tmp(result, opcode, &right_node, NULL); in zend_compile_binary_op()
7255 opcode = (opcode == ZEND_IS_EQUAL) ? ZEND_BOOL : ZEND_BOOL_NOT; in zend_compile_binary_op()
7256 zend_emit_op_tmp(result, opcode, &right_node, NULL); in zend_compile_binary_op()
7261 opcode = (opcode == ZEND_IS_NOT_EQUAL) ? ZEND_BOOL : ZEND_BOOL_NOT; in zend_compile_binary_op()
7262 zend_emit_op_tmp(result, opcode, &left_node, NULL); in zend_compile_binary_op()
7265 opcode = (opcode == ZEND_IS_EQUAL) ? ZEND_BOOL : ZEND_BOOL_NOT; in zend_compile_binary_op()
7266 zend_emit_op_tmp(result, opcode, &left_node, NULL); in zend_compile_binary_op()
7271 if (opcode == ZEND_CONCAT) { in zend_compile_binary_op()
7288 opcode = ZEND_FAST_CONCAT; in zend_compile_binary_op()
7291 zend_emit_op_tmp(result, opcode, &left_node, &right_node); in zend_compile_binary_op()
7327 uint32_t opcode = ast->attr; in zend_compile_unary_op() local
7334 zend_ct_eval_unary_op(&result->u.constant, opcode, in zend_compile_unary_op()
7340 zend_emit_op_tmp(result, opcode, &expr_node, NULL); in zend_compile_unary_op()
7433 opline->opcode = ast->kind == ZEND_AST_POST_INC ? ZEND_POST_INC_OBJ : ZEND_POST_DEC_OBJ; in zend_compile_post_incdec()
7437 …opline->opcode = ast->kind == ZEND_AST_POST_INC ? ZEND_POST_INC_STATIC_PROP : ZEND_POST_DEC_STATIC… in zend_compile_post_incdec()
7457 opline->opcode = ast->kind == ZEND_AST_PRE_INC ? ZEND_PRE_INC_OBJ : ZEND_PRE_DEC_OBJ; in zend_compile_pre_incdec()
7460 …opline->opcode = ast->kind == ZEND_AST_PRE_INC ? ZEND_PRE_INC_STATIC_PROP : ZEND_PRE_DEC_STATIC_PR… in zend_compile_pre_incdec()
7646 opline->opcode = ZEND_ASSIGN_STATIC_PROP; in zend_compile_assign_coalesce()
7651 opline->opcode = ZEND_ASSIGN_DIM; in zend_compile_assign_coalesce()
7656 opline->opcode = ZEND_ASSIGN_OBJ; in zend_compile_assign_coalesce()
7857 opline->opcode = ZEND_ISSET_ISEMPTY_VAR; in zend_compile_isset_or_empty()
7862 opline->opcode = ZEND_ISSET_ISEMPTY_DIM_OBJ; in zend_compile_isset_or_empty()
7866 opline->opcode = ZEND_ISSET_ISEMPTY_PROP_OBJ; in zend_compile_isset_or_empty()
7870 opline->opcode = ZEND_ISSET_ISEMPTY_STATIC_PROP; in zend_compile_isset_or_empty()
8111 opline->opcode = ZEND_ROPE_INIT; in zend_compile_rope_add_ex()
8113 opline->opcode = ZEND_ROPE_ADD; in zend_compile_rope_add_ex()
8130 opline->opcode = ZEND_ROPE_INIT; in zend_compile_rope_add()
8132 opline->opcode = ZEND_ROPE_ADD; in zend_compile_rope_add()
8172 opline->opcode = ZEND_NOP; in zend_compile_encaps_list()
8212 opline->opcode = ZEND_CAST; in zend_compile_encaps_list()
8222 opline->opcode = ZEND_FAST_CONCAT; in zend_compile_encaps_list()
8234 opline->opcode = ZEND_ROPE_END; in zend_compile_encaps_list()
8249 if (opline->opcode == ZEND_ROPE_ADD && in zend_compile_encaps_list()
8253 } else if (opline->opcode == ZEND_ROPE_INIT && in zend_compile_encaps_list()