OLD | NEW |
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 Loading... |
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 Loading... |
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_ |
OLD | NEW |