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

Side by Side Diff: src/crankshaft/hydrogen-instructions.h

Issue 1845553002: [crankshaft] Get rid of the StoreFrameContext instruction. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 8 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
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_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ 5 #ifndef V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_
6 #define V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ 6 #define V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_
7 7
8 #include <cstring> 8 #include <cstring>
9 #include <iosfwd> 9 #include <iosfwd>
10 10
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 V(Ror) \ 125 V(Ror) \
126 V(Sar) \ 126 V(Sar) \
127 V(SeqStringGetChar) \ 127 V(SeqStringGetChar) \
128 V(SeqStringSetChar) \ 128 V(SeqStringSetChar) \
129 V(Shl) \ 129 V(Shl) \
130 V(Shr) \ 130 V(Shr) \
131 V(Simulate) \ 131 V(Simulate) \
132 V(StackCheck) \ 132 V(StackCheck) \
133 V(StoreCodeEntry) \ 133 V(StoreCodeEntry) \
134 V(StoreContextSlot) \ 134 V(StoreContextSlot) \
135 V(StoreFrameContext) \
136 V(StoreKeyed) \ 135 V(StoreKeyed) \
137 V(StoreKeyedGeneric) \ 136 V(StoreKeyedGeneric) \
138 V(StoreNamedField) \ 137 V(StoreNamedField) \
139 V(StoreNamedGeneric) \ 138 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(Sub) \ 143 V(Sub) \
145 V(ThisFunction) \ 144 V(ThisFunction) \
(...skipping 7090 matching lines...) Expand 10 before | Expand all | Expand 10 after
7236 std::ostream& PrintDataTo(std::ostream& os) const override; // NOLINT 7235 std::ostream& PrintDataTo(std::ostream& os) const override; // NOLINT
7237 7236
7238 HType CalculateInferredType() override { return HType::Tagged(); } 7237 HType CalculateInferredType() override { return HType::Tagged(); }
7239 7238
7240 DECLARE_CONCRETE_INSTRUCTION(LoadFieldByIndex); 7239 DECLARE_CONCRETE_INSTRUCTION(LoadFieldByIndex);
7241 7240
7242 private: 7241 private:
7243 bool IsDeletable() const override { return true; } 7242 bool IsDeletable() const override { return true; }
7244 }; 7243 };
7245 7244
7246
7247 class HStoreFrameContext: public HUnaryOperation {
7248 public:
7249 DECLARE_INSTRUCTION_FACTORY_P1(HStoreFrameContext, HValue*);
7250
7251 HValue* context() { return OperandAt(0); }
7252
7253 Representation RequiredInputRepresentation(int index) override {
7254 return Representation::Tagged();
7255 }
7256
7257 DECLARE_CONCRETE_INSTRUCTION(StoreFrameContext)
7258 private:
7259 explicit HStoreFrameContext(HValue* context)
7260 : HUnaryOperation(context) {
7261 set_representation(Representation::Tagged());
7262 SetChangesFlag(kContextSlots);
7263 }
7264 };
7265
7266
7267
7268 #undef DECLARE_INSTRUCTION 7245 #undef DECLARE_INSTRUCTION
7269 #undef DECLARE_CONCRETE_INSTRUCTION 7246 #undef DECLARE_CONCRETE_INSTRUCTION
7270 7247
7271 } // namespace internal 7248 } // namespace internal
7272 } // namespace v8 7249 } // namespace v8
7273 7250
7274 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ 7251 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698