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

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

Issue 1257223002: Revert of Remove ExternalArray, derived types, and element kinds (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 4 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/ppc/lithium-codegen-ppc.cc ('k') | src/ppc/lithium-ppc.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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_PPC_LITHIUM_PPC_H_ 5 #ifndef V8_PPC_LITHIUM_PPC_H_
6 #define V8_PPC_LITHIUM_PPC_H_ 6 #define V8_PPC_LITHIUM_PPC_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 1569 matching lines...) Expand 10 before | Expand all | Expand 10 after
1580 class LLoadKeyed final : public LTemplateInstruction<1, 2, 0> { 1580 class LLoadKeyed final : public LTemplateInstruction<1, 2, 0> {
1581 public: 1581 public:
1582 LLoadKeyed(LOperand* elements, LOperand* key) { 1582 LLoadKeyed(LOperand* elements, LOperand* key) {
1583 inputs_[0] = elements; 1583 inputs_[0] = elements;
1584 inputs_[1] = key; 1584 inputs_[1] = key;
1585 } 1585 }
1586 1586
1587 LOperand* elements() { return inputs_[0]; } 1587 LOperand* elements() { return inputs_[0]; }
1588 LOperand* key() { return inputs_[1]; } 1588 LOperand* key() { return inputs_[1]; }
1589 ElementsKind elements_kind() const { return hydrogen()->elements_kind(); } 1589 ElementsKind elements_kind() const { return hydrogen()->elements_kind(); }
1590 bool is_external() const { return hydrogen()->is_external(); }
1590 bool is_fixed_typed_array() const { 1591 bool is_fixed_typed_array() const {
1591 return hydrogen()->is_fixed_typed_array(); 1592 return hydrogen()->is_fixed_typed_array();
1592 } 1593 }
1594 bool is_typed_elements() const {
1595 return is_external() || is_fixed_typed_array();
1596 }
1593 1597
1594 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed") 1598 DECLARE_CONCRETE_INSTRUCTION(LoadKeyed, "load-keyed")
1595 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed) 1599 DECLARE_HYDROGEN_ACCESSOR(LoadKeyed)
1596 1600
1597 void PrintDataTo(StringStream* stream) override; 1601 void PrintDataTo(StringStream* stream) override;
1598 uint32_t base_offset() const { return hydrogen()->base_offset(); } 1602 uint32_t base_offset() const { return hydrogen()->base_offset(); }
1599 }; 1603 };
1600 1604
1601 1605
1602 class LLoadKeyedGeneric final : public LTemplateInstruction<1, 3, 1> { 1606 class LLoadKeyedGeneric final : public LTemplateInstruction<1, 3, 1> {
(...skipping 554 matching lines...) Expand 10 before | Expand all | Expand 10 after
2157 2161
2158 2162
2159 class LStoreKeyed final : public LTemplateInstruction<0, 3, 0> { 2163 class LStoreKeyed final : public LTemplateInstruction<0, 3, 0> {
2160 public: 2164 public:
2161 LStoreKeyed(LOperand* object, LOperand* key, LOperand* value) { 2165 LStoreKeyed(LOperand* object, LOperand* key, LOperand* value) {
2162 inputs_[0] = object; 2166 inputs_[0] = object;
2163 inputs_[1] = key; 2167 inputs_[1] = key;
2164 inputs_[2] = value; 2168 inputs_[2] = value;
2165 } 2169 }
2166 2170
2171 bool is_external() const { return hydrogen()->is_external(); }
2167 bool is_fixed_typed_array() const { 2172 bool is_fixed_typed_array() const {
2168 return hydrogen()->is_fixed_typed_array(); 2173 return hydrogen()->is_fixed_typed_array();
2169 } 2174 }
2175 bool is_typed_elements() const {
2176 return is_external() || is_fixed_typed_array();
2177 }
2170 LOperand* elements() { return inputs_[0]; } 2178 LOperand* elements() { return inputs_[0]; }
2171 LOperand* key() { return inputs_[1]; } 2179 LOperand* key() { return inputs_[1]; }
2172 LOperand* value() { return inputs_[2]; } 2180 LOperand* value() { return inputs_[2]; }
2173 ElementsKind elements_kind() const { return hydrogen()->elements_kind(); } 2181 ElementsKind elements_kind() const { return hydrogen()->elements_kind(); }
2174 2182
2175 DECLARE_CONCRETE_INSTRUCTION(StoreKeyed, "store-keyed") 2183 DECLARE_CONCRETE_INSTRUCTION(StoreKeyed, "store-keyed")
2176 DECLARE_HYDROGEN_ACCESSOR(StoreKeyed) 2184 DECLARE_HYDROGEN_ACCESSOR(StoreKeyed)
2177 2185
2178 void PrintDataTo(StringStream* stream) override; 2186 void PrintDataTo(StringStream* stream) override;
2179 bool NeedsCanonicalization() { 2187 bool NeedsCanonicalization() {
(...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after
2798 2806
2799 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2807 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2800 }; 2808 };
2801 2809
2802 #undef DECLARE_HYDROGEN_ACCESSOR 2810 #undef DECLARE_HYDROGEN_ACCESSOR
2803 #undef DECLARE_CONCRETE_INSTRUCTION 2811 #undef DECLARE_CONCRETE_INSTRUCTION
2804 } 2812 }
2805 } // namespace v8::internal 2813 } // namespace v8::internal
2806 2814
2807 #endif // V8_PPC_LITHIUM_PPC_H_ 2815 #endif // V8_PPC_LITHIUM_PPC_H_
OLDNEW
« no previous file with comments | « src/ppc/lithium-codegen-ppc.cc ('k') | src/ppc/lithium-ppc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698