Lines Matching refs:opcode

58 	zend_uchar opcode;  member
89 static zend_op *zend_emit_op(znode *result, zend_uchar opcode, znode *op1, znode *op2);
651 if (loop_var->opcode == ZEND_RETURN) { in zend_start_live_range_ex()
654 } else if (loop_var->opcode == ZEND_FREE || in zend_start_live_range_ex()
655 loop_var->opcode == ZEND_FE_FREE) { in zend_start_live_range_ex()
671 if ((opline->opcode == ZEND_FREE || in zend_start_live_range_ex()
672 opline->opcode == ZEND_FE_FREE) && in zend_start_live_range_ex()
712 info.opcode = free_opcode; in zend_begin_loop()
718 info.opcode = ZEND_NOP; in zend_begin_loop()
740 loop_var->opcode == ZEND_FE_FREE ? ZEND_LIVE_LOOP : ZEND_LIVE_TMPVAR, in zend_end_loop()
753 while (opline->opcode == ZEND_END_SILENCE) { in zend_do_free()
758 if (opline->opcode == ZEND_BOOL || opline->opcode == ZEND_BOOL_NOT) { in zend_do_free()
766 while (opline->opcode == ZEND_END_SILENCE || in zend_do_free()
767 opline->opcode == ZEND_EXT_FCALL_END || in zend_do_free()
768 opline->opcode == ZEND_OP_DATA) { in zend_do_free()
773 if (opline->opcode == ZEND_FETCH_R || in zend_do_free()
774 opline->opcode == ZEND_FETCH_DIM_R || in zend_do_free()
775 opline->opcode == ZEND_FETCH_OBJ_R || in zend_do_free()
776 opline->opcode == ZEND_FETCH_STATIC_PROP_R) { in zend_do_free()
781 } else if (opline->opcode == ZEND_FETCH_THIS) { in zend_do_free()
782 opline->opcode = ZEND_NOP; in zend_do_free()
789 if (opline->opcode == ZEND_FETCH_LIST && in zend_do_free()
797 if (opline->opcode == ZEND_NEW) { in zend_do_free()
1200 while (opline->opcode == ZEND_TICKS && opline > CG(active_op_array)->opcodes) { in zend_do_early_binding()
1204 switch (opline->opcode) { in zend_do_early_binding()
1234 opline->opcode = ZEND_DECLARE_INHERITED_CLASS_DELAYED; in zend_do_early_binding()
1617 opline->opcode = ZEND_EXT_STMT; in zend_do_extended_info()
1633 opline->opcode = ZEND_EXT_FCALL_BEGIN; in zend_do_extended_fcall_begin()
1649 opline->opcode = ZEND_EXT_FCALL_END; in zend_do_extended_fcall_end()
1956 zend_uchar factor = (opline->opcode == ZEND_FETCH_STATIC_PROP_R) ? 1 : 3; in zend_adjust_for_fetch_type()
1958 if (opline->opcode == ZEND_FETCH_THIS) { in zend_adjust_for_fetch_type()
1966 opline->opcode += 1 * factor; in zend_adjust_for_fetch_type()
1969 opline->opcode += 2 * factor; in zend_adjust_for_fetch_type()
1972 opline->opcode += 3 * factor; in zend_adjust_for_fetch_type()
1975 opline->opcode += 4 * factor; in zend_adjust_for_fetch_type()
1979 opline->opcode += 5 * factor; in zend_adjust_for_fetch_type()
2009 if (def->opcode == ZEND_ADD_ARRAY_ELEMENT || in zend_find_live_range()
2010 def->opcode == ZEND_ROPE_ADD) { in zend_find_live_range()
2013 } else if (def->opcode == ZEND_JMPZ_EX || in zend_find_live_range()
2014 def->opcode == ZEND_JMPNZ_EX || in zend_find_live_range()
2015 def->opcode == ZEND_BOOL || in zend_find_live_range()
2016 def->opcode == ZEND_BOOL_NOT) { in zend_find_live_range()
2019 } else if (def->opcode == ZEND_DECLARE_CLASS || in zend_find_live_range()
2020 def->opcode == ZEND_DECLARE_INHERITED_CLASS || in zend_find_live_range()
2021 def->opcode == ZEND_DECLARE_INHERITED_CLASS_DELAYED || in zend_find_live_range()
2022 def->opcode == ZEND_DECLARE_ANON_CLASS || in zend_find_live_range()
2023 def->opcode == ZEND_DECLARE_ANON_INHERITED_CLASS) { in zend_find_live_range()
2026 } else if (def->opcode == ZEND_FAST_CALL) { in zend_find_live_range()
2029 } else if (def->opcode == ZEND_NEW) { in zend_find_live_range()
2053 return opline->opcode != ZEND_ADD_ARRAY_ELEMENT && in zend_is_def_range()
2054 opline->opcode != ZEND_ROPE_ADD; in zend_is_def_range()
2055 } else if (opline->opcode == ZEND_OP_DATA) { in zend_is_def_range()
2058 } else if (opline->opcode == ZEND_END_SILENCE || in zend_is_def_range()
2059 opline->opcode == ZEND_NOP || in zend_is_def_range()
2060 opline->opcode == ZEND_EXT_NOP || in zend_is_def_range()
2061 opline->opcode == ZEND_EXT_STMT || in zend_is_def_range()
2062 opline->opcode == ZEND_EXT_FCALL_BEGIN || in zend_is_def_range()
2063 opline->opcode == ZEND_EXT_FCALL_END || in zend_is_def_range()
2064 opline->opcode == ZEND_TICKS) { in zend_is_def_range()
2078 if (opline->opcode == ZEND_OP_DATA) { in zend_check_live_ranges()
2082 } else if (opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || in zend_check_live_ranges()
2083 opline->opcode == ZEND_NEW || in zend_check_live_ranges()
2084 opline->opcode == ZEND_FETCH_CLASS_CONSTANT || in zend_check_live_ranges()
2085 opline->opcode == ZEND_ADD_INTERFACE || in zend_check_live_ranges()
2086 opline->opcode == ZEND_ADD_TRAIT || in zend_check_live_ranges()
2087 opline->opcode == ZEND_BIND_TRAITS || in zend_check_live_ranges()
2088 opline->opcode == ZEND_VERIFY_ABSTRACT_CLASS) { in zend_check_live_ranges()
2090 } else if (opline->opcode == ZEND_FAST_RET) { in zend_check_live_ranges()
2092 } else if (opline->opcode == ZEND_CASE || in zend_check_live_ranges()
2093 opline->opcode == ZEND_SWITCH_LONG || in zend_check_live_ranges()
2094 opline->opcode == ZEND_SWITCH_STRING || in zend_check_live_ranges()
2095 opline->opcode == ZEND_FE_FETCH_R || in zend_check_live_ranges()
2096 opline->opcode == ZEND_FE_FETCH_RW || in zend_check_live_ranges()
2097 opline->opcode == ZEND_FE_FREE || in zend_check_live_ranges()
2098 opline->opcode == ZEND_ROPE_ADD || in zend_check_live_ranges()
2099 opline->opcode == ZEND_ROPE_END || in zend_check_live_ranges()
2100 opline->opcode == ZEND_END_SILENCE || in zend_check_live_ranges()
2101 opline->opcode == ZEND_FETCH_LIST || in zend_check_live_ranges()
2102 opline->opcode == ZEND_VERIFY_RETURN_TYPE || in zend_check_live_ranges()
2103 opline->opcode == ZEND_BIND_LEXICAL) { in zend_check_live_ranges()
2113 if (opline->opcode == ZEND_OP_DATA) { in zend_check_live_ranges()
2117 } else if (opline->opcode == ZEND_FETCH_STATIC_PROP_R || in zend_check_live_ranges()
2118 opline->opcode == ZEND_FETCH_STATIC_PROP_W || in zend_check_live_ranges()
2119 opline->opcode == ZEND_FETCH_STATIC_PROP_RW || in zend_check_live_ranges()
2120 opline->opcode == ZEND_FETCH_STATIC_PROP_IS || in zend_check_live_ranges()
2121 opline->opcode == ZEND_FETCH_STATIC_PROP_FUNC_ARG || in zend_check_live_ranges()
2122 opline->opcode == ZEND_FETCH_STATIC_PROP_UNSET || in zend_check_live_ranges()
2123 opline->opcode == ZEND_UNSET_STATIC_PROP || in zend_check_live_ranges()
2124 opline->opcode == ZEND_ISSET_ISEMPTY_STATIC_PROP || in zend_check_live_ranges()
2125 opline->opcode == ZEND_INSTANCEOF) { in zend_check_live_ranges()
2134 static zend_op *zend_emit_op(znode *result, zend_uchar opcode, znode *op1, znode *op2) /* {{{ */ in zend_emit_op() argument
2137 opline->opcode = opcode; in zend_emit_op()
2160 static zend_op *zend_emit_op_tmp(znode *result, zend_uchar opcode, znode *op1, znode *op2) /* {{{ */ in zend_emit_op_tmp() argument
2163 opline->opcode = opcode; in zend_emit_op_tmp()
2192 …array)->last && CG(active_op_array)->opcodes[CG(active_op_array)->last - 1].opcode == ZEND_TICKS) { in zend_emit_tick()
2198 opline->opcode = ZEND_TICKS; in zend_emit_tick()
2222 switch (opline->opcode) { in zend_is_smart_branch()
2246 static inline uint32_t zend_emit_cond_jump(zend_uchar opcode, znode *cond, uint32_t opnum_target) /… in zend_emit_cond_jump() argument
2258 opline = zend_emit_op(NULL, opcode, cond, NULL); in zend_emit_cond_jump()
2267 switch (opline->opcode) { in zend_update_jump_target()
2289 static inline zend_op *zend_delayed_emit_op(znode *result, zend_uchar opcode, znode *op1, znode *op… in zend_delayed_emit_op() argument
2293 tmp_opline.opcode = opcode; in zend_delayed_emit_op()
3015 opline->opcode = ZEND_ASSIGN_DIM; in zend_compile_assign()
3025 opline->opcode = ZEND_ASSIGN_OBJ; in zend_compile_assign()
3100 uint32_t opcode = ast->attr; in zend_compile_compound_assign() local
3115 zend_emit_op(result, opcode, &var_node, &expr_node); in zend_compile_compound_assign()
3123 opline->opcode = opcode; in zend_compile_compound_assign()
3134 opline->opcode = opcode; in zend_compile_compound_assign()
3157 zend_uchar opcode; in zend_compile_args() local
3181 opcode = ZEND_SEND_VAL; in zend_compile_args()
3185 opcode = ZEND_SEND_VAR_NO_REF; in zend_compile_args()
3187 opcode = ZEND_SEND_VAL; in zend_compile_args()
3189 opcode = ZEND_SEND_VAR; in zend_compile_args()
3192 opcode = ZEND_SEND_VAR_NO_REF_EX; in zend_compile_args()
3198 opcode = ZEND_SEND_REF; in zend_compile_args()
3201 opcode = ZEND_SEND_VAR; in zend_compile_args()
3206 opcode = ZEND_SEND_VAR_EX; in zend_compile_args()
3214 opcode = ZEND_SEND_VAR_NO_REF; in zend_compile_args()
3216 opcode = ZEND_SEND_VAL; in zend_compile_args()
3218 opcode = ZEND_SEND_VAR; in zend_compile_args()
3221 opcode = ZEND_SEND_VAR_NO_REF_EX; in zend_compile_args()
3226 opcode = ZEND_SEND_REF; in zend_compile_args()
3228 opcode = ZEND_SEND_VAR; in zend_compile_args()
3231 opcode = ZEND_SEND_VAR_EX; in zend_compile_args()
3235 opcode = ZEND_SEND_VAL; in zend_compile_args()
3240 opcode = ZEND_SEND_VAL_EX; in zend_compile_args()
3245 opline = zend_emit_op(NULL, opcode, &arg_node, NULL); in zend_compile_args()
3258 if (init_op->opcode == ZEND_INIT_FCALL && !zend_execute_internal) { in zend_get_call_op()
3272 (init_op->opcode == ZEND_INIT_FCALL_BY_NAME || in zend_get_call_op()
3273 init_op->opcode == ZEND_INIT_NS_FCALL_BY_NAME)) { in zend_get_call_op()
3294 if (opline->opcode == ZEND_INIT_FCALL) { in zend_compile_call_common()
3298 call_flags = (opline->opcode == ZEND_NEW ? ZEND_CALL_CTOR : 0); in zend_compile_call_common()
3322 opline->opcode = ZEND_INIT_NS_FCALL_BY_NAME; in zend_compile_ns_call()
3343 opline->opcode = ZEND_INIT_STATIC_METHOD_CALL; in zend_compile_dynamic_call()
3353 opline->opcode = ZEND_INIT_FCALL_BY_NAME; in zend_compile_dynamic_call()
4103 opline->opcode = ZEND_INIT_STATIC_METHOD_CALL; in zend_compile_static_call()
4170 if (opline->opcode == ZEND_FETCH_CLASS) { in zend_compile_new()
4314 opline->opcode = ZEND_UNSET_VAR; in zend_compile_unset()
4319 opline->opcode = ZEND_UNSET_DIM; in zend_compile_unset()
4323 opline->opcode = ZEND_UNSET_OBJ; in zend_compile_unset()
4327 opline->opcode = ZEND_UNSET_STATIC_PROP; in zend_compile_unset()
4344 if (loop_var->opcode == ZEND_FAST_CALL) { in zend_handle_loops_and_finally_ex()
4347 opline->opcode = ZEND_FAST_CALL; in zend_handle_loops_and_finally_ex()
4357 } else if (loop_var->opcode == ZEND_DISCARD_EXCEPTION) { in zend_handle_loops_and_finally_ex()
4359 opline->opcode = ZEND_DISCARD_EXCEPTION; in zend_handle_loops_and_finally_ex()
4363 } else if (loop_var->opcode == ZEND_RETURN) { in zend_handle_loops_and_finally_ex()
4368 } else if (loop_var->opcode == ZEND_NOP) { in zend_handle_loops_and_finally_ex()
4376 opline->opcode = loop_var->opcode; in zend_handle_loops_and_finally_ex()
4405 if (loop_var->opcode == ZEND_FAST_CALL) { in zend_has_finally_ex()
4407 } else if (loop_var->opcode == ZEND_DISCARD_EXCEPTION) { in zend_has_finally_ex()
4408 } else if (loop_var->opcode == ZEND_RETURN) { in zend_has_finally_ex()
4594 opline->opcode = ZEND_JMP; in zend_resolve_goto_label()
5056 opline->opcode = ZEND_FREE; in zend_compile_switch()
5105 fast_call.opcode = ZEND_FAST_CALL; in zend_compile_try()
5148 opline->opcode = ZEND_CATCH; in zend_compile_try()
5199 discard_exception.opcode = ZEND_DISCARD_EXCEPTION; in zend_compile_try()
5486 zend_uchar opcode; in zend_compile_params() local
5510 opcode = ZEND_RECV_VARIADIC; in zend_compile_params()
5522 opcode = ZEND_RECV_INIT; in zend_compile_params()
5527 opcode = ZEND_RECV; in zend_compile_params()
5532 opline = zend_emit_op(NULL, opcode, NULL, &default_node); in zend_compile_params()
5613 if (opline->opcode == ZEND_RECV_INIT) { in zend_compile_params()
5628 if (opline->opcode == ZEND_RECV_INIT) { in zend_compile_params()
5917 opline->opcode = ZEND_DECLARE_FUNCTION; in zend_begin_func_decl()
5977 dummy_var.opcode = ZEND_RETURN; in zend_compile_func_decl()
6210 opline->opcode = ZEND_ADD_TRAIT; in zend_compile_use_trait()
6359 opline->opcode = ZEND_DECLARE_ANON_INHERITED_CLASS; in zend_compile_class_decl()
6362 opline->opcode = ZEND_DECLARE_ANON_CLASS; in zend_compile_class_decl()
6400 opline->opcode = ZEND_DECLARE_INHERITED_CLASS; in zend_compile_class_decl()
6403 opline->opcode = ZEND_DECLARE_CLASS; in zend_compile_class_decl()
6729 (CG(active_op_array)->opcodes[num-1].opcode == ZEND_EXT_STMT || in zend_compile_namespace()
6730 CG(active_op_array)->opcodes[num-1].opcode == ZEND_TICKS)) { in zend_compile_namespace()
6881 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
6883 if (!(opcode == ZEND_ADD || opcode == ZEND_SUB || opcode == ZEND_MUL || opcode == ZEND_DIV in zend_binary_op_produces_numeric_string_error()
6884 || opcode == ZEND_POW || opcode == ZEND_MOD || opcode == ZEND_SL || opcode == ZEND_SR in zend_binary_op_produces_numeric_string_error()
6885 || opcode == ZEND_BW_OR || opcode == ZEND_BW_AND || opcode == ZEND_BW_XOR)) { in zend_binary_op_produces_numeric_string_error()
6891 if ((opcode == ZEND_BW_OR || opcode == ZEND_BW_AND || opcode == ZEND_BW_XOR) in zend_binary_op_produces_numeric_string_error()
6910 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
6912 binary_op_type fn = get_binary_op(opcode); in zend_try_ct_eval_binary_op()
6915 if ((opcode == ZEND_DIV || opcode == ZEND_MOD) && in zend_try_ct_eval_binary_op()
6918 } else if ((opcode == ZEND_SL || opcode == ZEND_SR) && in zend_try_ct_eval_binary_op()
6924 if (zend_binary_op_produces_numeric_string_error(opcode, op1, op2)) { in zend_try_ct_eval_binary_op()
6933 static inline void zend_ct_eval_unary_op(zval *result, uint32_t opcode, zval *op) /* {{{ */ in zend_ct_eval_unary_op() argument
6935 unary_op_type fn = get_unary_op(opcode); in zend_ct_eval_unary_op()
7047 uint32_t opcode = ast->attr; in zend_compile_binary_op() local
7054 if (zend_try_ct_eval_binary_op(&result->u.constant, opcode, in zend_compile_binary_op()
7065 if (opcode == ZEND_IS_EQUAL || opcode == ZEND_IS_NOT_EQUAL) { in zend_compile_binary_op()
7068 opcode = (opcode == ZEND_IS_NOT_EQUAL) ? ZEND_BOOL : ZEND_BOOL_NOT; in zend_compile_binary_op()
7069 zend_emit_op_tmp(result, opcode, &right_node, NULL); in zend_compile_binary_op()
7072 opcode = (opcode == ZEND_IS_EQUAL) ? ZEND_BOOL : ZEND_BOOL_NOT; in zend_compile_binary_op()
7073 zend_emit_op_tmp(result, opcode, &right_node, NULL); in zend_compile_binary_op()
7078 opcode = (opcode == ZEND_IS_NOT_EQUAL) ? ZEND_BOOL : ZEND_BOOL_NOT; in zend_compile_binary_op()
7079 zend_emit_op_tmp(result, opcode, &left_node, NULL); in zend_compile_binary_op()
7082 opcode = (opcode == ZEND_IS_EQUAL) ? ZEND_BOOL : ZEND_BOOL_NOT; in zend_compile_binary_op()
7083 zend_emit_op_tmp(result, opcode, &left_node, NULL); in zend_compile_binary_op()
7088 if (opcode == ZEND_CONCAT) { in zend_compile_binary_op()
7097 zend_emit_op_tmp(result, opcode, &left_node, &right_node); in zend_compile_binary_op()
7133 uint32_t opcode = ast->attr; in zend_compile_unary_op() local
7140 zend_ct_eval_unary_op(&result->u.constant, opcode, in zend_compile_unary_op()
7146 zend_emit_op_tmp(result, opcode, &expr_node, NULL); in zend_compile_unary_op()
7239 opline->opcode = ast->kind == ZEND_AST_POST_INC ? ZEND_POST_INC_OBJ : ZEND_POST_DEC_OBJ; in zend_compile_post_incdec()
7259 opline->opcode = ast->kind == ZEND_AST_PRE_INC ? ZEND_PRE_INC_OBJ : ZEND_PRE_DEC_OBJ; in zend_compile_pre_incdec()
7530 opline->opcode = ZEND_ISSET_ISEMPTY_VAR; in zend_compile_isset_or_empty()
7535 opline->opcode = ZEND_ISSET_ISEMPTY_DIM_OBJ; in zend_compile_isset_or_empty()
7539 opline->opcode = ZEND_ISSET_ISEMPTY_PROP_OBJ; in zend_compile_isset_or_empty()
7543 opline->opcode = ZEND_ISSET_ISEMPTY_STATIC_PROP; in zend_compile_isset_or_empty()
7814 opline->opcode = ZEND_ROPE_INIT; in zend_compile_rope_add()
7817 opline->opcode = ZEND_ROPE_ADD; in zend_compile_rope_add()
7885 opline->opcode = ZEND_CAST; in zend_compile_encaps_list()
7895 opline->opcode = ZEND_FAST_CONCAT; in zend_compile_encaps_list()
7908 opline->opcode = ZEND_ROPE_END; in zend_compile_encaps_list()
7926 if (opline->opcode == ZEND_ROPE_ADD && in zend_compile_encaps_list()
7930 } else if (opline->opcode == ZEND_ROPE_INIT && in zend_compile_encaps_list()