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

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

Issue 405343002: X87: Introduce FLAG_vector_ics. (Closed) Base URL: https://chromium.googlesource.com/external/v8.git@bleeding_edge
Patch Set: 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
« no previous file with comments | « src/x87/lithium-codegen-x87.cc ('k') | src/x87/lithium-x87.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_X87_LITHIUM_X87_H_ 5 #ifndef V8_X87_LITHIUM_X87_H_
6 #define V8_X87_LITHIUM_X87_H_ 6 #define V8_X87_LITHIUM_X87_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 1575 matching lines...) Expand 10 before | Expand all | Expand 10 after
1586 inputs_[0] = object; 1586 inputs_[0] = object;
1587 } 1587 }
1588 1588
1589 LOperand* object() { return inputs_[0]; } 1589 LOperand* object() { return inputs_[0]; }
1590 1590
1591 DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field") 1591 DECLARE_CONCRETE_INSTRUCTION(LoadNamedField, "load-named-field")
1592 DECLARE_HYDROGEN_ACCESSOR(LoadNamedField) 1592 DECLARE_HYDROGEN_ACCESSOR(LoadNamedField)
1593 }; 1593 };
1594 1594
1595 1595
1596 class LLoadNamedGeneric V8_FINAL : public LTemplateInstruction<1, 2, 0> { 1596 class LLoadNamedGeneric V8_FINAL : public LTemplateInstruction<1, 2, 1> {
1597 public: 1597 public:
1598 LLoadNamedGeneric(LOperand* context, LOperand* object) { 1598 LLoadNamedGeneric(LOperand* context, LOperand* object, LOperand* vector) {
1599 inputs_[0] = context; 1599 inputs_[0] = context;
1600 inputs_[1] = object; 1600 inputs_[1] = object;
1601 temps_[0] = vector;
1601 } 1602 }
1602 1603
1603 LOperand* context() { return inputs_[0]; } 1604 LOperand* context() { return inputs_[0]; }
1604 LOperand* object() { return inputs_[1]; } 1605 LOperand* object() { return inputs_[1]; }
1606 LOperand* temp_vector() { return temps_[0]; }
1605 1607
1606 DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric, "load-named-generic") 1608 DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric, "load-named-generic")
1607 DECLARE_HYDROGEN_ACCESSOR(LoadNamedGeneric) 1609 DECLARE_HYDROGEN_ACCESSOR(LoadNamedGeneric)
1608 1610
1609 Handle<Object> name() const { return hydrogen()->name(); } 1611 Handle<Object> name() const { return hydrogen()->name(); }
1610 }; 1612 };
1611 1613
1612 1614
1613 class LLoadFunctionPrototype V8_FINAL : public LTemplateInstruction<1, 1, 1> { 1615 class LLoadFunctionPrototype V8_FINAL : public LTemplateInstruction<1, 1, 1> {
1614 public: 1616 public:
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
1675 return key_representation.IsSmi() && 1677 return key_representation.IsSmi() &&
1676 (elements_kind == EXTERNAL_INT8_ELEMENTS || 1678 (elements_kind == EXTERNAL_INT8_ELEMENTS ||
1677 elements_kind == EXTERNAL_UINT8_ELEMENTS || 1679 elements_kind == EXTERNAL_UINT8_ELEMENTS ||
1678 elements_kind == EXTERNAL_UINT8_CLAMPED_ELEMENTS || 1680 elements_kind == EXTERNAL_UINT8_CLAMPED_ELEMENTS ||
1679 elements_kind == UINT8_ELEMENTS || 1681 elements_kind == UINT8_ELEMENTS ||
1680 elements_kind == INT8_ELEMENTS || 1682 elements_kind == INT8_ELEMENTS ||
1681 elements_kind == UINT8_CLAMPED_ELEMENTS); 1683 elements_kind == UINT8_CLAMPED_ELEMENTS);
1682 } 1684 }
1683 1685
1684 1686
1685 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 0> { 1687 class LLoadKeyedGeneric V8_FINAL : public LTemplateInstruction<1, 3, 1> {
1686 public: 1688 public:
1687 LLoadKeyedGeneric(LOperand* context, LOperand* obj, LOperand* key) { 1689 LLoadKeyedGeneric(LOperand* context, LOperand* obj, LOperand* key,
1690 LOperand* vector) {
1688 inputs_[0] = context; 1691 inputs_[0] = context;
1689 inputs_[1] = obj; 1692 inputs_[1] = obj;
1690 inputs_[2] = key; 1693 inputs_[2] = key;
1694 temps_[0] = vector;
1691 } 1695 }
1692 1696
1693 LOperand* context() { return inputs_[0]; } 1697 LOperand* context() { return inputs_[0]; }
1694 LOperand* object() { return inputs_[1]; } 1698 LOperand* object() { return inputs_[1]; }
1695 LOperand* key() { return inputs_[2]; } 1699 LOperand* key() { return inputs_[2]; }
1700 LOperand* temp_vector() { return temps_[0]; }
1696 1701
1697 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedGeneric, "load-keyed-generic") 1702 DECLARE_CONCRETE_INSTRUCTION(LoadKeyedGeneric, "load-keyed-generic")
1703 DECLARE_HYDROGEN_ACCESSOR(LoadKeyedGeneric)
1698 }; 1704 };
1699 1705
1700 1706
1701 class LLoadGlobalCell V8_FINAL : public LTemplateInstruction<1, 0, 0> { 1707 class LLoadGlobalCell V8_FINAL : public LTemplateInstruction<1, 0, 0> {
1702 public: 1708 public:
1703 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalCell, "load-global-cell") 1709 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalCell, "load-global-cell")
1704 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalCell) 1710 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalCell)
1705 }; 1711 };
1706 1712
1707 1713
1708 class LLoadGlobalGeneric V8_FINAL : public LTemplateInstruction<1, 2, 0> { 1714 class LLoadGlobalGeneric V8_FINAL : public LTemplateInstruction<1, 2, 1> {
1709 public: 1715 public:
1710 LLoadGlobalGeneric(LOperand* context, LOperand* global_object) { 1716 LLoadGlobalGeneric(LOperand* context, LOperand* global_object,
1717 LOperand* vector) {
1711 inputs_[0] = context; 1718 inputs_[0] = context;
1712 inputs_[1] = global_object; 1719 inputs_[1] = global_object;
1720 temps_[0] = vector;
1713 } 1721 }
1714 1722
1715 LOperand* context() { return inputs_[0]; } 1723 LOperand* context() { return inputs_[0]; }
1716 LOperand* global_object() { return inputs_[1]; } 1724 LOperand* global_object() { return inputs_[1]; }
1725 LOperand* temp_vector() { return temps_[0]; }
1717 1726
1718 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalGeneric, "load-global-generic") 1727 DECLARE_CONCRETE_INSTRUCTION(LoadGlobalGeneric, "load-global-generic")
1719 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalGeneric) 1728 DECLARE_HYDROGEN_ACCESSOR(LoadGlobalGeneric)
1720 1729
1721 Handle<Object> name() const { return hydrogen()->name(); } 1730 Handle<Object> name() const { return hydrogen()->name(); }
1722 bool for_typeof() const { return hydrogen()->for_typeof(); } 1731 bool for_typeof() const { return hydrogen()->for_typeof(); }
1723 }; 1732 };
1724 1733
1725 1734
1726 class LStoreGlobalCell V8_FINAL : public LTemplateInstruction<0, 1, 0> { 1735 class LStoreGlobalCell V8_FINAL : public LTemplateInstruction<0, 1, 0> {
(...skipping 1152 matching lines...) Expand 10 before | Expand all | Expand 10 after
2879 2888
2880 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2889 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2881 }; 2890 };
2882 2891
2883 #undef DECLARE_HYDROGEN_ACCESSOR 2892 #undef DECLARE_HYDROGEN_ACCESSOR
2884 #undef DECLARE_CONCRETE_INSTRUCTION 2893 #undef DECLARE_CONCRETE_INSTRUCTION
2885 2894
2886 } } // namespace v8::internal 2895 } } // namespace v8::internal
2887 2896
2888 #endif // V8_X87_LITHIUM_X87_H_ 2897 #endif // V8_X87_LITHIUM_X87_H_
OLDNEW
« no previous file with comments | « src/x87/lithium-codegen-x87.cc ('k') | src/x87/lithium-x87.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698