OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/compiler/code-generator.h" | 5 #include "src/compiler/code-generator.h" |
6 | 6 |
7 #include "src/ast/scopes.h" | 7 #include "src/ast/scopes.h" |
8 #include "src/compiler/code-generator-impl.h" | 8 #include "src/compiler/code-generator-impl.h" |
9 #include "src/compiler/gap-resolver.h" | 9 #include "src/compiler/gap-resolver.h" |
10 #include "src/compiler/node-matchers.h" | 10 #include "src/compiler/node-matchers.h" |
(...skipping 1719 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1730 __ Subsd(i.InputDoubleRegister(0), kScratchDoubleReg); | 1730 __ Subsd(i.InputDoubleRegister(0), kScratchDoubleReg); |
1731 break; | 1731 break; |
1732 case kX64Movsxbl: | 1732 case kX64Movsxbl: |
1733 ASSEMBLE_MOVX(movsxbl); | 1733 ASSEMBLE_MOVX(movsxbl); |
1734 __ AssertZeroExtended(i.OutputRegister()); | 1734 __ AssertZeroExtended(i.OutputRegister()); |
1735 break; | 1735 break; |
1736 case kX64Movzxbl: | 1736 case kX64Movzxbl: |
1737 ASSEMBLE_MOVX(movzxbl); | 1737 ASSEMBLE_MOVX(movzxbl); |
1738 __ AssertZeroExtended(i.OutputRegister()); | 1738 __ AssertZeroExtended(i.OutputRegister()); |
1739 break; | 1739 break; |
1740 case kX64Movsxbq: | |
1741 ASSEMBLE_MOVX(movsxbq); | |
1742 __ AssertZeroExtended(i.OutputRegister()); | |
1743 break; | |
1744 case kX64Movzxbq: | |
1745 ASSEMBLE_MOVX(movzxbq); | |
1746 __ AssertZeroExtended(i.OutputRegister()); | |
1747 break; | |
1748 case kX64Movb: { | 1740 case kX64Movb: { |
1749 size_t index = 0; | 1741 size_t index = 0; |
1750 Operand operand = i.MemoryOperand(&index); | 1742 Operand operand = i.MemoryOperand(&index); |
1751 if (HasImmediateInput(instr, index)) { | 1743 if (HasImmediateInput(instr, index)) { |
1752 __ movb(operand, Immediate(i.InputInt8(index))); | 1744 __ movb(operand, Immediate(i.InputInt8(index))); |
1753 } else { | 1745 } else { |
1754 __ movb(operand, i.InputRegister(index)); | 1746 __ movb(operand, i.InputRegister(index)); |
1755 } | 1747 } |
1756 break; | 1748 break; |
1757 } | 1749 } |
1758 case kX64Movsxwl: | 1750 case kX64Movsxwl: |
1759 ASSEMBLE_MOVX(movsxwl); | 1751 ASSEMBLE_MOVX(movsxwl); |
1760 __ AssertZeroExtended(i.OutputRegister()); | 1752 __ AssertZeroExtended(i.OutputRegister()); |
1761 break; | 1753 break; |
1762 case kX64Movzxwl: | 1754 case kX64Movzxwl: |
1763 ASSEMBLE_MOVX(movzxwl); | 1755 ASSEMBLE_MOVX(movzxwl); |
1764 __ AssertZeroExtended(i.OutputRegister()); | 1756 __ AssertZeroExtended(i.OutputRegister()); |
1765 break; | 1757 break; |
1766 case kX64Movsxwq: | |
1767 ASSEMBLE_MOVX(movsxwq); | |
1768 __ AssertZeroExtended(i.OutputRegister()); | |
1769 break; | |
1770 case kX64Movzxwq: | |
1771 ASSEMBLE_MOVX(movzxwq); | |
1772 __ AssertZeroExtended(i.OutputRegister()); | |
1773 break; | |
1774 case kX64Movw: { | 1758 case kX64Movw: { |
1775 size_t index = 0; | 1759 size_t index = 0; |
1776 Operand operand = i.MemoryOperand(&index); | 1760 Operand operand = i.MemoryOperand(&index); |
1777 if (HasImmediateInput(instr, index)) { | 1761 if (HasImmediateInput(instr, index)) { |
1778 __ movw(operand, Immediate(i.InputInt16(index))); | 1762 __ movw(operand, Immediate(i.InputInt16(index))); |
1779 } else { | 1763 } else { |
1780 __ movw(operand, i.InputRegister(index)); | 1764 __ movw(operand, i.InputRegister(index)); |
1781 } | 1765 } |
1782 break; | 1766 break; |
1783 } | 1767 } |
(...skipping 807 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2591 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; | 2575 int padding_size = last_lazy_deopt_pc_ + space_needed - current_pc; |
2592 __ Nop(padding_size); | 2576 __ Nop(padding_size); |
2593 } | 2577 } |
2594 } | 2578 } |
2595 | 2579 |
2596 #undef __ | 2580 #undef __ |
2597 | 2581 |
2598 } // namespace compiler | 2582 } // namespace compiler |
2599 } // namespace internal | 2583 } // namespace internal |
2600 } // namespace v8 | 2584 } // namespace v8 |
OLD | NEW |