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 <sstream> | 5 #include <sstream> |
6 | 6 |
7 #include "src/v8.h" | 7 #include "src/v8.h" |
8 | 8 |
9 #include "src/arm64/lithium-codegen-arm64.h" | 9 #include "src/arm64/lithium-codegen-arm64.h" |
10 #include "src/hydrogen-osr.h" | 10 #include "src/hydrogen-osr.h" |
(...skipping 1668 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1679 new(zone()) LLoadFunctionPrototype(function, temp))); | 1679 new(zone()) LLoadFunctionPrototype(function, temp))); |
1680 } | 1680 } |
1681 | 1681 |
1682 | 1682 |
1683 LInstruction* LChunkBuilder::DoLoadGlobalGeneric(HLoadGlobalGeneric* instr) { | 1683 LInstruction* LChunkBuilder::DoLoadGlobalGeneric(HLoadGlobalGeneric* instr) { |
1684 LOperand* context = UseFixed(instr->context(), cp); | 1684 LOperand* context = UseFixed(instr->context(), cp); |
1685 LOperand* global_object = | 1685 LOperand* global_object = |
1686 UseFixed(instr->global_object(), LoadDescriptor::ReceiverRegister()); | 1686 UseFixed(instr->global_object(), LoadDescriptor::ReceiverRegister()); |
1687 LOperand* vector = NULL; | 1687 LOperand* vector = NULL; |
1688 if (instr->HasVectorAndSlot()) { | 1688 if (instr->HasVectorAndSlot()) { |
1689 vector = FixedTemp(VectorLoadICDescriptor::VectorRegister()); | 1689 vector = FixedTemp(LoadWithVectorDescriptor::VectorRegister()); |
1690 } | 1690 } |
1691 | 1691 |
1692 LLoadGlobalGeneric* result = | 1692 LLoadGlobalGeneric* result = |
1693 new(zone()) LLoadGlobalGeneric(context, global_object, vector); | 1693 new(zone()) LLoadGlobalGeneric(context, global_object, vector); |
1694 return MarkAsCall(DefineFixed(result, x0), instr); | 1694 return MarkAsCall(DefineFixed(result, x0), instr); |
1695 } | 1695 } |
1696 | 1696 |
1697 | 1697 |
1698 LInstruction* LChunkBuilder::DoLoadKeyed(HLoadKeyed* instr) { | 1698 LInstruction* LChunkBuilder::DoLoadKeyed(HLoadKeyed* instr) { |
1699 DCHECK(instr->key()->representation().IsSmiOrInteger32()); | 1699 DCHECK(instr->key()->representation().IsSmiOrInteger32()); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1745 } | 1745 } |
1746 | 1746 |
1747 | 1747 |
1748 LInstruction* LChunkBuilder::DoLoadKeyedGeneric(HLoadKeyedGeneric* instr) { | 1748 LInstruction* LChunkBuilder::DoLoadKeyedGeneric(HLoadKeyedGeneric* instr) { |
1749 LOperand* context = UseFixed(instr->context(), cp); | 1749 LOperand* context = UseFixed(instr->context(), cp); |
1750 LOperand* object = | 1750 LOperand* object = |
1751 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); | 1751 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); |
1752 LOperand* key = UseFixed(instr->key(), LoadDescriptor::NameRegister()); | 1752 LOperand* key = UseFixed(instr->key(), LoadDescriptor::NameRegister()); |
1753 LOperand* vector = NULL; | 1753 LOperand* vector = NULL; |
1754 if (instr->HasVectorAndSlot()) { | 1754 if (instr->HasVectorAndSlot()) { |
1755 vector = FixedTemp(VectorLoadICDescriptor::VectorRegister()); | 1755 vector = FixedTemp(LoadWithVectorDescriptor::VectorRegister()); |
1756 } | 1756 } |
1757 | 1757 |
1758 LInstruction* result = | 1758 LInstruction* result = |
1759 DefineFixed(new(zone()) LLoadKeyedGeneric(context, object, key, vector), | 1759 DefineFixed(new(zone()) LLoadKeyedGeneric(context, object, key, vector), |
1760 x0); | 1760 x0); |
1761 return MarkAsCall(result, instr); | 1761 return MarkAsCall(result, instr); |
1762 } | 1762 } |
1763 | 1763 |
1764 | 1764 |
1765 LInstruction* LChunkBuilder::DoLoadNamedField(HLoadNamedField* instr) { | 1765 LInstruction* LChunkBuilder::DoLoadNamedField(HLoadNamedField* instr) { |
1766 LOperand* object = UseRegisterAtStart(instr->object()); | 1766 LOperand* object = UseRegisterAtStart(instr->object()); |
1767 return DefineAsRegister(new(zone()) LLoadNamedField(object)); | 1767 return DefineAsRegister(new(zone()) LLoadNamedField(object)); |
1768 } | 1768 } |
1769 | 1769 |
1770 | 1770 |
1771 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) { | 1771 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) { |
1772 LOperand* context = UseFixed(instr->context(), cp); | 1772 LOperand* context = UseFixed(instr->context(), cp); |
1773 LOperand* object = | 1773 LOperand* object = |
1774 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); | 1774 UseFixed(instr->object(), LoadDescriptor::ReceiverRegister()); |
1775 LOperand* vector = NULL; | 1775 LOperand* vector = NULL; |
1776 if (instr->HasVectorAndSlot()) { | 1776 if (instr->HasVectorAndSlot()) { |
1777 vector = FixedTemp(VectorLoadICDescriptor::VectorRegister()); | 1777 vector = FixedTemp(LoadWithVectorDescriptor::VectorRegister()); |
1778 } | 1778 } |
1779 | 1779 |
1780 LInstruction* result = | 1780 LInstruction* result = |
1781 DefineFixed(new(zone()) LLoadNamedGeneric(context, object, vector), x0); | 1781 DefineFixed(new(zone()) LLoadNamedGeneric(context, object, vector), x0); |
1782 return MarkAsCall(result, instr); | 1782 return MarkAsCall(result, instr); |
1783 } | 1783 } |
1784 | 1784 |
1785 | 1785 |
1786 LInstruction* LChunkBuilder::DoLoadRoot(HLoadRoot* instr) { | 1786 LInstruction* LChunkBuilder::DoLoadRoot(HLoadRoot* instr) { |
1787 return DefineAsRegister(new(zone()) LLoadRoot); | 1787 return DefineAsRegister(new(zone()) LLoadRoot); |
(...skipping 970 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2758 HAllocateBlockContext* instr) { | 2758 HAllocateBlockContext* instr) { |
2759 LOperand* context = UseFixed(instr->context(), cp); | 2759 LOperand* context = UseFixed(instr->context(), cp); |
2760 LOperand* function = UseRegisterAtStart(instr->function()); | 2760 LOperand* function = UseRegisterAtStart(instr->function()); |
2761 LAllocateBlockContext* result = | 2761 LAllocateBlockContext* result = |
2762 new(zone()) LAllocateBlockContext(context, function); | 2762 new(zone()) LAllocateBlockContext(context, function); |
2763 return MarkAsCall(DefineFixed(result, cp), instr); | 2763 return MarkAsCall(DefineFixed(result, cp), instr); |
2764 } | 2764 } |
2765 | 2765 |
2766 | 2766 |
2767 } } // namespace v8::internal | 2767 } } // namespace v8::internal |
OLD | NEW |