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/x87/lithium-x87.h" | 5 #include "src/crankshaft/x87/lithium-x87.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #if V8_TARGET_ARCH_X87 | 9 #if V8_TARGET_ARCH_X87 |
10 | 10 |
(...skipping 1773 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1784 TempRegister()); | 1784 TempRegister()); |
1785 } | 1785 } |
1786 | 1786 |
1787 | 1787 |
1788 LInstruction* LChunkBuilder::DoMapEnumLength(HMapEnumLength* instr) { | 1788 LInstruction* LChunkBuilder::DoMapEnumLength(HMapEnumLength* instr) { |
1789 LOperand* map = UseRegisterAtStart(instr->value()); | 1789 LOperand* map = UseRegisterAtStart(instr->value()); |
1790 return DefineAsRegister(new(zone()) LMapEnumLength(map)); | 1790 return DefineAsRegister(new(zone()) LMapEnumLength(map)); |
1791 } | 1791 } |
1792 | 1792 |
1793 | 1793 |
| 1794 LInstruction* LChunkBuilder::DoDateField(HDateField* instr) { |
| 1795 LOperand* date = UseFixed(instr->value(), eax); |
| 1796 LDateField* result = |
| 1797 new(zone()) LDateField(date, FixedTemp(ecx), instr->index()); |
| 1798 return MarkAsCall(DefineFixed(result, eax), instr, CANNOT_DEOPTIMIZE_EAGERLY); |
| 1799 } |
| 1800 |
| 1801 |
1794 LInstruction* LChunkBuilder::DoSeqStringGetChar(HSeqStringGetChar* instr) { | 1802 LInstruction* LChunkBuilder::DoSeqStringGetChar(HSeqStringGetChar* instr) { |
1795 LOperand* string = UseRegisterAtStart(instr->string()); | 1803 LOperand* string = UseRegisterAtStart(instr->string()); |
1796 LOperand* index = UseRegisterOrConstantAtStart(instr->index()); | 1804 LOperand* index = UseRegisterOrConstantAtStart(instr->index()); |
1797 return DefineAsRegister(new(zone()) LSeqStringGetChar(string, index)); | 1805 return DefineAsRegister(new(zone()) LSeqStringGetChar(string, index)); |
1798 } | 1806 } |
1799 | 1807 |
1800 | 1808 |
1801 LOperand* LChunkBuilder::GetSeqStringSetCharOperand(HSeqStringSetChar* instr) { | 1809 LOperand* LChunkBuilder::GetSeqStringSetCharOperand(HSeqStringSetChar* instr) { |
1802 if (instr->encoding() == String::ONE_BYTE_ENCODING) { | 1810 if (instr->encoding() == String::ONE_BYTE_ENCODING) { |
1803 if (FLAG_debug_code) { | 1811 if (FLAG_debug_code) { |
(...skipping 887 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2691 LAllocateBlockContext* result = | 2699 LAllocateBlockContext* result = |
2692 new(zone()) LAllocateBlockContext(context, function); | 2700 new(zone()) LAllocateBlockContext(context, function); |
2693 return MarkAsCall(DefineFixed(result, esi), instr); | 2701 return MarkAsCall(DefineFixed(result, esi), instr); |
2694 } | 2702 } |
2695 | 2703 |
2696 | 2704 |
2697 } // namespace internal | 2705 } // namespace internal |
2698 } // namespace v8 | 2706 } // namespace v8 |
2699 | 2707 |
2700 #endif // V8_TARGET_ARCH_X87 | 2708 #endif // V8_TARGET_ARCH_X87 |
OLD | NEW |