Lines Matching refs:last_op

609 	zend_op *end, *last_op = NULL;  in zend_optimize_block()  local
900 } else if (last_op && opline->opcode == ZEND_ECHO && in zend_optimize_block()
901 last_op->opcode == ZEND_ECHO && in zend_optimize_block()
904 ZEND_OP1_TYPE(last_op) == IS_CONST && in zend_optimize_block()
905 Z_TYPE(ZEND_OP1_LITERAL(last_op)) != IS_DOUBLE) { in zend_optimize_block()
915 if (Z_TYPE(ZEND_OP1_LITERAL(last_op)) != IS_STRING) { in zend_optimize_block()
916 convert_to_string_safe(&ZEND_OP1_LITERAL(last_op)); in zend_optimize_block()
918 l = Z_STRLEN(ZEND_OP1_LITERAL(opline)) + Z_STRLEN(ZEND_OP1_LITERAL(last_op)); in zend_optimize_block()
919 if (IS_INTERNED(Z_STRVAL(ZEND_OP1_LITERAL(last_op)))) { in zend_optimize_block()
921 memcpy(tmp, Z_STRVAL(ZEND_OP1_LITERAL(last_op)), l + 1); in zend_optimize_block()
922 Z_STRVAL(ZEND_OP1_LITERAL(last_op)) = tmp; in zend_optimize_block()
924 Z_STRVAL(ZEND_OP1_LITERAL(last_op)) = erealloc(Z_STRVAL(ZEND_OP1_LITERAL(last_op)), l + 1); in zend_optimize_block()
926 …memcpy(Z_STRVAL(ZEND_OP1_LITERAL(last_op))+Z_STRLEN(ZEND_OP1_LITERAL(last_op)), Z_STRVAL(ZEND_OP1_… in zend_optimize_block()
927 Z_STRVAL(ZEND_OP1_LITERAL(last_op))[l] = '\0'; in zend_optimize_block()
930 …RAL(opline)) = (char*)zend_new_interned_string(Z_STRVAL(ZEND_OP1_LITERAL(last_op)), l + 1, 1 TSRML… in zend_optimize_block()
931 Z_TYPE(ZEND_OP1_LITERAL(last_op)) = IS_NULL; in zend_optimize_block()
933 Z_STRVAL(ZEND_OP1_LITERAL(opline)) = Z_STRVAL(ZEND_OP1_LITERAL(last_op)); in zend_optimize_block()
936 MAKE_NOP(last_op); in zend_optimize_block()
1175 last_op = opline; in zend_optimize_block()
1322 zend_op *last_op = (block->start_opline + block->len - 1); in zend_jmp_optimization() local
1327 switch (last_op->opcode) { in zend_jmp_optimization()
1342 MAKE_NOP(last_op); in zend_jmp_optimization()
1357 *last_op = *target; in zend_jmp_optimization()
1359 if (ZEND_OP1_TYPE(last_op) == IS_CONST) { in zend_jmp_optimization()
1360 zval_copy_ctor(&ZEND_OP1_LITERAL(last_op)); in zend_jmp_optimization()
1363 if (ZEND_OP1_TYPE(last_op) == IS_CONST) { in zend_jmp_optimization()
1364 zval zv = ZEND_OP1_LITERAL(last_op); in zend_jmp_optimization()
1366 last_op->op1.constant = zend_optimizer_add_literal(op_array, &zv TSRMLS_CC); in zend_jmp_optimization()
1393 *last_op = *target; in zend_jmp_optimization()
1395 if (ZEND_OP1_TYPE(last_op) == IS_CONST) { in zend_jmp_optimization()
1396 zval_copy_ctor(&ZEND_OP1_LITERAL(last_op)); in zend_jmp_optimization()
1399 if (ZEND_OP1_TYPE(last_op) == IS_CONST) { in zend_jmp_optimization()
1400 zval zv = ZEND_OP1_LITERAL(last_op); in zend_jmp_optimization()
1402 last_op->op1.constant = zend_optimizer_add_literal(op_array, &zv TSRMLS_CC); in zend_jmp_optimization()
1451 MAKE_NOP(last_op); in zend_jmp_optimization()
1468 if (ZEND_OP1_TYPE(last_op) == IS_CONST) { in zend_jmp_optimization()
1469 int should_jmp = zend_is_true(&ZEND_OP1_LITERAL(last_op)); in zend_jmp_optimization()
1470 if (last_op->opcode == ZEND_JMPZ) { in zend_jmp_optimization()
1473 literal_dtor(&ZEND_OP1_LITERAL(last_op)); in zend_jmp_optimization()
1474 ZEND_OP1_TYPE(last_op) = IS_UNUSED; in zend_jmp_optimization()
1477 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1478 COPY_NODE(last_op->op1, last_op->op2); in zend_jmp_optimization()
1485 MAKE_NOP(last_op); in zend_jmp_optimization()
1493 zend_uchar same_type = ZEND_OP1_TYPE(last_op); in zend_jmp_optimization()
1494 zend_uint same_var = VAR_NUM_EX(last_op->op1); in zend_jmp_optimization()
1510 } else if (target->opcode == INV_COND(last_op->opcode) && in zend_jmp_optimization()
1521 } else if (target->opcode == INV_COND_EX(last_op->opcode) && in zend_jmp_optimization()
1528 last_op->opcode += 3; in zend_jmp_optimization()
1529 last_op->result = target->result; in zend_jmp_optimization()
1534 target->opcode == last_op->opcode && in zend_jmp_optimization()
1559 if (last_op->opcode == ZEND_JMPZ) { in zend_jmp_optimization()
1569 (last_op->opcode == ZEND_JMPZ || last_op->opcode == ZEND_JMPNZ)) { in zend_jmp_optimization()
1594 if (last_op->opcode == ZEND_JMPZ) { in zend_jmp_optimization()
1603 last_op->opcode = ZEND_JMPZNZ; in zend_jmp_optimization()
1611 if (ZEND_OP1_TYPE(last_op) == IS_CONST) { in zend_jmp_optimization()
1612 int should_jmp = zend_is_true(&ZEND_OP1_LITERAL(last_op)); in zend_jmp_optimization()
1613 if (last_op->opcode == ZEND_JMPZ_EX) { in zend_jmp_optimization()
1620 last_op->opcode = ZEND_QM_ASSIGN; in zend_jmp_optimization()
1621 SET_UNUSED(last_op->op2); in zend_jmp_optimization()
1645 same_t[VAR_NUM_EX(last_op->op1)] |= ZEND_OP1_TYPE(last_op); in zend_jmp_optimization()
1646 same_t[VAR_NUM_EX(last_op->result)] |= ZEND_RESULT_TYPE(last_op); in zend_jmp_optimization()
1659 target->opcode == last_op->opcode-3 && in zend_jmp_optimization()
1668 target->opcode == INV_EX_COND(last_op->opcode) && in zend_jmp_optimization()
1677 target->opcode == INV_EX_COND_EX(last_op->opcode) && in zend_jmp_optimization()
1687 target->opcode == last_op->opcode && in zend_jmp_optimization()
1711 if (last_op->opcode == ZEND_JMPZ_EX) { in zend_jmp_optimization()
1732 if (ZEND_OP1_TYPE(last_op) == IS_CONST) { in zend_jmp_optimization()
1733 if (!zend_is_true(&ZEND_OP1_LITERAL(last_op))) { in zend_jmp_optimization()
1737 literal_dtor(&ZEND_OP1_LITERAL(last_op)); in zend_jmp_optimization()
1738 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1739 SET_UNUSED(last_op->op1); in zend_jmp_optimization()
1740 SET_UNUSED(last_op->op2); in zend_jmp_optimization()
1750 literal_dtor(&ZEND_OP1_LITERAL(last_op)); in zend_jmp_optimization()
1751 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1752 SET_UNUSED(last_op->op1); in zend_jmp_optimization()
1753 SET_UNUSED(last_op->op2); in zend_jmp_optimization()
1762 if (!(last_op->op1_type & (IS_VAR|IS_TMP_VAR))) { in zend_jmp_optimization()
1764 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1765 SET_UNUSED(last_op->op1); in zend_jmp_optimization()
1766 SET_UNUSED(last_op->op2); in zend_jmp_optimization()
1774 last_op->opcode = ZEND_JMPNZ; in zend_jmp_optimization()
1782 last_op->opcode = ZEND_JMPZ; in zend_jmp_optimization()
1788 if (last_op->opcode == ZEND_JMPZNZ && block->op2_to) { in zend_jmp_optimization()
1789 zend_uchar same_type = ZEND_OP1_TYPE(last_op); in zend_jmp_optimization()
1790 zend_uchar same_var = VAR_NUM_EX(last_op->op1); in zend_jmp_optimization()