Lines Matching refs:opline

553 		zend_op *opline, zend_ssa_op *ssa_op, zend_uchar opcode, zend_ssa_range *tmp) {  in zend_inference_calc_binary_op_range()  argument
844 zend_op *opline; in zend_inference_calc_range() local
983 opline = op_array->opcodes + line; in zend_inference_calc_range()
987 switch (opline->opcode) { in zend_inference_calc_range()
1000 op_array, ssa, opline, &ssa->ops[line], opline->opcode, tmp); in zend_inference_calc_range()
1033 if (opline->extended_value == IS_NULL) { in zend_inference_calc_range()
1037 } else if (opline->extended_value == _IS_BOOL) { in zend_inference_calc_range()
1049 } else if (opline->extended_value == IS_LONG) { in zend_inference_calc_range()
1355 if ((opline+1)->opcode == ZEND_OP_DATA) { in zend_inference_calc_range()
1356 opline++; in zend_inference_calc_range()
1366 if (opline->extended_value != ZEND_CONCAT in zend_inference_calc_range()
1367 && opline->extended_value != ZEND_POW) { in zend_inference_calc_range()
1370 op_array, ssa, opline, &ssa->ops[line], in zend_inference_calc_range()
1371 opline->extended_value, tmp); in zend_inference_calc_range()
1378 if ((opline+1)->opcode == ZEND_OP_DATA) { in zend_inference_calc_range()
1380 opline++; in zend_inference_calc_range()
1392 if ((opline-1)->opcode == ZEND_ASSIGN_DIM || in zend_inference_calc_range()
1393 (opline-1)->opcode == ZEND_ASSIGN_OBJ || in zend_inference_calc_range()
1394 ((opline-1)->opcode == ZEND_ASSIGN_OP && in zend_inference_calc_range()
1395 ((opline-1)->extended_value == ZEND_ADD || in zend_inference_calc_range()
1396 (opline-1)->extended_value == ZEND_SUB || in zend_inference_calc_range()
1397 (opline-1)->extended_value == ZEND_MUL))) { in zend_inference_calc_range()
1416 (int)opline->op1.num-1 < func_info->num_args && in zend_inference_calc_range()
1417 func_info->arg_info[opline->op1.num-1].info.has_range) { in zend_inference_calc_range()
1418 *tmp = func_info->arg_info[opline->op1.num-1].info.range; in zend_inference_calc_range()
1421 opline->op1.num <= op_array->num_args) { in zend_inference_calc_range()
1422 if (ZEND_TYPE_CODE(op_array->arg_info[opline->op1.num-1].type) == IS_LONG) { in zend_inference_calc_range()
1428 } else if (ZEND_TYPE_CODE(op_array->arg_info[opline->op1.num-1].type) == _IS_BOOL) { in zend_inference_calc_range()
1472 call_info = func_info->call_map[opline - op_array->opcodes]; in zend_inference_calc_range()
2335 …ty_info *zend_fetch_prop_info(const zend_op_array *op_array, zend_ssa *ssa, zend_op *opline, int i) in zend_fetch_prop_info() argument
2338 if (opline->op2_type == IS_CONST) { in zend_fetch_prop_info()
2341 if (opline->op1_type == IS_UNUSED) { in zend_fetch_prop_info()
2348 Z_STR_P(CRT_CONSTANT_EX(op_array, opline, opline->op2, ssa->rt_constants)), in zend_fetch_prop_info()
2358 …prop_info(const zend_script *script, const zend_op_array *op_array, zend_ssa *ssa, zend_op *opline) in zend_fetch_static_prop_info() argument
2361 if (opline->op1_type == IS_CONST) { in zend_fetch_static_prop_info()
2363 if (opline->op2_type == IS_UNUSED) { in zend_fetch_static_prop_info()
2364 int fetch_type = opline->op2.num & ZEND_FETCH_CLASS_MASK; in zend_fetch_static_prop_info()
2378 } else if (opline->op2_type == IS_CONST) { in zend_fetch_static_prop_info()
2379 zval *zv = CRT_CONSTANT_EX(op_array, opline, opline->op2, ssa->rt_constants); in zend_fetch_static_prop_info()
2384 zval *zv = CRT_CONSTANT_EX(op_array, opline, opline->op1, ssa->rt_constants); in zend_fetch_static_prop_info()
2435 zend_op *opline = op_array->opcodes + i; in zend_update_type_info() local
2442 if (opline->opcode == ZEND_OP_DATA) { in zend_update_type_info()
2443 opline--; in zend_update_type_info()
2468 switch (opline->opcode) { in zend_update_type_info()
2481 …tmp = binary_op_result_type(ssa, opline->opcode, t1, t2, ssa_ops[i].result_def, optimization_level… in zend_update_type_info()
2536 (opline->op1_type == IS_CV) && in zend_update_type_info()
2537 (opline->extended_value == IS_ARRAY || in zend_update_type_info()
2538 opline->extended_value == IS_OBJECT)) { in zend_update_type_info()
2541 (opline->op1_type == IS_CV) && in zend_update_type_info()
2542 opline->extended_value == IS_STRING) { in zend_update_type_info()
2549 if (opline->extended_value == _IS_BOOL) { in zend_update_type_info()
2552 tmp |= 1 << opline->extended_value; in zend_update_type_info()
2556 } else if ((opline->extended_value == IS_ARRAY || in zend_update_type_info()
2557 opline->extended_value == IS_OBJECT) && in zend_update_type_info()
2560 } else if (opline->extended_value == IS_STRING && in zend_update_type_info()
2568 if (opline->extended_value == IS_ARRAY) { in zend_update_type_info()
2586 if ((t1 & (MAY_BE_RC1|MAY_BE_REF)) && (opline->op1_type == IS_CV)) { in zend_update_type_info()
2598 if (opline->op1_type == IS_CV) { in zend_update_type_info()
2602 if (opline->opcode != ZEND_QM_ASSIGN) { in zend_update_type_info()
2605 if (opline->opcode == ZEND_JMP_SET) { in zend_update_type_info()
2621 if (opline->opcode == ZEND_ASSIGN_OBJ_OP) { in zend_update_type_info()
2622 prop_info = zend_fetch_prop_info(op_array, ssa, opline, i); in zend_update_type_info()
2626 } else if (opline->opcode == ZEND_ASSIGN_DIM_OP) { in zend_update_type_info()
2633 } else if (opline->opcode == ZEND_ASSIGN_STATIC_PROP_OP) { in zend_update_type_info()
2634 prop_info = zend_fetch_static_prop_info(script, op_array, ssa, opline); in zend_update_type_info()
2644 ssa, opline->extended_value, t1, t2, in zend_update_type_info()
2645 opline->opcode == ZEND_ASSIGN_OP ? ssa_ops[i].op1_def : -1, optimization_level); in zend_update_type_info()
2653 if (opline->opcode == ZEND_ASSIGN_DIM_OP) { in zend_update_type_info()
2654 if (opline->op1_type == IS_CV) { in zend_update_type_info()
2655 orig = assign_dim_result_type(orig, OP2_INFO(), tmp, opline->op2_type); in zend_update_type_info()
2659 } else if (opline->opcode == ZEND_ASSIGN_OBJ_OP) { in zend_update_type_info()
2660 if (opline->op1_type == IS_CV) { in zend_update_type_info()
2673 } else if (opline->opcode == ZEND_ASSIGN_STATIC_PROP) { in zend_update_type_info()
2680 if (opline->opcode == ZEND_ASSIGN_DIM_OP) { in zend_update_type_info()
2681 if (opline->op2_type == IS_UNUSED) { in zend_update_type_info()
2695 } else if (opline->opcode == ZEND_ASSIGN_OBJ_OP) { in zend_update_type_info()
2706 } else if (opline->opcode == ZEND_ASSIGN_STATIC_PROP_OP) { in zend_update_type_info()
2734 (opline->opcode == ZEND_PRE_DEC && in zend_update_type_info()
2737 (opline->opcode == ZEND_PRE_INC && in zend_update_type_info()
2750 if (opline->opcode == ZEND_PRE_INC) { in zend_update_type_info()
2796 (opline->opcode == ZEND_POST_DEC && in zend_update_type_info()
2799 (opline->opcode == ZEND_POST_INC && in zend_update_type_info()
2812 if (opline->opcode == ZEND_POST_INC) { in zend_update_type_info()
2834 if (opline->op1_type == IS_CV) { in zend_update_type_info()
2835 tmp = assign_dim_result_type(t1, t2, OP1_DATA_INFO(), opline->op2_type); in zend_update_type_info()
2847 if (opline->op2_type == IS_UNUSED) { in zend_update_type_info()
2868 if ((opline+1)->op1_type == IS_CV && ssa_ops[i+1].op1_def >= 0) { in zend_update_type_info()
2869 opline++; in zend_update_type_info()
2881 if (opline->op1_type == IS_CV) { in zend_update_type_info()
2896 zend_fetch_prop_info(op_array, ssa, opline, i), &ce); in zend_update_type_info()
2902 if ((opline+1)->op1_type == IS_CV) { in zend_update_type_info()
2903 opline++; in zend_update_type_info()
2918 if (opline->op1_type == IS_CV) { in zend_update_type_info()
2937 if (opline->op2_type == IS_CV && ssa_ops[i].op2_def >= 0) { in zend_update_type_info()
2955 } else if (opline->op2_type & (IS_TMP_VAR|IS_VAR)) { in zend_update_type_info()
2960 if (RETURN_VALUE_USED(opline) && (tmp & MAY_BE_RC1)) { in zend_update_type_info()
2978 if (opline->op2_type == IS_CV) { in zend_update_type_info()
2985 if (opline->op2_type == IS_VAR && opline->extended_value == ZEND_RETURNS_FUNCTION) { in zend_update_type_info()
2999 if (opline->op1_type == IS_CV) { in zend_update_type_info()
3013 if ((opline+1)->op1_type == IS_VAR && (opline->extended_value & ZEND_RETURNS_FUNCTION)) { in zend_update_type_info()
3024 if ((opline+1)->op1_type == IS_CV) { in zend_update_type_info()
3025 opline++; in zend_update_type_info()
3035 if ((opline+1)->op1_type == IS_CV) { in zend_update_type_info()
3036 opline++; in zend_update_type_info()
3048 | ((opline->extended_value & ZEND_BIND_REF) ? MAY_BE_REF : (MAY_BE_RC1 | MAY_BE_RCN)); in zend_update_type_info()
3049 if (opline->extended_value & ZEND_BIND_IMPLICIT) { in zend_update_type_info()
3057 if ((t1 & (MAY_BE_RC1|MAY_BE_REF)) && (opline->op1_type == IS_CV)) { in zend_update_type_info()
3066 if (opline->extended_value & ZEND_BIND_REF) { in zend_update_type_info()
3138 if (op_array->arg_info && opline->op1.num <= op_array->num_args) { in zend_update_type_info()
3139 arg_info = &op_array->arg_info[opline->op1.num-1]; in zend_update_type_info()
3145 if (opline->opcode == ZEND_RECV_INIT && in zend_update_type_info()
3146 … Z_TYPE_P(CRT_CONSTANT_EX(op_array, opline, opline->op2, ssa->rt_constants)) == IS_CONSTANT_AST) { in zend_update_type_info()
3159 if (func_info && (int)opline->op1.num-1 < func_info->num_args) { in zend_update_type_info()
3161 (tmp & func_info->arg_info[opline->op1.num-1].info.type); in zend_update_type_info()
3168 opline->op1.num <= op_array->num_args && in zend_update_type_info()
3169 op_array->arg_info[opline->op1.num-1].class_name == NULL && in zend_update_type_info()
3170 !op_array->arg_info[opline->op1.num-1].type_hint) { in zend_update_type_info()
3176 (int)opline->op1.num-1 < func_info->num_args && in zend_update_type_info()
3177 func_info->arg_info[opline->op1.num-1].info.ce) { in zend_update_type_info()
3179 func_info->arg_info[opline->op1.num-1].info.ce, in zend_update_type_info()
3180 func_info->arg_info[opline->op1.num-1].info.is_instanceof, in zend_update_type_info()
3191 …ash_find_ptr(&script->class_table, Z_STR_P(CRT_CONSTANT_EX(op_array, opline, opline->op1, ssa->rt_… in zend_update_type_info()
3197 if (opline->op2_type == IS_UNUSED) { in zend_update_type_info()
3198 switch (opline->op1.num & ZEND_FETCH_CLASS_MASK) { in zend_update_type_info()
3218 } else if (opline->op2_type == IS_CONST) { in zend_update_type_info()
3219 zval *zv = CRT_CONSTANT_EX(op_array, opline, opline->op2, ssa->rt_constants); in zend_update_type_info()
3232 if (opline->op1_type == IS_CONST && in zend_update_type_info()
3233 …(ce = get_class_entry(script, Z_STR_P(CRT_CONSTANT_EX(op_array, opline, opline->op1, ssa->rt_const… in zend_update_type_info()
3248 if (opline->op1_type == IS_CV && ssa_ops[i].op1_def >= 0) { in zend_update_type_info()
3249 if (opline->extended_value & ZEND_ARRAY_ELEMENT_REF) { in zend_update_type_info()
3274 if (opline->op1_type != IS_UNUSED) { in zend_update_type_info()
3279 if (opline->extended_value & ZEND_ARRAY_ELEMENT_REF) { in zend_update_type_info()
3282 if (opline->op2_type == IS_UNUSED) { in zend_update_type_info()
3290 if (opline->op2_type != IS_CONST) { in zend_update_type_info()
3334 if (opline->opcode == ZEND_FE_RESET_RW) { in zend_update_type_info()
3337 if ((t1 & MAY_BE_RC1) && opline->op1_type != IS_TMP_VAR) { in zend_update_type_info()
3344 if (opline->opcode == ZEND_FE_RESET_RW) { in zend_update_type_info()
3357 if (opline->opcode == ZEND_FE_FETCH_RW) { in zend_update_type_info()
3364 if (opline->opcode == ZEND_FE_FETCH_RW) { in zend_update_type_info()
3405 if (opline->opcode == ZEND_FETCH_DIM_W || in zend_update_type_info()
3406 opline->opcode == ZEND_FETCH_DIM_RW || in zend_update_type_info()
3407 opline->opcode == ZEND_FETCH_DIM_FUNC_ARG || in zend_update_type_info()
3408 opline->opcode == ZEND_FETCH_LIST_W) { in zend_update_type_info()
3410 if (opline->opcode != ZEND_FETCH_DIM_FUNC_ARG) { in zend_update_type_info()
3417 if (opline->opcode == ZEND_FETCH_DIM_FUNC_ARG) { in zend_update_type_info()
3424 if (opline->op2_type == IS_UNUSED) { in zend_update_type_info()
3432 if (opline->op2_type != IS_CONST) { in zend_update_type_info()
3441 } else if (opline->opcode == ZEND_FETCH_DIM_UNSET) { in zend_update_type_info()
3449 if (opline->opcode == ZEND_FETCH_DIM_RW in zend_update_type_info()
3450 || opline->opcode == ZEND_FETCH_DIM_W in zend_update_type_info()
3451 || opline->opcode == ZEND_FETCH_DIM_FUNC_ARG in zend_update_type_info()
3452 || opline->opcode == ZEND_FETCH_LIST_W) { in zend_update_type_info()
3522 opline->opcode != ZEND_FETCH_LIST_R ? t1 : ((t1 & ~MAY_BE_STRING) | MAY_BE_NULL), in zend_update_type_info()
3523 opline->result_type == IS_VAR, in zend_update_type_info()
3524 opline->op2_type == IS_UNUSED); in zend_update_type_info()
3525 if (opline->opcode == ZEND_FETCH_DIM_W || in zend_update_type_info()
3526 opline->opcode == ZEND_FETCH_DIM_RW || in zend_update_type_info()
3527 opline->opcode == ZEND_FETCH_DIM_FUNC_ARG || in zend_update_type_info()
3528 opline->opcode == ZEND_FETCH_LIST_W) { in zend_update_type_info()
3531 } else if (opline->op2_type == IS_UNUSED) { in zend_update_type_info()
3536 } else if (opline->opcode == ZEND_FETCH_DIM_IS && (t1 & MAY_BE_STRING)) { in zend_update_type_info()
3553 if (opline->opcode == ZEND_FETCH_OBJ_W || in zend_update_type_info()
3554 opline->opcode == ZEND_FETCH_OBJ_RW || in zend_update_type_info()
3555 opline->opcode == ZEND_FETCH_OBJ_FUNC_ARG) { in zend_update_type_info()
3556 if (opline->opcode != ZEND_FETCH_DIM_FUNC_ARG) { in zend_update_type_info()
3568 zend_fetch_prop_info(op_array, ssa, opline, i), &ce); in zend_update_type_info()
3569 if (opline->result_type != IS_TMP_VAR) { in zend_update_type_info()
3585 zend_fetch_static_prop_info(script, op_array, ssa, opline), &ce); in zend_update_type_info()
3586 if (opline->result_type != IS_TMP_VAR) { in zend_update_type_info()
3605 call_info = func_info->call_map[opline - op_array->opcodes]; in zend_update_type_info()
3663 if (opline->op1_type & (IS_TMP_VAR|IS_VAR|IS_CV)) { in zend_update_type_info()
3699 if (opline->result_type == IS_TMP_VAR) { in zend_update_type_info()
3836 static zend_bool is_narrowable_instr(zend_op *opline) { in is_narrowable_instr() argument
3837 return opline->opcode == ZEND_ADD || opline->opcode == ZEND_SUB in is_narrowable_instr()
3838 || opline->opcode == ZEND_MUL || opline->opcode == ZEND_DIV; in is_narrowable_instr()
3841 static zend_bool is_effective_op1_double_cast(zend_op *opline, zval *op2) { in is_effective_op1_double_cast() argument
3842 return (opline->opcode == ZEND_ADD && Z_LVAL_P(op2) == 0) in is_effective_op1_double_cast()
3843 || (opline->opcode == ZEND_SUB && Z_LVAL_P(op2) == 0) in is_effective_op1_double_cast()
3844 || (opline->opcode == ZEND_MUL && Z_LVAL_P(op2) == 1) in is_effective_op1_double_cast()
3845 || (opline->opcode == ZEND_DIV && Z_LVAL_P(op2) == 1); in is_effective_op1_double_cast()
3847 static zend_bool is_effective_op2_double_cast(zend_op *opline, zval *op1) { in is_effective_op2_double_cast() argument
3850 return (opline->opcode == ZEND_ADD && Z_LVAL_P(op1) == 0) in is_effective_op2_double_cast()
3851 || (opline->opcode == ZEND_SUB && Z_LVAL_P(op1) == 0) in is_effective_op2_double_cast()
3852 || (opline->opcode == ZEND_MUL && Z_LVAL_P(op1) == 1); in is_effective_op2_double_cast()
3888 zend_op *opline = &op_array->opcodes[use]; in can_convert_to_double() local
3891 if (zend_ssa_is_no_val_use(opline, ssa_op, var_num)) { in can_convert_to_double()
3895 if (!is_narrowable_instr(opline)) { in can_convert_to_double()
3927 } else if (opline->op1_type == IS_CONST) { in can_convert_to_double()
3928 zval *zv = CRT_CONSTANT_EX(op_array, opline, opline->op1, ssa->rt_constants); in can_convert_to_double()
3940 } else if (opline->op2_type == IS_CONST) { in can_convert_to_double()
3941 zval *zv = CRT_CONSTANT_EX(op_array, opline, opline->op2, ssa->rt_constants); in can_convert_to_double()
3950 if (opline->opcode == ZEND_MUL && Z_LVAL(orig_op2) == 0) { in can_convert_to_double()
3952 } else if (is_effective_op1_double_cast(opline, &orig_op2)) { in can_convert_to_double()
3958 if (opline->opcode == ZEND_MUL && Z_LVAL(orig_op1) == 0) { in can_convert_to_double()
3960 } else if (is_effective_op2_double_cast(opline, &orig_op1)) { in can_convert_to_double()
3966 zend_uchar opcode = opline->opcode; in can_convert_to_double()
3969 opcode = opline->extended_value; in can_convert_to_double()
4011 zend_op *opline; in zend_type_narrowing() local
4024 opline = op_array->opcodes + ssa->vars[v].definition; in zend_type_narrowing()
4027 if (opline->opcode == ZEND_ASSIGN && opline->result_type == IS_UNUSED && in zend_type_narrowing()
4028 opline->op1_type == IS_CV && opline->op2_type == IS_CONST) { in zend_type_narrowing()
4029 zval *value = CRT_CONSTANT_EX(op_array, opline, opline->op2, ssa->rt_constants); in zend_type_narrowing()
4060 zend_op *opline) in is_recursive_tail_call() argument
4065 info->ssa.ops[opline - op_array->opcodes].op1_use >= 0 && in is_recursive_tail_call()
4066 info->ssa.vars[info->ssa.ops[opline - op_array->opcodes].op1_use].definition >= 0) { in is_recursive_tail_call()
4068 …zend_op *op = op_array->opcodes + info->ssa.vars[info->ssa.ops[opline - op_array->opcodes].op1_use… in is_recursive_tail_call()
4131 zend_op *opline = op_array->opcodes + blocks[j].start + blocks[j].len - 1; in zend_func_return_info() local
4133 if (opline->opcode == ZEND_RETURN || opline->opcode == ZEND_RETURN_BY_REF) { in zend_func_return_info()
4137 info->ssa.ops[opline - op_array->opcodes].op1_use >= 0 && in zend_func_return_info()
4138 info->ssa.var_info[info->ssa.ops[opline - op_array->opcodes].op1_use].recursive) { in zend_func_return_info()
4141 if (is_recursive_tail_call(op_array, opline)) { in zend_func_return_info()
4148 if (opline->opcode == ZEND_RETURN) { in zend_func_return_info()
4161 info->ssa.ops[opline - op_array->opcodes].op1_use >= 0 && in zend_func_return_info()
4162 info->ssa.var_info[info->ssa.ops[opline - op_array->opcodes].op1_use].ce) { in zend_func_return_info()
4163 arg_ce = info->ssa.var_info[info->ssa.ops[opline - op_array->opcodes].op1_use].ce; in zend_func_return_info()
4164 …arg_is_instanceof = info->ssa.var_info[info->ssa.ops[opline - op_array->opcodes].op1_use].is_insta… in zend_func_return_info()
4182 if (opline->op1_type == IS_CONST) { in zend_func_return_info()
4183 zval *zv = CRT_CONSTANT_EX(op_array, opline, opline->op1, info->ssa.rt_constants); in zend_func_return_info()
4250 info->ssa.ops[opline - op_array->opcodes].op1_use >= 0) { in zend_func_return_info()
4251 if (info->ssa.var_info[info->ssa.ops[opline - op_array->opcodes].op1_use].has_range) { in zend_func_return_info()
4254 tmp_range = info->ssa.var_info[info->ssa.ops[opline - op_array->opcodes].op1_use].range; in zend_func_return_info()
4257 if (info->ssa.var_info[info->ssa.ops[opline - op_array->opcodes].op1_use].range.underflow) { in zend_func_return_info()
4261 …tmp_range.min = MIN(tmp_range.min, info->ssa.var_info[info->ssa.ops[opline - op_array->opcodes].op… in zend_func_return_info()
4263 if (info->ssa.var_info[info->ssa.ops[opline - op_array->opcodes].op1_use].range.overflow) { in zend_func_return_info()
4267 …tmp_range.max = MAX(tmp_range.max, info->ssa.var_info[info->ssa.ops[opline - op_array->opcodes].op… in zend_func_return_info()
4405 int zend_may_throw(const zend_op *opline, zend_op_array *op_array, zend_ssa *ssa) in zend_may_throw() argument
4410 if (opline->op1_type == IS_CV) { in zend_may_throw()
4412 switch (opline->opcode) { in zend_may_throw()
4434 } else if (opline->op1_type & (IS_TMP_VAR|IS_VAR)) { in zend_may_throw()
4436 switch (opline->opcode) { in zend_may_throw()
4460 if (opline->op2_type == IS_CV) { in zend_may_throw()
4462 switch (opline->opcode) { in zend_may_throw()
4470 } else if (opline->op2_type & (IS_TMP_VAR|IS_VAR)) { in zend_may_throw()
4472 switch (opline->opcode) { in zend_may_throw()
4482 switch (opline->opcode) { in zend_may_throw()
4515 if ((opline+1)->opcode == ZEND_BIND_GLOBAL) { in zend_may_throw()
4516 return zend_may_throw(opline + 1, op_array, ssa); in zend_may_throw()
4587 if (opline->extended_value == ZEND_ADD) { in zend_may_throw()
4594 } else if (opline->extended_value == ZEND_DIV || in zend_may_throw()
4595 opline->extended_value == ZEND_MOD) { in zend_may_throw()
4603 } else if (opline->extended_value == ZEND_SUB || in zend_may_throw()
4604 opline->extended_value == ZEND_MUL || in zend_may_throw()
4605 opline->extended_value == ZEND_POW) { in zend_may_throw()
4608 } else if (opline->extended_value == ZEND_SL || in zend_may_throw()
4609 opline->extended_value == ZEND_SR) { in zend_may_throw()
4614 } else if (opline->extended_value == ZEND_CONCAT) { in zend_may_throw()
4617 } else if (opline->extended_value == ZEND_BW_OR || in zend_may_throw()
4618 opline->extended_value == ZEND_BW_AND || in zend_may_throw()
4619 opline->extended_value == ZEND_BW_XOR) { in zend_may_throw()
4636 if ((opline+1)->op1_type == IS_CV) { in zend_may_throw()
4637 if (_ssa_op1_info(op_array, ssa, opline+1) & MAY_BE_UNDEF) { in zend_may_throw()
4641 …MAY_BE_RESOURCE|MAY_BE_TRUE|MAY_BE_STRING|MAY_BE_LONG|MAY_BE_DOUBLE)) || opline->op2_type == IS_UN… in zend_may_throw()
4647 if (ssa->ops[opline - op_array->opcodes].op1_use) { in zend_may_throw()
4648 zend_ssa_var_info *var_info = ssa->var_info + ssa->ops[opline - op_array->opcodes].op1_use; in zend_may_throw()
4660 if (opline->op2_type == IS_CONST) { in zend_may_throw()
4662 Z_STR_P(CRT_CONSTANT_EX(op_array, opline, opline->op2, ssa->rt_constants))); in zend_may_throw()
4686 return (opline->op2_type != IS_UNUSED) && (t2 & (MAY_BE_ARRAY|MAY_BE_OBJECT|MAY_BE_RESOURCE)); in zend_may_throw()
4692 …if (Z_TYPE_P(CRT_CONSTANT_EX(op_array, opline, opline->op2, ssa->rt_constants)) == IS_CONSTANT_AST… in zend_may_throw()
4696 uint32_t arg_num = opline->op1.num; in zend_may_throw()
4717 switch (opline->extended_value) { in zend_may_throw()