Lines Matching refs:opline

172 …ed_tmp_var(const zend_op_array *op_array, uint32_t build_flags, zend_op *opline, uint32_t var_num,…  in find_adjusted_tmp_var()  argument
174 zend_op *op = opline; in find_adjusted_tmp_var()
235 zend_op *opline = op_array->opcodes + blocks[j].start + blocks[j].len - 1; in place_essa_pis() local
245 switch (opline->opcode) { in place_essa_pis()
266 if (opline->op1_type == IS_TMP_VAR && in place_essa_pis()
267 ((opline-1)->opcode == ZEND_IS_EQUAL || in place_essa_pis()
268 (opline-1)->opcode == ZEND_IS_NOT_EQUAL || in place_essa_pis()
269 (opline-1)->opcode == ZEND_IS_SMALLER || in place_essa_pis()
270 (opline-1)->opcode == ZEND_IS_SMALLER_OR_EQUAL) && in place_essa_pis()
271 opline->op1.var == (opline-1)->result.var) { in place_essa_pis()
278 if ((opline-1)->op1_type == IS_CV) { in place_essa_pis()
279 var1 = EX_VAR_TO_NUM((opline-1)->op1.var); in place_essa_pis()
280 } else if ((opline-1)->op1_type == IS_TMP_VAR) { in place_essa_pis()
282 op_array, build_flags, opline, (opline-1)->op1.var, &val2); in place_essa_pis()
285 if ((opline-1)->op2_type == IS_CV) { in place_essa_pis()
286 var2 = EX_VAR_TO_NUM((opline-1)->op2.var); in place_essa_pis()
287 } else if ((opline-1)->op2_type == IS_TMP_VAR) { in place_essa_pis()
289 op_array, build_flags, opline, (opline-1)->op2.var, &val1); in place_essa_pis()
303 if ((opline-1)->op2_type == IS_CONST) { in place_essa_pis()
304 …zval *zv = CRT_CONSTANT_EX(op_array, (opline-1), (opline-1)->op2, (build_flags & ZEND_RT_CONSTANTS… in place_essa_pis()
325 if ((opline-1)->op1_type == IS_CONST) { in place_essa_pis()
326 …zval *zv = CRT_CONSTANT_EX(op_array, (opline-1), (opline-1)->op1, (build_flags & ZEND_RT_CONSTANTS… in place_essa_pis()
328 …add_val1 = Z_LVAL_P(CRT_CONSTANT_EX(op_array, (opline-1), (opline-1)->op1, (build_flags & ZEND_RT_… in place_essa_pis()
347 if ((opline-1)->opcode == ZEND_IS_EQUAL) { in place_essa_pis()
354 } else if ((opline-1)->opcode == ZEND_IS_NOT_EQUAL) { in place_essa_pis()
361 } else if ((opline-1)->opcode == ZEND_IS_SMALLER) { in place_essa_pis()
370 } else if ((opline-1)->opcode == ZEND_IS_SMALLER_OR_EQUAL) { in place_essa_pis()
382 if((opline-1)->opcode == ZEND_IS_EQUAL) { in place_essa_pis()
389 } else if ((opline-1)->opcode == ZEND_IS_NOT_EQUAL) { in place_essa_pis()
396 } else if ((opline-1)->opcode == ZEND_IS_SMALLER) { in place_essa_pis()
405 } else if ((opline-1)->opcode == ZEND_IS_SMALLER_OR_EQUAL) { in place_essa_pis()
416 } else if (opline->op1_type == IS_TMP_VAR && in place_essa_pis()
417 ((opline-1)->opcode == ZEND_POST_INC || in place_essa_pis()
418 (opline-1)->opcode == ZEND_POST_DEC) && in place_essa_pis()
419 opline->op1.var == (opline-1)->result.var && in place_essa_pis()
420 (opline-1)->op1_type == IS_CV) { in place_essa_pis()
421 int var = EX_VAR_TO_NUM((opline-1)->op1.var); in place_essa_pis()
423 if ((opline-1)->opcode == ZEND_POST_DEC) { in place_essa_pis()
430 } else if ((opline-1)->opcode == ZEND_POST_INC) { in place_essa_pis()
438 } else if (opline->op1_type == IS_VAR && in place_essa_pis()
439 ((opline-1)->opcode == ZEND_PRE_INC || in place_essa_pis()
440 (opline-1)->opcode == ZEND_PRE_DEC) && in place_essa_pis()
441 opline->op1.var == (opline-1)->result.var && in place_essa_pis()
442 (opline-1)->op1_type == IS_CV) { in place_essa_pis()
443 int var = EX_VAR_TO_NUM((opline-1)->op1.var); in place_essa_pis()
452 } else if (opline->op1_type == IS_TMP_VAR && (opline-1)->opcode == ZEND_TYPE_CHECK && in place_essa_pis()
453 opline->op1.var == (opline-1)->result.var && (opline-1)->op1_type == IS_CV) { in place_essa_pis()
454 int var = EX_VAR_TO_NUM((opline-1)->op1.var); in place_essa_pis()
455 uint32_t type = (opline-1)->extended_value; in place_essa_pis()
465 } else if (opline->op1_type == IS_TMP_VAR && in place_essa_pis()
466 ((opline-1)->opcode == ZEND_IS_IDENTICAL in place_essa_pis()
467 || (opline-1)->opcode == ZEND_IS_NOT_IDENTICAL) && in place_essa_pis()
468 opline->op1.var == (opline-1)->result.var) { in place_essa_pis()
472 if ((opline-1)->op1_type == IS_CV && (opline-1)->op2_type == IS_CONST) { in place_essa_pis()
473 var = EX_VAR_TO_NUM((opline-1)->op1.var); in place_essa_pis()
474 val = CRT_CONSTANT_EX(op_array, (opline-1), (opline-1)->op2, (build_flags & ZEND_RT_CONSTANTS)); in place_essa_pis()
475 } else if ((opline-1)->op1_type == IS_CONST && (opline-1)->op2_type == IS_CV) { in place_essa_pis()
476 var = EX_VAR_TO_NUM((opline-1)->op2.var); in place_essa_pis()
477 val = CRT_CONSTANT_EX(op_array, (opline-1), (opline-1)->op1, (build_flags & ZEND_RT_CONSTANTS)); in place_essa_pis()
489 if ((opline-1)->opcode == ZEND_IS_IDENTICAL) { in place_essa_pis()
504 } else if (opline->op1_type == IS_TMP_VAR && (opline-1)->opcode == ZEND_INSTANCEOF && in place_essa_pis()
505 opline->op1.var == (opline-1)->result.var && (opline-1)->op1_type == IS_CV && in place_essa_pis()
506 (opline-1)->op2_type == IS_CONST) { in place_essa_pis()
507 int var = EX_VAR_TO_NUM((opline-1)->op1.var); in place_essa_pis()
508 …zend_string *lcname = Z_STR_P(CRT_CONSTANT_EX(op_array, (opline-1), (opline-1)->op2, (build_flags … in place_essa_pis()
533 zend_op *opline, *end; in zend_ssa_rename() local
558 opline = op_array->opcodes + blocks[n].start; in zend_ssa_rename()
559 end = opline + blocks[n].len; in zend_ssa_rename()
560 for (; opline < end; opline++) { in zend_ssa_rename()
561 uint32_t k = opline - op_array->opcodes; in zend_ssa_rename()
562 if (opline->opcode != ZEND_OP_DATA) { in zend_ssa_rename()
563 zend_op *next = opline + 1; in zend_ssa_rename()
580 if (opline->op1_type & (IS_CV|IS_VAR|IS_TMP_VAR)) { in zend_ssa_rename()
581 ssa_ops[k].op1_use = var[EX_VAR_TO_NUM(opline->op1.var)]; in zend_ssa_rename()
584 if (opline->opcode == ZEND_FE_FETCH_R || opline->opcode == ZEND_FE_FETCH_RW) { in zend_ssa_rename()
585 if (opline->op2_type == IS_CV) { in zend_ssa_rename()
586 ssa_ops[k].op2_use = var[EX_VAR_TO_NUM(opline->op2.var)]; in zend_ssa_rename()
589 var[EX_VAR_TO_NUM(opline->op2.var)] = ssa_vars_count; in zend_ssa_rename()
592 } else if (opline->op2_type & (IS_CV|IS_VAR|IS_TMP_VAR)) { in zend_ssa_rename()
593 ssa_ops[k].op2_use = var[EX_VAR_TO_NUM(opline->op2.var)]; in zend_ssa_rename()
596 switch (opline->opcode) { in zend_ssa_rename()
598 if ((build_flags & ZEND_SSA_RC_INFERENCE) && opline->op2_type == IS_CV) { in zend_ssa_rename()
600 var[EX_VAR_TO_NUM(opline->op2.var)] = ssa_vars_count; in zend_ssa_rename()
604 if (opline->op1_type == IS_CV) { in zend_ssa_rename()
606 var[EX_VAR_TO_NUM(opline->op1.var)] = ssa_vars_count; in zend_ssa_rename()
613 if (opline->op2_type == IS_CV) { in zend_ssa_rename()
615 var[EX_VAR_TO_NUM(opline->op2.var)] = ssa_vars_count; in zend_ssa_rename()
619 if (opline->op1_type == IS_CV) { in zend_ssa_rename()
621 var[EX_VAR_TO_NUM(opline->op1.var)] = ssa_vars_count; in zend_ssa_rename()
628 if (opline->op1_type == IS_CV) { in zend_ssa_rename()
630 var[EX_VAR_TO_NUM(opline->op1.var)] = ssa_vars_count; in zend_ssa_rename()
637 if (opline->op1_type == IS_CV) { in zend_ssa_rename()
639 var[EX_VAR_TO_NUM(opline->op1.var)] = ssa_vars_count; in zend_ssa_rename()
651 if (opline->op1_type == IS_CV) { in zend_ssa_rename()
653 var[EX_VAR_TO_NUM(opline->op1.var)] = ssa_vars_count; in zend_ssa_rename()
670 if (opline->op1_type == IS_CV) { in zend_ssa_rename()
672 var[EX_VAR_TO_NUM(opline->op1.var)] = ssa_vars_count; in zend_ssa_rename()
678 ssa_ops[k].result_use = var[EX_VAR_TO_NUM(opline->result.var)]; in zend_ssa_rename()
681 || (opline->extended_value & ZEND_ARRAY_ELEMENT_REF)) in zend_ssa_rename()
682 && opline->op1_type == IS_CV) { in zend_ssa_rename()
684 var[EX_VAR_TO_NUM(opline->op1.var)] = ssa_vars_count; in zend_ssa_rename()
690 ssa_ops[k].result_use = var[EX_VAR_TO_NUM(opline->result.var)]; in zend_ssa_rename()
697 if ((build_flags & ZEND_SSA_RC_INFERENCE) && opline->op1_type == IS_CV) { in zend_ssa_rename()
699 var[EX_VAR_TO_NUM(opline->op1.var)] = ssa_vars_count; in zend_ssa_rename()
712 if (opline->op1_type == IS_CV) { in zend_ssa_rename()
714 var[EX_VAR_TO_NUM(opline->op1.var)] = ssa_vars_count; in zend_ssa_rename()
720 if ((build_flags & ZEND_SSA_RC_INFERENCE) && opline->op1_type == IS_CV) { in zend_ssa_rename()
722 var[EX_VAR_TO_NUM(opline->op1.var)] = ssa_vars_count; in zend_ssa_rename()
735 if (opline->op1_type == IS_CV) { in zend_ssa_rename()
737 var[EX_VAR_TO_NUM(opline->op1.var)] = ssa_vars_count; in zend_ssa_rename()
744 var[EX_VAR_TO_NUM(opline->op1.var)] = ssa_vars_count; in zend_ssa_rename()
758 if (opline->op1_type == IS_CV) { in zend_ssa_rename()
760 var[EX_VAR_TO_NUM(opline->op1.var)] = ssa_vars_count; in zend_ssa_rename()
766 if ((opline->extended_value & ZEND_BIND_REF) || (build_flags & ZEND_SSA_RC_INFERENCE)) { in zend_ssa_rename()
768 var[EX_VAR_TO_NUM(opline->op2.var)] = ssa_vars_count; in zend_ssa_rename()
773 if (opline->op1_type == IS_CV in zend_ssa_rename()
777 var[EX_VAR_TO_NUM(opline->op1.var)] = ssa_vars_count; in zend_ssa_rename()
782 if (opline->op1_type & (IS_TMP_VAR|IS_VAR|IS_CV)) { in zend_ssa_rename()
784 var[EX_VAR_TO_NUM(opline->op1.var)] = ssa_vars_count; in zend_ssa_rename()
792 if (opline->result_type == IS_CV) { in zend_ssa_rename()
794 && opline->opcode != ZEND_RECV) { in zend_ssa_rename()
795 ssa_ops[k].result_use = var[EX_VAR_TO_NUM(opline->result.var)]; in zend_ssa_rename()
798 var[EX_VAR_TO_NUM(opline->result.var)] = ssa_vars_count; in zend_ssa_rename()
801 } else if (opline->result_type & (IS_VAR|IS_TMP_VAR)) { in zend_ssa_rename()
803 var[EX_VAR_TO_NUM(opline->result.var)] = ssa_vars_count; in zend_ssa_rename()
1193 void zend_ssa_remove_instr(zend_ssa *ssa, zend_op *opline, zend_ssa_op *ssa_op) /* {{{ */ in zend_ssa_remove_instr() argument
1220 MAKE_NOP(opline); in zend_ssa_remove_instr()