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

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

Issue 2358533002: [crankshaft] Remove HStoreNamedGeneric and use HCallWithDescriptor instead to call StoreIC. (Closed)
Patch Set: Created 4 years, 3 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/crankshaft/ppc/lithium-codegen-ppc.cc ('k') | src/crankshaft/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_CRANKSHAFT_PPC_LITHIUM_PPC_H_ 5 #ifndef V8_CRANKSHAFT_PPC_LITHIUM_PPC_H_
6 #define V8_CRANKSHAFT_PPC_LITHIUM_PPC_H_ 6 #define V8_CRANKSHAFT_PPC_LITHIUM_PPC_H_
7 7
8 #include "src/crankshaft/hydrogen.h" 8 #include "src/crankshaft/hydrogen.h"
9 #include "src/crankshaft/lithium.h" 9 #include "src/crankshaft/lithium.h"
10 #include "src/crankshaft/lithium-allocator.h" 10 #include "src/crankshaft/lithium-allocator.h"
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 V(SeqStringSetChar) \ 129 V(SeqStringSetChar) \
130 V(ShiftI) \ 130 V(ShiftI) \
131 V(SmiTag) \ 131 V(SmiTag) \
132 V(SmiUntag) \ 132 V(SmiUntag) \
133 V(StackCheck) \ 133 V(StackCheck) \
134 V(StoreCodeEntry) \ 134 V(StoreCodeEntry) \
135 V(StoreContextSlot) \ 135 V(StoreContextSlot) \
136 V(StoreKeyed) \ 136 V(StoreKeyed) \
137 V(StoreKeyedGeneric) \ 137 V(StoreKeyedGeneric) \
138 V(StoreNamedField) \ 138 V(StoreNamedField) \
139 V(StoreNamedGeneric) \
140 V(StringAdd) \ 139 V(StringAdd) \
141 V(StringCharCodeAt) \ 140 V(StringCharCodeAt) \
142 V(StringCharFromCode) \ 141 V(StringCharFromCode) \
143 V(StringCompareAndBranch) \ 142 V(StringCompareAndBranch) \
144 V(SubI) \ 143 V(SubI) \
145 V(RSubI) \ 144 V(RSubI) \
146 V(TaggedToI) \ 145 V(TaggedToI) \
147 V(ThisFunction) \ 146 V(ThisFunction) \
148 V(TransitionElementsKind) \ 147 V(TransitionElementsKind) \
149 V(TrapAllocationMemento) \ 148 V(TrapAllocationMemento) \
(...skipping 1797 matching lines...) Expand 10 before | Expand all | Expand 10 after
1947 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField) 1946 DECLARE_HYDROGEN_ACCESSOR(StoreNamedField)
1948 1947
1949 void PrintDataTo(StringStream* stream) override; 1948 void PrintDataTo(StringStream* stream) override;
1950 1949
1951 Representation representation() const { 1950 Representation representation() const {
1952 return hydrogen()->field_representation(); 1951 return hydrogen()->field_representation();
1953 } 1952 }
1954 }; 1953 };
1955 1954
1956 1955
1957 class LStoreNamedGeneric final : public LTemplateInstruction<0, 3, 2> {
1958 public:
1959 LStoreNamedGeneric(LOperand* context, LOperand* object, LOperand* value,
1960 LOperand* slot, LOperand* vector) {
1961 inputs_[0] = context;
1962 inputs_[1] = object;
1963 inputs_[2] = value;
1964 temps_[0] = slot;
1965 temps_[1] = vector;
1966 }
1967
1968 LOperand* context() { return inputs_[0]; }
1969 LOperand* object() { return inputs_[1]; }
1970 LOperand* value() { return inputs_[2]; }
1971 LOperand* temp_slot() { return temps_[0]; }
1972 LOperand* temp_vector() { return temps_[1]; }
1973
1974 DECLARE_CONCRETE_INSTRUCTION(StoreNamedGeneric, "store-named-generic")
1975 DECLARE_HYDROGEN_ACCESSOR(StoreNamedGeneric)
1976
1977 void PrintDataTo(StringStream* stream) override;
1978
1979 Handle<Object> name() const { return hydrogen()->name(); }
1980 LanguageMode language_mode() { return hydrogen()->language_mode(); }
1981 };
1982
1983
1984 class LStoreKeyed final : public LTemplateInstruction<0, 4, 0> { 1956 class LStoreKeyed final : public LTemplateInstruction<0, 4, 0> {
1985 public: 1957 public:
1986 LStoreKeyed(LOperand* object, LOperand* key, LOperand* value, 1958 LStoreKeyed(LOperand* object, LOperand* key, LOperand* value,
1987 LOperand* backing_store_owner) { 1959 LOperand* backing_store_owner) {
1988 inputs_[0] = object; 1960 inputs_[0] = object;
1989 inputs_[1] = key; 1961 inputs_[1] = key;
1990 inputs_[2] = value; 1962 inputs_[2] = value;
1991 inputs_[3] = backing_store_owner; 1963 inputs_[3] = backing_store_owner;
1992 } 1964 }
1993 1965
(...skipping 557 matching lines...) Expand 10 before | Expand all | Expand 10 after
2551 2523
2552 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); 2524 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder);
2553 }; 2525 };
2554 2526
2555 #undef DECLARE_HYDROGEN_ACCESSOR 2527 #undef DECLARE_HYDROGEN_ACCESSOR
2556 #undef DECLARE_CONCRETE_INSTRUCTION 2528 #undef DECLARE_CONCRETE_INSTRUCTION
2557 } // namespace internal 2529 } // namespace internal
2558 } // namespace v8 2530 } // namespace v8
2559 2531
2560 #endif // V8_CRANKSHAFT_PPC_LITHIUM_PPC_H_ 2532 #endif // V8_CRANKSHAFT_PPC_LITHIUM_PPC_H_
OLDNEW
« no previous file with comments | « src/crankshaft/ppc/lithium-codegen-ppc.cc ('k') | src/crankshaft/ppc/lithium-ppc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698