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);
633 if (loop_var->opcode == ZEND_RETURN) { in zend_start_live_range_ex()
636 } else if (loop_var->opcode == ZEND_FREE || in zend_start_live_range_ex()
637 loop_var->opcode == ZEND_FE_FREE) { in zend_start_live_range_ex()
653 if ((opline->opcode == ZEND_FREE || in zend_start_live_range_ex()
654 opline->opcode == ZEND_FE_FREE) && in zend_start_live_range_ex()
694 info.opcode = free_opcode; in zend_begin_loop()
700 info.opcode = ZEND_NOP; in zend_begin_loop()
722 loop_var->opcode == ZEND_FE_FREE ? ZEND_LIVE_LOOP : ZEND_LIVE_TMPVAR, in zend_end_loop()
735 while (opline->opcode == ZEND_END_SILENCE) { in zend_do_free()
740 if (opline->opcode == ZEND_BOOL || opline->opcode == ZEND_BOOL_NOT) { in zend_do_free()
748 while (opline->opcode == ZEND_END_SILENCE || in zend_do_free()
749 opline->opcode == ZEND_EXT_FCALL_END || in zend_do_free()
750 opline->opcode == ZEND_OP_DATA) { in zend_do_free()
755 if (opline->opcode == ZEND_FETCH_R || in zend_do_free()
756 opline->opcode == ZEND_FETCH_DIM_R || in zend_do_free()
757 opline->opcode == ZEND_FETCH_OBJ_R || in zend_do_free()
758 opline->opcode == ZEND_FETCH_STATIC_PROP_R) { in zend_do_free()
763 } else if (opline->opcode == ZEND_FETCH_THIS) { in zend_do_free()
764 opline->opcode = ZEND_NOP; in zend_do_free()
771 if (opline->opcode == ZEND_FETCH_LIST && in zend_do_free()
779 if (opline->opcode == ZEND_NEW) { in zend_do_free()
1182 while (opline->opcode == ZEND_TICKS && opline > CG(active_op_array)->opcodes) { in zend_do_early_binding()
1186 switch (opline->opcode) { in zend_do_early_binding()
1216 opline->opcode = ZEND_DECLARE_INHERITED_CLASS_DELAYED; in zend_do_early_binding()
1592 opline->opcode = ZEND_EXT_STMT; in zend_do_extended_info()
1608 opline->opcode = ZEND_EXT_FCALL_BEGIN; in zend_do_extended_fcall_begin()
1624 opline->opcode = ZEND_EXT_FCALL_END; in zend_do_extended_fcall_end()
1961 zend_uchar factor = (opline->opcode == ZEND_FETCH_STATIC_PROP_R) ? 1 : 3; in zend_adjust_for_fetch_type()
1963 if (opline->opcode == ZEND_FETCH_THIS) { in zend_adjust_for_fetch_type()
1971 opline->opcode += 1 * factor; in zend_adjust_for_fetch_type()
1974 opline->opcode += 2 * factor; in zend_adjust_for_fetch_type()
1977 opline->opcode += 3 * factor; in zend_adjust_for_fetch_type()
1980 opline->opcode += 4 * factor; in zend_adjust_for_fetch_type()
1984 opline->opcode += 5 * factor; in zend_adjust_for_fetch_type()
2014 if (def->opcode == ZEND_ADD_ARRAY_ELEMENT || in zend_find_live_range()
2015 def->opcode == ZEND_ROPE_ADD) { in zend_find_live_range()
2018 } else if (def->opcode == ZEND_JMPZ_EX || in zend_find_live_range()
2019 def->opcode == ZEND_JMPNZ_EX || in zend_find_live_range()
2020 def->opcode == ZEND_BOOL || in zend_find_live_range()
2021 def->opcode == ZEND_BOOL_NOT) { in zend_find_live_range()
2024 } else if (def->opcode == ZEND_DECLARE_CLASS || in zend_find_live_range()
2025 def->opcode == ZEND_DECLARE_INHERITED_CLASS || in zend_find_live_range()
2026 def->opcode == ZEND_DECLARE_INHERITED_CLASS_DELAYED || in zend_find_live_range()
2027 def->opcode == ZEND_DECLARE_ANON_CLASS || in zend_find_live_range()
2028 def->opcode == ZEND_DECLARE_ANON_INHERITED_CLASS) { in zend_find_live_range()
2031 } else if (def->opcode == ZEND_FAST_CALL) { in zend_find_live_range()
2034 } else if (def->opcode == ZEND_NEW) { in zend_find_live_range()
2058 return opline->opcode != ZEND_ADD_ARRAY_ELEMENT && in zend_is_def_range()
2059 opline->opcode != ZEND_ROPE_ADD; in zend_is_def_range()
2060 } else if (opline->opcode == ZEND_OP_DATA) { in zend_is_def_range()
2063 } else if (opline->opcode == ZEND_END_SILENCE || in zend_is_def_range()
2064 opline->opcode == ZEND_NOP || in zend_is_def_range()
2065 opline->opcode == ZEND_EXT_NOP || in zend_is_def_range()
2066 opline->opcode == ZEND_EXT_STMT || in zend_is_def_range()
2067 opline->opcode == ZEND_EXT_FCALL_BEGIN || in zend_is_def_range()
2068 opline->opcode == ZEND_EXT_FCALL_END || in zend_is_def_range()
2069 opline->opcode == ZEND_TICKS) { in zend_is_def_range()
2083 if (opline->opcode == ZEND_OP_DATA) { in zend_check_live_ranges()
2087 } else if (opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || in zend_check_live_ranges()
2088 opline->opcode == ZEND_NEW || in zend_check_live_ranges()
2089 opline->opcode == ZEND_FETCH_CLASS_CONSTANT || in zend_check_live_ranges()
2090 opline->opcode == ZEND_ADD_INTERFACE || in zend_check_live_ranges()
2091 opline->opcode == ZEND_ADD_TRAIT || in zend_check_live_ranges()
2092 opline->opcode == ZEND_BIND_TRAITS || in zend_check_live_ranges()
2093 opline->opcode == ZEND_VERIFY_ABSTRACT_CLASS) { in zend_check_live_ranges()
2095 } else if (opline->opcode == ZEND_FAST_RET) { in zend_check_live_ranges()
2097 } else if (opline->opcode == ZEND_CASE || in zend_check_live_ranges()
2098 opline->opcode == ZEND_FE_FETCH_R || in zend_check_live_ranges()
2099 opline->opcode == ZEND_FE_FETCH_RW || in zend_check_live_ranges()
2100 opline->opcode == ZEND_FE_FREE || in zend_check_live_ranges()
2101 opline->opcode == ZEND_ROPE_ADD || in zend_check_live_ranges()
2102 opline->opcode == ZEND_ROPE_END || in zend_check_live_ranges()
2103 opline->opcode == ZEND_END_SILENCE || in zend_check_live_ranges()
2104 opline->opcode == ZEND_FETCH_LIST || in zend_check_live_ranges()
2105 opline->opcode == ZEND_VERIFY_RETURN_TYPE || in zend_check_live_ranges()
2106 opline->opcode == ZEND_BIND_LEXICAL) { in zend_check_live_ranges()
2116 if (opline->opcode == ZEND_OP_DATA) { in zend_check_live_ranges()
2120 } else if (opline->opcode == ZEND_FETCH_STATIC_PROP_R || in zend_check_live_ranges()
2121 opline->opcode == ZEND_FETCH_STATIC_PROP_W || in zend_check_live_ranges()
2122 opline->opcode == ZEND_FETCH_STATIC_PROP_RW || in zend_check_live_ranges()
2123 opline->opcode == ZEND_FETCH_STATIC_PROP_IS || in zend_check_live_ranges()
2124 opline->opcode == ZEND_FETCH_STATIC_PROP_FUNC_ARG || in zend_check_live_ranges()
2125 opline->opcode == ZEND_FETCH_STATIC_PROP_UNSET || in zend_check_live_ranges()
2126 opline->opcode == ZEND_UNSET_STATIC_PROP || in zend_check_live_ranges()
2127 opline->opcode == ZEND_ISSET_ISEMPTY_STATIC_PROP || in zend_check_live_ranges()
2128 opline->opcode == ZEND_INSTANCEOF) { in zend_check_live_ranges()
2137 static zend_op *zend_emit_op(znode *result, zend_uchar opcode, znode *op1, znode *op2) /* {{{ */ in zend_emit_op() argument
2140 opline->opcode = opcode; in zend_emit_op()
2163 static zend_op *zend_emit_op_tmp(znode *result, zend_uchar opcode, znode *op1, znode *op2) /* {{{ */ in zend_emit_op_tmp() argument
2166 opline->opcode = opcode; in zend_emit_op_tmp()
2195 …array)->last && CG(active_op_array)->opcodes[CG(active_op_array)->last - 1].opcode == ZEND_TICKS) { in zend_emit_tick()
2201 opline->opcode = ZEND_TICKS; in zend_emit_tick()
2225 switch (opline->opcode) { in zend_is_smart_branch()
2247 static inline uint32_t zend_emit_cond_jump(zend_uchar opcode, znode *cond, uint32_t opnum_target) /… in zend_emit_cond_jump() argument
2259 opline = zend_emit_op(NULL, opcode, cond, NULL); in zend_emit_cond_jump()
2268 switch (opline->opcode) { in zend_update_jump_target()
2290 static inline zend_op *zend_delayed_emit_op(znode *result, zend_uchar opcode, znode *op1, znode *op… in zend_delayed_emit_op() argument
2294 tmp_opline.opcode = opcode; in zend_delayed_emit_op()
3016 opline->opcode = ZEND_ASSIGN_DIM; in zend_compile_assign()
3026 opline->opcode = ZEND_ASSIGN_OBJ; in zend_compile_assign()
3101 uint32_t opcode = ast->attr; in zend_compile_compound_assign() local
3116 zend_emit_op(result, opcode, &var_node, &expr_node); in zend_compile_compound_assign()
3124 opline->opcode = opcode; in zend_compile_compound_assign()
3135 opline->opcode = opcode; in zend_compile_compound_assign()
3158 zend_uchar opcode; in zend_compile_args() local
3182 opcode = ZEND_SEND_VAL; in zend_compile_args()
3186 opcode = ZEND_SEND_VAR_NO_REF; in zend_compile_args()
3188 opcode = ZEND_SEND_VAL; in zend_compile_args()
3190 opcode = ZEND_SEND_VAR; in zend_compile_args()
3193 opcode = ZEND_SEND_VAR_NO_REF_EX; in zend_compile_args()
3199 opcode = ZEND_SEND_REF; in zend_compile_args()
3202 opcode = ZEND_SEND_VAR; in zend_compile_args()
3207 opcode = ZEND_SEND_VAR_EX; in zend_compile_args()
3215 opcode = ZEND_SEND_VAR_NO_REF; in zend_compile_args()
3217 opcode = ZEND_SEND_VAL; in zend_compile_args()
3219 opcode = ZEND_SEND_VAR; in zend_compile_args()
3222 opcode = ZEND_SEND_VAR_NO_REF_EX; in zend_compile_args()
3227 opcode = ZEND_SEND_REF; in zend_compile_args()
3229 opcode = ZEND_SEND_VAR; in zend_compile_args()
3232 opcode = ZEND_SEND_VAR_EX; in zend_compile_args()
3236 opcode = ZEND_SEND_VAL; in zend_compile_args()
3241 opcode = ZEND_SEND_VAL_EX; in zend_compile_args()
3246 opline = zend_emit_op(NULL, opcode, &arg_node, NULL); in zend_compile_args()
3259 if (init_op->opcode == ZEND_INIT_FCALL && !zend_execute_internal) { in zend_get_call_op()
3273 (init_op->opcode == ZEND_INIT_FCALL_BY_NAME || in zend_get_call_op()
3274 init_op->opcode == ZEND_INIT_NS_FCALL_BY_NAME)) { in zend_get_call_op()
3295 if (opline->opcode == ZEND_INIT_FCALL) { in zend_compile_call_common()
3299 call_flags = (opline->opcode == ZEND_NEW ? ZEND_CALL_CTOR : 0); in zend_compile_call_common()
3323 opline->opcode = ZEND_INIT_NS_FCALL_BY_NAME; in zend_compile_ns_call()
3344 opline->opcode = ZEND_INIT_STATIC_METHOD_CALL; in zend_compile_dynamic_call()
3354 opline->opcode = ZEND_INIT_FCALL_BY_NAME; in zend_compile_dynamic_call()
3863 opline->opcode = ZEND_INIT_STATIC_METHOD_CALL; in zend_compile_static_call()
3922 if (opline->opcode == ZEND_FETCH_CLASS) { in zend_compile_new()
4067 opline->opcode = ZEND_UNSET_VAR; in zend_compile_unset()
4072 opline->opcode = ZEND_UNSET_DIM; in zend_compile_unset()
4076 opline->opcode = ZEND_UNSET_OBJ; in zend_compile_unset()
4080 opline->opcode = ZEND_UNSET_STATIC_PROP; in zend_compile_unset()
4097 if (loop_var->opcode == ZEND_FAST_CALL) { in zend_handle_loops_and_finally_ex()
4100 opline->opcode = ZEND_FAST_CALL; in zend_handle_loops_and_finally_ex()
4110 } else if (loop_var->opcode == ZEND_DISCARD_EXCEPTION) { in zend_handle_loops_and_finally_ex()
4112 opline->opcode = ZEND_DISCARD_EXCEPTION; in zend_handle_loops_and_finally_ex()
4116 } else if (loop_var->opcode == ZEND_RETURN) { in zend_handle_loops_and_finally_ex()
4121 } else if (loop_var->opcode == ZEND_NOP) { in zend_handle_loops_and_finally_ex()
4129 opline->opcode = loop_var->opcode; in zend_handle_loops_and_finally_ex()
4158 if (loop_var->opcode == ZEND_FAST_CALL) { in zend_has_finally_ex()
4160 } else if (loop_var->opcode == ZEND_DISCARD_EXCEPTION) { in zend_has_finally_ex()
4161 } else if (loop_var->opcode == ZEND_RETURN) { in zend_has_finally_ex()
4347 opline->opcode = ZEND_JMP; in zend_resolve_goto_label()
4705 opline->opcode = ZEND_FREE; in zend_compile_switch()
4754 fast_call.opcode = ZEND_FAST_CALL; in zend_compile_try()
4797 opline->opcode = ZEND_CATCH; in zend_compile_try()
4848 discard_exception.opcode = ZEND_DISCARD_EXCEPTION; in zend_compile_try()
5138 zend_uchar opcode; in zend_compile_params() local
5162 opcode = ZEND_RECV_VARIADIC; in zend_compile_params()
5174 opcode = ZEND_RECV_INIT; in zend_compile_params()
5179 opcode = ZEND_RECV; in zend_compile_params()
5184 opline = zend_emit_op(NULL, opcode, NULL, &default_node); in zend_compile_params()
5260 if (opline->opcode == ZEND_RECV_INIT) { in zend_compile_params()
5275 if (opline->opcode == ZEND_RECV_INIT) { in zend_compile_params()
5561 opline->opcode = ZEND_DECLARE_FUNCTION; in zend_begin_func_decl()
5621 dummy_var.opcode = ZEND_RETURN; in zend_compile_func_decl()
5854 opline->opcode = ZEND_ADD_TRAIT; in zend_compile_use_trait()
6001 opline->opcode = ZEND_DECLARE_ANON_INHERITED_CLASS; in zend_compile_class_decl()
6004 opline->opcode = ZEND_DECLARE_ANON_CLASS; in zend_compile_class_decl()
6020 opline->opcode = ZEND_DECLARE_INHERITED_CLASS; in zend_compile_class_decl()
6023 opline->opcode = ZEND_DECLARE_CLASS; in zend_compile_class_decl()
6380 (CG(active_op_array)->opcodes[num-1].opcode == ZEND_EXT_STMT || in zend_compile_namespace()
6381 CG(active_op_array)->opcodes[num-1].opcode == ZEND_TICKS)) { in zend_compile_namespace()
6532 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
6534 if (!(opcode == ZEND_ADD || opcode == ZEND_SUB || opcode == ZEND_MUL || opcode == ZEND_DIV in zend_binary_op_produces_numeric_string_error()
6535 || opcode == ZEND_POW || opcode == ZEND_MOD || opcode == ZEND_SL || opcode == ZEND_SR in zend_binary_op_produces_numeric_string_error()
6536 || opcode == ZEND_BW_OR || opcode == ZEND_BW_AND || opcode == ZEND_BW_XOR)) { in zend_binary_op_produces_numeric_string_error()
6542 if ((opcode == ZEND_BW_OR || opcode == ZEND_BW_AND || opcode == ZEND_BW_XOR) in zend_binary_op_produces_numeric_string_error()
6561 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
6563 binary_op_type fn = get_binary_op(opcode); in zend_try_ct_eval_binary_op()
6566 if ((opcode == ZEND_DIV || opcode == ZEND_MOD) && in zend_try_ct_eval_binary_op()
6569 } else if ((opcode == ZEND_SL || opcode == ZEND_SR) && in zend_try_ct_eval_binary_op()
6575 if (zend_binary_op_produces_numeric_string_error(opcode, op1, op2)) { in zend_try_ct_eval_binary_op()
6584 static inline void zend_ct_eval_unary_op(zval *result, uint32_t opcode, zval *op) /* {{{ */ in zend_ct_eval_unary_op() argument
6586 unary_op_type fn = get_unary_op(opcode); in zend_ct_eval_unary_op()
6691 uint32_t opcode = ast->attr; in zend_compile_binary_op() local
6698 if (zend_try_ct_eval_binary_op(&result->u.constant, opcode, in zend_compile_binary_op()
6709 if (opcode == ZEND_IS_EQUAL || opcode == ZEND_IS_NOT_EQUAL) { in zend_compile_binary_op()
6712 opcode = (opcode == ZEND_IS_NOT_EQUAL) ? ZEND_BOOL : ZEND_BOOL_NOT; in zend_compile_binary_op()
6713 zend_emit_op_tmp(result, opcode, &right_node, NULL); in zend_compile_binary_op()
6716 opcode = (opcode == ZEND_IS_EQUAL) ? ZEND_BOOL : ZEND_BOOL_NOT; in zend_compile_binary_op()
6717 zend_emit_op_tmp(result, opcode, &right_node, NULL); in zend_compile_binary_op()
6722 opcode = (opcode == ZEND_IS_NOT_EQUAL) ? ZEND_BOOL : ZEND_BOOL_NOT; in zend_compile_binary_op()
6723 zend_emit_op_tmp(result, opcode, &left_node, NULL); in zend_compile_binary_op()
6726 opcode = (opcode == ZEND_IS_EQUAL) ? ZEND_BOOL : ZEND_BOOL_NOT; in zend_compile_binary_op()
6727 zend_emit_op_tmp(result, opcode, &left_node, NULL); in zend_compile_binary_op()
6732 if (opcode == ZEND_CONCAT) { in zend_compile_binary_op()
6741 zend_emit_op_tmp(result, opcode, &left_node, &right_node); in zend_compile_binary_op()
6777 uint32_t opcode = ast->attr; in zend_compile_unary_op() local
6784 zend_ct_eval_unary_op(&result->u.constant, opcode, in zend_compile_unary_op()
6790 zend_emit_op_tmp(result, opcode, &expr_node, NULL); in zend_compile_unary_op()
6883 opline->opcode = ast->kind == ZEND_AST_POST_INC ? ZEND_POST_INC_OBJ : ZEND_POST_DEC_OBJ; in zend_compile_post_incdec()
6903 opline->opcode = ast->kind == ZEND_AST_PRE_INC ? ZEND_PRE_INC_OBJ : ZEND_PRE_DEC_OBJ; in zend_compile_pre_incdec()
7171 opline->opcode = ZEND_ISSET_ISEMPTY_VAR; in zend_compile_isset_or_empty()
7176 opline->opcode = ZEND_ISSET_ISEMPTY_DIM_OBJ; in zend_compile_isset_or_empty()
7180 opline->opcode = ZEND_ISSET_ISEMPTY_PROP_OBJ; in zend_compile_isset_or_empty()
7184 opline->opcode = ZEND_ISSET_ISEMPTY_STATIC_PROP; in zend_compile_isset_or_empty()
7454 opline->opcode = ZEND_ROPE_INIT; in zend_compile_rope_add()
7457 opline->opcode = ZEND_ROPE_ADD; in zend_compile_rope_add()
7525 opline->opcode = ZEND_CAST; in zend_compile_encaps_list()
7535 opline->opcode = ZEND_FAST_CONCAT; in zend_compile_encaps_list()
7548 opline->opcode = ZEND_ROPE_END; in zend_compile_encaps_list()
7566 if (opline->opcode == ZEND_ROPE_ADD && in zend_compile_encaps_list()
7570 } else if (opline->opcode == ZEND_ROPE_INIT && in zend_compile_encaps_list()