OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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/crankshaft/x64/lithium-x64.h" | 5 #include "src/crankshaft/x64/lithium-x64.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #if V8_TARGET_ARCH_X64 | 9 #if V8_TARGET_ARCH_X64 |
10 | 10 |
(...skipping 1761 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1772 TempRegister()); | 1772 TempRegister()); |
1773 } | 1773 } |
1774 | 1774 |
1775 | 1775 |
1776 LInstruction* LChunkBuilder::DoMapEnumLength(HMapEnumLength* instr) { | 1776 LInstruction* LChunkBuilder::DoMapEnumLength(HMapEnumLength* instr) { |
1777 LOperand* map = UseRegisterAtStart(instr->value()); | 1777 LOperand* map = UseRegisterAtStart(instr->value()); |
1778 return DefineAsRegister(new(zone()) LMapEnumLength(map)); | 1778 return DefineAsRegister(new(zone()) LMapEnumLength(map)); |
1779 } | 1779 } |
1780 | 1780 |
1781 | 1781 |
1782 LInstruction* LChunkBuilder::DoDateField(HDateField* instr) { | |
1783 LOperand* object = UseFixed(instr->value(), rax); | |
1784 LDateField* result = new(zone()) LDateField(object, instr->index()); | |
1785 return MarkAsCall(DefineFixed(result, rax), instr, CANNOT_DEOPTIMIZE_EAGERLY); | |
1786 } | |
1787 | |
1788 | |
1789 LInstruction* LChunkBuilder::DoSeqStringGetChar(HSeqStringGetChar* instr) { | 1782 LInstruction* LChunkBuilder::DoSeqStringGetChar(HSeqStringGetChar* instr) { |
1790 LOperand* string = UseRegisterAtStart(instr->string()); | 1783 LOperand* string = UseRegisterAtStart(instr->string()); |
1791 LOperand* index = UseRegisterOrConstantAtStart(instr->index()); | 1784 LOperand* index = UseRegisterOrConstantAtStart(instr->index()); |
1792 return DefineAsRegister(new(zone()) LSeqStringGetChar(string, index)); | 1785 return DefineAsRegister(new(zone()) LSeqStringGetChar(string, index)); |
1793 } | 1786 } |
1794 | 1787 |
1795 | 1788 |
1796 LInstruction* LChunkBuilder::DoSeqStringSetChar(HSeqStringSetChar* instr) { | 1789 LInstruction* LChunkBuilder::DoSeqStringSetChar(HSeqStringSetChar* instr) { |
1797 LOperand* string = UseRegisterAtStart(instr->string()); | 1790 LOperand* string = UseRegisterAtStart(instr->string()); |
1798 LOperand* index = FLAG_debug_code | 1791 LOperand* index = FLAG_debug_code |
(...skipping 884 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2683 LAllocateBlockContext* result = | 2676 LAllocateBlockContext* result = |
2684 new(zone()) LAllocateBlockContext(context, function); | 2677 new(zone()) LAllocateBlockContext(context, function); |
2685 return MarkAsCall(DefineFixed(result, rsi), instr); | 2678 return MarkAsCall(DefineFixed(result, rsi), instr); |
2686 } | 2679 } |
2687 | 2680 |
2688 | 2681 |
2689 } // namespace internal | 2682 } // namespace internal |
2690 } // namespace v8 | 2683 } // namespace v8 |
2691 | 2684 |
2692 #endif // V8_TARGET_ARCH_X64 | 2685 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |