| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/ast/scopes.h" | 5 #include "src/ast/scopes.h" |
| 6 #include "src/compiler/code-generator.h" | 6 #include "src/compiler/code-generator.h" |
| 7 #include "src/compiler/code-generator-impl.h" | 7 #include "src/compiler/code-generator-impl.h" |
| 8 #include "src/compiler/gap-resolver.h" | 8 #include "src/compiler/gap-resolver.h" |
| 9 #include "src/compiler/node-matchers.h" | 9 #include "src/compiler/node-matchers.h" |
| 10 #include "src/compiler/osr.h" | 10 #include "src/compiler/osr.h" |
| (...skipping 1594 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1605 break; | 1605 break; |
| 1606 case kMips64Lb: | 1606 case kMips64Lb: |
| 1607 __ lb(i.OutputRegister(), i.MemoryOperand()); | 1607 __ lb(i.OutputRegister(), i.MemoryOperand()); |
| 1608 break; | 1608 break; |
| 1609 case kMips64Sb: | 1609 case kMips64Sb: |
| 1610 __ sb(i.InputRegister(2), i.MemoryOperand()); | 1610 __ sb(i.InputRegister(2), i.MemoryOperand()); |
| 1611 break; | 1611 break; |
| 1612 case kMips64Lhu: | 1612 case kMips64Lhu: |
| 1613 __ lhu(i.OutputRegister(), i.MemoryOperand()); | 1613 __ lhu(i.OutputRegister(), i.MemoryOperand()); |
| 1614 break; | 1614 break; |
| 1615 case kMips64Ulhu: |
| 1616 __ Ulhu(i.OutputRegister(), i.MemoryOperand()); |
| 1617 break; |
| 1615 case kMips64Lh: | 1618 case kMips64Lh: |
| 1616 __ lh(i.OutputRegister(), i.MemoryOperand()); | 1619 __ lh(i.OutputRegister(), i.MemoryOperand()); |
| 1617 break; | 1620 break; |
| 1621 case kMips64Ulh: |
| 1622 __ Ulh(i.OutputRegister(), i.MemoryOperand()); |
| 1623 break; |
| 1618 case kMips64Sh: | 1624 case kMips64Sh: |
| 1619 __ sh(i.InputRegister(2), i.MemoryOperand()); | 1625 __ sh(i.InputRegister(2), i.MemoryOperand()); |
| 1620 break; | 1626 break; |
| 1627 case kMips64Ush: |
| 1628 __ Ush(i.InputRegister(2), i.MemoryOperand(), kScratchReg); |
| 1629 break; |
| 1621 case kMips64Lw: | 1630 case kMips64Lw: |
| 1622 __ lw(i.OutputRegister(), i.MemoryOperand()); | 1631 __ lw(i.OutputRegister(), i.MemoryOperand()); |
| 1623 break; | 1632 break; |
| 1633 case kMips64Ulw: |
| 1634 __ Ulw(i.OutputRegister(), i.MemoryOperand()); |
| 1635 break; |
| 1624 case kMips64Lwu: | 1636 case kMips64Lwu: |
| 1625 __ lwu(i.OutputRegister(), i.MemoryOperand()); | 1637 __ lwu(i.OutputRegister(), i.MemoryOperand()); |
| 1626 break; | 1638 break; |
| 1639 case kMips64Ulwu: |
| 1640 __ Ulwu(i.OutputRegister(), i.MemoryOperand()); |
| 1641 break; |
| 1627 case kMips64Ld: | 1642 case kMips64Ld: |
| 1628 __ ld(i.OutputRegister(), i.MemoryOperand()); | 1643 __ ld(i.OutputRegister(), i.MemoryOperand()); |
| 1629 break; | 1644 break; |
| 1645 case kMips64Uld: |
| 1646 __ Uld(i.OutputRegister(), i.MemoryOperand()); |
| 1647 break; |
| 1630 case kMips64Sw: | 1648 case kMips64Sw: |
| 1631 __ sw(i.InputRegister(2), i.MemoryOperand()); | 1649 __ sw(i.InputRegister(2), i.MemoryOperand()); |
| 1632 break; | 1650 break; |
| 1651 case kMips64Usw: |
| 1652 __ Usw(i.InputRegister(2), i.MemoryOperand()); |
| 1653 break; |
| 1633 case kMips64Sd: | 1654 case kMips64Sd: |
| 1634 __ sd(i.InputRegister(2), i.MemoryOperand()); | 1655 __ sd(i.InputRegister(2), i.MemoryOperand()); |
| 1635 break; | 1656 break; |
| 1657 case kMips64Usd: |
| 1658 __ Usd(i.InputRegister(2), i.MemoryOperand()); |
| 1659 break; |
| 1636 case kMips64Lwc1: { | 1660 case kMips64Lwc1: { |
| 1637 __ lwc1(i.OutputSingleRegister(), i.MemoryOperand()); | 1661 __ lwc1(i.OutputSingleRegister(), i.MemoryOperand()); |
| 1638 break; | 1662 break; |
| 1639 } | 1663 } |
| 1664 case kMips64Ulwc1: { |
| 1665 __ Ulwc1(i.OutputSingleRegister(), i.MemoryOperand(), kScratchReg); |
| 1666 break; |
| 1667 } |
| 1640 case kMips64Swc1: { | 1668 case kMips64Swc1: { |
| 1641 size_t index = 0; | 1669 size_t index = 0; |
| 1642 MemOperand operand = i.MemoryOperand(&index); | 1670 MemOperand operand = i.MemoryOperand(&index); |
| 1643 __ swc1(i.InputSingleRegister(index), operand); | 1671 __ swc1(i.InputSingleRegister(index), operand); |
| 1644 break; | 1672 break; |
| 1645 } | 1673 } |
| 1674 case kMips64Uswc1: { |
| 1675 size_t index = 0; |
| 1676 MemOperand operand = i.MemoryOperand(&index); |
| 1677 __ Uswc1(i.InputSingleRegister(index), operand, kScratchReg); |
| 1678 break; |
| 1679 } |
| 1646 case kMips64Ldc1: | 1680 case kMips64Ldc1: |
| 1647 __ ldc1(i.OutputDoubleRegister(), i.MemoryOperand()); | 1681 __ ldc1(i.OutputDoubleRegister(), i.MemoryOperand()); |
| 1648 break; | 1682 break; |
| 1683 case kMips64Uldc1: |
| 1684 __ Uldc1(i.OutputDoubleRegister(), i.MemoryOperand(), kScratchReg); |
| 1685 break; |
| 1649 case kMips64Sdc1: | 1686 case kMips64Sdc1: |
| 1650 __ sdc1(i.InputDoubleRegister(2), i.MemoryOperand()); | 1687 __ sdc1(i.InputDoubleRegister(2), i.MemoryOperand()); |
| 1651 break; | 1688 break; |
| 1689 case kMips64Usdc1: |
| 1690 __ Usdc1(i.InputDoubleRegister(2), i.MemoryOperand(), kScratchReg); |
| 1691 break; |
| 1652 case kMips64Push: | 1692 case kMips64Push: |
| 1653 if (instr->InputAt(0)->IsFPRegister()) { | 1693 if (instr->InputAt(0)->IsFPRegister()) { |
| 1654 __ sdc1(i.InputDoubleRegister(0), MemOperand(sp, -kDoubleSize)); | 1694 __ sdc1(i.InputDoubleRegister(0), MemOperand(sp, -kDoubleSize)); |
| 1655 __ Subu(sp, sp, Operand(kDoubleSize)); | 1695 __ Subu(sp, sp, Operand(kDoubleSize)); |
| 1656 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize); | 1696 frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize); |
| 1657 } else { | 1697 } else { |
| 1658 __ Push(i.InputRegister(0)); | 1698 __ Push(i.InputRegister(0)); |
| 1659 frame_access_state()->IncreaseSPDelta(1); | 1699 frame_access_state()->IncreaseSPDelta(1); |
| 1660 } | 1700 } |
| 1661 break; | 1701 break; |
| (...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2372 padding_size -= v8::internal::Assembler::kInstrSize; | 2412 padding_size -= v8::internal::Assembler::kInstrSize; |
| 2373 } | 2413 } |
| 2374 } | 2414 } |
| 2375 } | 2415 } |
| 2376 | 2416 |
| 2377 #undef __ | 2417 #undef __ |
| 2378 | 2418 |
| 2379 } // namespace compiler | 2419 } // namespace compiler |
| 2380 } // namespace internal | 2420 } // namespace internal |
| 2381 } // namespace v8 | 2421 } // namespace v8 |
| OLD | NEW |