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

Side by Side Diff: src/arm/lithium-arm.h

Issue 398053002: Introduce FLAG_vector_ics. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: REBASE. Created 6 years, 5 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/arm/ic-arm.cc ('k') | src/arm/lithium-arm.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 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 #ifndef V8_ARM_LITHIUM_ARM_H_ 5 #ifndef V8_ARM_LITHIUM_ARM_H_
6 #define V8_ARM_LITHIUM_ARM_H_ 6 #define V8_ARM_LITHIUM_ARM_H_
7 7
8 #include "src/hydrogen.h" 8 #include "src/hydrogen.h"
9 #include "src/lithium.h" 9 #include "src/lithium.h"
10 #include "src/lithium-allocator.h" 10 #include "src/lithium-allocator.h"
(...skipping 1567 matching lines...) Expand 10 before | Expand all | Expand 10 after
1578 inputs_[0] = object; 1578 inputs_[0] = object;
1579 } 1579 }
1580 1580
1581 LOperand* object() { return inputs_[0]; } 1581 LOperand* object() { return inputs_[0]; }
1582 1582
1583 DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field") 1583 DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field")
1584 DECLARE_HYDROGEN_ACCESSOR(LoadNamedField) 1584 DECLARE_HYDROGEN_ACCESSOR(LoadNamedField)
1585 }; 1585 };
1586 1586
1587 1587
1588 class LLoadNamedGeneric V8_FINAL : public LTemplateInstruction<1, 2, 0> { 1588 class LLoadNamedGeneric V8_FINAL : public LTemplateInstruction<1, 2, 1> {
1589 public: 1589 public:
1590 LLoadNamedGeneric(LOperand* context, LOperand* object) { 1590 LLoadNamedGeneric(LOperand* context, LOperand* object, LOperand* vector) {
1591 inputs_[0] = context; 1591 inputs_[0] = context;
1592 inputs_[1] = object; 1592 inputs_[1] = object;
1593 temps_[0] = vector;
1593 } 1594 }
1594 1595
1595 LOperand* context() { return inputs_[0]; } 1596 LOperand* context() { return inputs_[0]; }
1596 LOperand* object() { return inputs_[1]; } 1597 LOperand* object() { return inputs_[1]; }
1598 LOperand* temp_vector() { return temps_[0]; }
1597 1599
1598 DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric, "load-named-generic") 1600 DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric, "load-named-generic")
1599 DECLARE_HYDROGEN_ACCESSOR(LoadNamedGeneric) 1601 DECLARE_HYDROGEN_ACCESSOR(LoadNamedGeneric)
1600 1602
1601 Handle<Object> name() const { return hydrogen()->name(); } 1603 Handle<Object> name() const { return hydrogen()->name(); }
1602 }; 1604 };
1603 1605
1604 1606
1605 class LLoadFunctionPrototype V8_FINAL : public LTemplateInstruction<1, 1, 0> { 1607 class LLoadFunctionPrototype V8_FINAL : public LTemplateInstruction<1, 1, 0> {
1606 public: 1608 public:
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1647 } 1649 }
1648 1650
1649 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed") 1651 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed")
1650 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed) 1652 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed)
1651 1653
1652 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; 1654 virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE;
1653 uint32_t base_offset() const { return hydrogen()->base_offset(); } 1655 uint32_t base_offset() const { return hydrogen()->base_offset(); }
1654 }; 1656 };
1655 1657
1656 1658
1657 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 0> { 1659 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 1> {
1658 public: 1660 public:
1659 LLoadKeyedGeneric(LOperand* context, LOperand* object, LOperand* key) { 1661 LLoadKeyedGeneric(LOperand* context, LOperand* object, LOperand* key,
1662 LOperand* vector) {
1660 inputs_[0] = context; 1663 inputs_[0] = context;
1661 inputs_[1] = object; 1664 inputs_[1] = object;
1662 inputs_[2] = key; 1665 inputs_[2] = key;
1666 temps_[0] = vector;
1663 } 1667 }
1664 1668
1665 LOperand* context() { return inputs_[0]; } 1669 LOperand* context() { return inputs_[0]; }
1666 LOperand* object() { return inputs_[1]; } 1670 LOperand* object() { return inputs_[1]; }
1667 LOperand* key() { return inputs_[2]; } 1671 LOperand* key() { return inputs_[2]; }
1672 LOperand* temp_vector() { return temps_[0]; }
1668 1673
1669 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedGeneric, "load-keyed-generic") 1674 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedGeneric, "load-keyed-generic")
1675 DECLARE_HYDROGEN_ACCESSOR(LoadKeyedGeneric)
1670 }; 1676 };
1671 1677
1672 1678
1673 class LLoadGlobalCell V8_FINAL : public LTemplateInstruction<1, 0, 0> { 1679 class LLoadGlobalCell V8_FINAL : public LTemplateInstruction<1, 0, 0> {
1674 public: 1680 public:
1675 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalCell, "load-global-cell") 1681 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalCell, "load-global-cell")
1676 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalCell) 1682 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalCell)
1677 }; 1683 };
1678 1684
1679 1685
1680 class LLoadGlobalGeneric V8_FINAL : public LTemplateInstruction<1, 2, 0> { 1686 class LLoadGlobalGeneric V8_FINAL : public LTemplateInstruction<1, 2, 1> {
1681 public: 1687 public:
1682 LLoadGlobalGeneric(LOperand* context, LOperand* global_object) { 1688 LLoadGlobalGeneric(LOperand* context, LOperand* global_object,
1689 LOperand* vector) {
1683 inputs_[0] = context; 1690 inputs_[0] = context;
1684 inputs_[1] = global_object; 1691 inputs_[1] = global_object;
1692 temps_[0] = vector;
1685 } 1693 }
1686 1694
1687 LOperand* context() { return inputs_[0]; } 1695 LOperand* context() { return inputs_[0]; }
1688 LOperand* global_object() { return inputs_[1]; } 1696 LOperand* global_object() { return inputs_[1]; }
1697 LOperand* temp_vector() { return temps_[0]; }
1689 1698
1690 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalGeneric, "load-global-generic") 1699 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalGeneric, "load-global-generic")
1691 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalGeneric) 1700 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalGeneric)
1692 1701
1693 Handle<Object> name() const { return hydrogen()->name(); } 1702 Handle<Object> name() const { return hydrogen()->name(); }
1694 bool for_typeof() const { return hydrogen()->for_typeof(); } 1703 bool for_typeof() const { return hydrogen()->for_typeof(); }
1695 }; 1704 };
1696 1705
1697 1706
1698 class LStoreGlobalCell V8_FINAL : public LTemplateInstruction<0, 1, 1> { 1707 class LStoreGlobalCell V8_FINAL : public LTemplateInstruction<0, 1, 1> {
(...skipping 1173 matching lines...) Expand 10 before | Expand all | Expand 10 after
2872 2881
2873 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2882 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2874 }; 2883 };
2875 2884
2876 #undef DECLARE_HYDROGEN_ACCESSOR 2885 #undef DECLARE_HYDROGEN_ACCESSOR
2877 #undef DECLARE_CONCRETE_INSTRUCTION 2886 #undef DECLARE_CONCRETE_INSTRUCTION
2878 2887
2879 } } // namespace v8::internal 2888 } } // namespace v8::internal
2880 2889
2881 #endif // V8_ARM_LITHIUM_ARM_H_ 2890 #endif // V8_ARM_LITHIUM_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/ic-arm.cc ('k') | src/arm/lithium-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698