Lines Matching refs:last_op

613 	zend_op *end, *last_op = NULL;  in zend_optimize_block()  local
907 } else if (last_op && opline->opcode == ZEND_ECHO && in zend_optimize_block()
908 last_op->opcode == ZEND_ECHO && in zend_optimize_block()
911 ZEND_OP1_TYPE(last_op) == IS_CONST && in zend_optimize_block()
912 Z_TYPE(ZEND_OP1_LITERAL(last_op)) != IS_DOUBLE) { in zend_optimize_block()
922 if (Z_TYPE(ZEND_OP1_LITERAL(last_op)) != IS_STRING) { in zend_optimize_block()
923 convert_to_string_safe(&ZEND_OP1_LITERAL(last_op)); in zend_optimize_block()
925 l = Z_STRLEN(ZEND_OP1_LITERAL(opline)) + Z_STRLEN(ZEND_OP1_LITERAL(last_op)); in zend_optimize_block()
926 if (IS_INTERNED(Z_STRVAL(ZEND_OP1_LITERAL(last_op)))) { in zend_optimize_block()
928 memcpy(tmp, Z_STRVAL(ZEND_OP1_LITERAL(last_op)), l + 1); in zend_optimize_block()
929 Z_STRVAL(ZEND_OP1_LITERAL(last_op)) = tmp; in zend_optimize_block()
931 Z_STRVAL(ZEND_OP1_LITERAL(last_op)) = erealloc(Z_STRVAL(ZEND_OP1_LITERAL(last_op)), l + 1); in zend_optimize_block()
933 …memcpy(Z_STRVAL(ZEND_OP1_LITERAL(last_op))+Z_STRLEN(ZEND_OP1_LITERAL(last_op)), Z_STRVAL(ZEND_OP1_… in zend_optimize_block()
934 Z_STRVAL(ZEND_OP1_LITERAL(last_op))[l] = '\0'; in zend_optimize_block()
937 …RAL(opline)) = (char*)zend_new_interned_string(Z_STRVAL(ZEND_OP1_LITERAL(last_op)), l + 1, 1 TSRML… in zend_optimize_block()
938 Z_TYPE(ZEND_OP1_LITERAL(last_op)) = IS_NULL; in zend_optimize_block()
940 Z_STRVAL(ZEND_OP1_LITERAL(opline)) = Z_STRVAL(ZEND_OP1_LITERAL(last_op)); in zend_optimize_block()
943 MAKE_NOP(last_op); in zend_optimize_block()
1182 last_op = opline; in zend_optimize_block()
1329 zend_op *last_op = (block->start_opline + block->len - 1); in zend_jmp_optimization() local
1334 switch (last_op->opcode) { in zend_jmp_optimization()
1349 MAKE_NOP(last_op); in zend_jmp_optimization()
1364 *last_op = *target; in zend_jmp_optimization()
1366 if (ZEND_OP1_TYPE(last_op) == IS_CONST) { in zend_jmp_optimization()
1367 zval_copy_ctor(&ZEND_OP1_LITERAL(last_op)); in zend_jmp_optimization()
1370 if (ZEND_OP1_TYPE(last_op) == IS_CONST) { in zend_jmp_optimization()
1371 zval zv = ZEND_OP1_LITERAL(last_op); in zend_jmp_optimization()
1373 last_op->op1.constant = zend_optimizer_add_literal(op_array, &zv TSRMLS_CC); in zend_jmp_optimization()
1400 *last_op = *target; in zend_jmp_optimization()
1402 if (ZEND_OP1_TYPE(last_op) == IS_CONST) { in zend_jmp_optimization()
1403 zval_copy_ctor(&ZEND_OP1_LITERAL(last_op)); in zend_jmp_optimization()
1406 if (ZEND_OP1_TYPE(last_op) == IS_CONST) { in zend_jmp_optimization()
1407 zval zv = ZEND_OP1_LITERAL(last_op); in zend_jmp_optimization()
1409 last_op->op1.constant = zend_optimizer_add_literal(op_array, &zv TSRMLS_CC); in zend_jmp_optimization()
1458 MAKE_NOP(last_op); in zend_jmp_optimization()
1475 if (ZEND_OP1_TYPE(last_op) == IS_CONST) { in zend_jmp_optimization()
1476 int should_jmp = zend_is_true(&ZEND_OP1_LITERAL(last_op)); in zend_jmp_optimization()
1477 if (last_op->opcode == ZEND_JMPZ) { in zend_jmp_optimization()
1480 literal_dtor(&ZEND_OP1_LITERAL(last_op)); in zend_jmp_optimization()
1481 ZEND_OP1_TYPE(last_op) = IS_UNUSED; in zend_jmp_optimization()
1484 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1485 COPY_NODE(last_op->op1, last_op->op2); in zend_jmp_optimization()
1492 MAKE_NOP(last_op); in zend_jmp_optimization()
1500 zend_uchar same_type = ZEND_OP1_TYPE(last_op); in zend_jmp_optimization()
1501 zend_uint same_var = VAR_NUM_EX(last_op->op1); in zend_jmp_optimization()
1517 } else if (target->opcode == INV_COND(last_op->opcode) && in zend_jmp_optimization()
1528 } else if (target->opcode == INV_COND_EX(last_op->opcode) && in zend_jmp_optimization()
1535 last_op->opcode += 3; in zend_jmp_optimization()
1536 last_op->result = target->result; in zend_jmp_optimization()
1541 target->opcode == last_op->opcode && in zend_jmp_optimization()
1566 if (last_op->opcode == ZEND_JMPZ) { in zend_jmp_optimization()
1576 (last_op->opcode == ZEND_JMPZ || last_op->opcode == ZEND_JMPNZ)) { in zend_jmp_optimization()
1601 if (last_op->opcode == ZEND_JMPZ) { in zend_jmp_optimization()
1610 last_op->opcode = ZEND_JMPZNZ; in zend_jmp_optimization()
1618 if (ZEND_OP1_TYPE(last_op) == IS_CONST) { in zend_jmp_optimization()
1619 int should_jmp = zend_is_true(&ZEND_OP1_LITERAL(last_op)); in zend_jmp_optimization()
1620 if (last_op->opcode == ZEND_JMPZ_EX) { in zend_jmp_optimization()
1627 last_op->opcode = ZEND_QM_ASSIGN; in zend_jmp_optimization()
1628 SET_UNUSED(last_op->op2); in zend_jmp_optimization()
1652 same_t[VAR_NUM_EX(last_op->op1)] |= ZEND_OP1_TYPE(last_op); in zend_jmp_optimization()
1653 same_t[VAR_NUM_EX(last_op->result)] |= ZEND_RESULT_TYPE(last_op); in zend_jmp_optimization()
1666 target->opcode == last_op->opcode-3 && in zend_jmp_optimization()
1675 target->opcode == INV_EX_COND(last_op->opcode) && in zend_jmp_optimization()
1684 target->opcode == INV_EX_COND_EX(last_op->opcode) && in zend_jmp_optimization()
1694 target->opcode == last_op->opcode && in zend_jmp_optimization()
1718 if (last_op->opcode == ZEND_JMPZ_EX) { in zend_jmp_optimization()
1739 if (ZEND_OP1_TYPE(last_op) == IS_CONST) { in zend_jmp_optimization()
1740 if (!zend_is_true(&ZEND_OP1_LITERAL(last_op))) { in zend_jmp_optimization()
1744 literal_dtor(&ZEND_OP1_LITERAL(last_op)); in zend_jmp_optimization()
1745 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1746 SET_UNUSED(last_op->op1); in zend_jmp_optimization()
1747 SET_UNUSED(last_op->op2); in zend_jmp_optimization()
1757 literal_dtor(&ZEND_OP1_LITERAL(last_op)); in zend_jmp_optimization()
1758 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1759 SET_UNUSED(last_op->op1); in zend_jmp_optimization()
1760 SET_UNUSED(last_op->op2); in zend_jmp_optimization()
1769 if (!(last_op->op1_type & (IS_VAR|IS_TMP_VAR))) { in zend_jmp_optimization()
1771 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1772 SET_UNUSED(last_op->op1); in zend_jmp_optimization()
1773 SET_UNUSED(last_op->op2); in zend_jmp_optimization()
1781 last_op->opcode = ZEND_JMPNZ; in zend_jmp_optimization()
1789 last_op->opcode = ZEND_JMPZ; in zend_jmp_optimization()
1795 if (last_op->opcode == ZEND_JMPZNZ && block->op2_to) { in zend_jmp_optimization()
1796 zend_uchar same_type = ZEND_OP1_TYPE(last_op); in zend_jmp_optimization()
1797 zend_uchar same_var = VAR_NUM_EX(last_op->op1); in zend_jmp_optimization()