Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(335)

Side by Side Diff: src/arm64/lithium-arm64.cc

Issue 356713003: Use IC register definitions in platform files. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: nits. Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/arm64/ic-arm64.cc ('k') | src/arm64/lithium-codegen-arm64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/arm64/lithium-arm64.h" 7 #include "src/arm64/lithium-arm64.h"
8 #include "src/arm64/lithium-codegen-arm64.h" 8 #include "src/arm64/lithium-codegen-arm64.h"
9 #include "src/hydrogen-osr.h" 9 #include "src/hydrogen-osr.h"
10 #include "src/lithium-allocator-inl.h" 10 #include "src/lithium-allocator-inl.h"
(...skipping 1640 matching lines...) Expand 10 before | Expand all | Expand 10 after
1651 LInstruction* LChunkBuilder::DoLoadGlobalCell(HLoadGlobalCell* instr) { 1651 LInstruction* LChunkBuilder::DoLoadGlobalCell(HLoadGlobalCell* instr) {
1652 LLoadGlobalCell* result = new(zone()) LLoadGlobalCell(); 1652 LLoadGlobalCell* result = new(zone()) LLoadGlobalCell();
1653 return instr->RequiresHoleCheck() 1653 return instr->RequiresHoleCheck()
1654 ? AssignEnvironment(DefineAsRegister(result)) 1654 ? AssignEnvironment(DefineAsRegister(result))
1655 : DefineAsRegister(result); 1655 : DefineAsRegister(result);
1656 } 1656 }
1657 1657
1658 1658
1659 LInstruction* LChunkBuilder::DoLoadGlobalGeneric(HLoadGlobalGeneric* instr) { 1659 LInstruction* LChunkBuilder::DoLoadGlobalGeneric(HLoadGlobalGeneric* instr) {
1660 LOperand* context = UseFixed(instr->context(), cp); 1660 LOperand* context = UseFixed(instr->context(), cp);
1661 LOperand* global_object = UseFixed(instr->global_object(), x0); 1661 LOperand* global_object = UseFixed(instr->global_object(),
1662 LoadIC::ReceiverRegister());
1662 LLoadGlobalGeneric* result = 1663 LLoadGlobalGeneric* result =
1663 new(zone()) LLoadGlobalGeneric(context, global_object); 1664 new(zone()) LLoadGlobalGeneric(context, global_object);
1664 return MarkAsCall(DefineFixed(result, x0), instr); 1665 return MarkAsCall(DefineFixed(result, x0), instr);
1665 } 1666 }
1666 1667
1667 1668
1668 LInstruction* LChunkBuilder::DoLoadKeyed(HLoadKeyed* instr) { 1669 LInstruction* LChunkBuilder::DoLoadKeyed(HLoadKeyed* instr) {
1669 ASSERT(instr->key()->representation().IsSmiOrInteger32()); 1670 ASSERT(instr->key()->representation().IsSmiOrInteger32());
1670 ElementsKind elements_kind = instr->elements_kind(); 1671 ElementsKind elements_kind = instr->elements_kind();
1671 LOperand* elements = UseRegister(instr->elements()); 1672 LOperand* elements = UseRegister(instr->elements());
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1707 !instr->CheckFlag(HInstruction::kUint32)) { 1708 !instr->CheckFlag(HInstruction::kUint32)) {
1708 result = AssignEnvironment(result); 1709 result = AssignEnvironment(result);
1709 } 1710 }
1710 return result; 1711 return result;
1711 } 1712 }
1712 } 1713 }
1713 1714
1714 1715
1715 LInstruction* LChunkBuilder::DoLoadKeyedGeneric(HLoadKeyedGeneric* instr) { 1716 LInstruction* LChunkBuilder::DoLoadKeyedGeneric(HLoadKeyedGeneric* instr) {
1716 LOperand* context = UseFixed(instr->context(), cp); 1717 LOperand* context = UseFixed(instr->context(), cp);
1717 LOperand* object = UseFixed(instr->object(), x1); 1718 LOperand* object = UseFixed(instr->object(), KeyedLoadIC::ReceiverRegister());
1718 LOperand* key = UseFixed(instr->key(), x0); 1719 LOperand* key = UseFixed(instr->key(), KeyedLoadIC::NameRegister());
1719 1720
1720 LInstruction* result = 1721 LInstruction* result =
1721 DefineFixed(new(zone()) LLoadKeyedGeneric(context, object, key), x0); 1722 DefineFixed(new(zone()) LLoadKeyedGeneric(context, object, key), x0);
1722 return MarkAsCall(result, instr); 1723 return MarkAsCall(result, instr);
1723 } 1724 }
1724 1725
1725 1726
1726 LInstruction* LChunkBuilder::DoLoadNamedField(HLoadNamedField* instr) { 1727 LInstruction* LChunkBuilder::DoLoadNamedField(HLoadNamedField* instr) {
1727 LOperand* object = UseRegisterAtStart(instr->object()); 1728 LOperand* object = UseRegisterAtStart(instr->object());
1728 return DefineAsRegister(new(zone()) LLoadNamedField(object)); 1729 return DefineAsRegister(new(zone()) LLoadNamedField(object));
1729 } 1730 }
1730 1731
1731 1732
1732 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) { 1733 LInstruction* LChunkBuilder::DoLoadNamedGeneric(HLoadNamedGeneric* instr) {
1733 LOperand* context = UseFixed(instr->context(), cp); 1734 LOperand* context = UseFixed(instr->context(), cp);
1734 LOperand* object = UseFixed(instr->object(), x0); 1735 LOperand* object = UseFixed(instr->object(), LoadIC::ReceiverRegister());
1735 LInstruction* result = 1736 LInstruction* result =
1736 DefineFixed(new(zone()) LLoadNamedGeneric(context, object), x0); 1737 DefineFixed(new(zone()) LLoadNamedGeneric(context, object), x0);
1737 return MarkAsCall(result, instr); 1738 return MarkAsCall(result, instr);
1738 } 1739 }
1739 1740
1740 1741
1741 LInstruction* LChunkBuilder::DoLoadRoot(HLoadRoot* instr) { 1742 LInstruction* LChunkBuilder::DoLoadRoot(HLoadRoot* instr) {
1742 return DefineAsRegister(new(zone()) LLoadRoot); 1743 return DefineAsRegister(new(zone()) LLoadRoot);
1743 } 1744 }
1744 1745
(...skipping 971 matching lines...) Expand 10 before | Expand all | Expand 10 after
2716 HAllocateBlockContext* instr) { 2717 HAllocateBlockContext* instr) {
2717 LOperand* context = UseFixed(instr->context(), cp); 2718 LOperand* context = UseFixed(instr->context(), cp);
2718 LOperand* function = UseRegisterAtStart(instr->function()); 2719 LOperand* function = UseRegisterAtStart(instr->function());
2719 LAllocateBlockContext* result = 2720 LAllocateBlockContext* result =
2720 new(zone()) LAllocateBlockContext(context, function); 2721 new(zone()) LAllocateBlockContext(context, function);
2721 return MarkAsCall(DefineFixed(result, cp), instr); 2722 return MarkAsCall(DefineFixed(result, cp), instr);
2722 } 2723 }
2723 2724
2724 2725
2725 } } // namespace v8::internal 2726 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm64/ic-arm64.cc ('k') | src/arm64/lithium-codegen-arm64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698