OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ARM64_LITHIUM_ARM64_H_ | 5 #ifndef V8_ARM64_LITHIUM_ARM64_H_ |
6 #define V8_ARM64_LITHIUM_ARM64_H_ | 6 #define V8_ARM64_LITHIUM_ARM64_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 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 V(StoreKeyedGeneric) \ | 158 V(StoreKeyedGeneric) \ |
159 V(StoreNamedField) \ | 159 V(StoreNamedField) \ |
160 V(StoreNamedGeneric) \ | 160 V(StoreNamedGeneric) \ |
161 V(StringAdd) \ | 161 V(StringAdd) \ |
162 V(StringCharCodeAt) \ | 162 V(StringCharCodeAt) \ |
163 V(StringCharFromCode) \ | 163 V(StringCharFromCode) \ |
164 V(StringCompareAndBranch) \ | 164 V(StringCompareAndBranch) \ |
165 V(SubI) \ | 165 V(SubI) \ |
166 V(SubS) \ | 166 V(SubS) \ |
167 V(TaggedToI) \ | 167 V(TaggedToI) \ |
168 V(TailCallThroughMegamorphicCache) \ | |
169 V(ThisFunction) \ | 168 V(ThisFunction) \ |
170 V(ToFastProperties) \ | 169 V(ToFastProperties) \ |
171 V(TransitionElementsKind) \ | 170 V(TransitionElementsKind) \ |
172 V(TrapAllocationMemento) \ | 171 V(TrapAllocationMemento) \ |
173 V(TruncateDoubleToIntOrSmi) \ | 172 V(TruncateDoubleToIntOrSmi) \ |
174 V(Typeof) \ | 173 V(Typeof) \ |
175 V(TypeofIsAndBranch) \ | 174 V(TypeofIsAndBranch) \ |
176 V(Uint32ToDouble) \ | 175 V(Uint32ToDouble) \ |
177 V(UnknownOSRValue) \ | 176 V(UnknownOSRValue) \ |
178 V(WrapReceiver) | 177 V(WrapReceiver) |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
312 private: | 311 private: |
313 // Iterator support. | 312 // Iterator support. |
314 int InputCount() final { return I; } | 313 int InputCount() final { return I; } |
315 LOperand* InputAt(int i) final { return inputs_[i]; } | 314 LOperand* InputAt(int i) final { return inputs_[i]; } |
316 | 315 |
317 int TempCount() final { return T; } | 316 int TempCount() final { return T; } |
318 LOperand* TempAt(int i) final { return temps_[i]; } | 317 LOperand* TempAt(int i) final { return temps_[i]; } |
319 }; | 318 }; |
320 | 319 |
321 | 320 |
322 class LTailCallThroughMegamorphicCache final | |
323 : public LTemplateInstruction<0, 3, 0> { | |
324 public: | |
325 LTailCallThroughMegamorphicCache(LOperand* context, LOperand* receiver, | |
326 LOperand* name) { | |
327 inputs_[0] = context; | |
328 inputs_[1] = receiver; | |
329 inputs_[2] = name; | |
330 } | |
331 | |
332 LOperand* context() { return inputs_[0]; } | |
333 LOperand* receiver() { return inputs_[1]; } | |
334 LOperand* name() { return inputs_[2]; } | |
335 | |
336 DECLARE_CONCRETE_INSTRUCTION(TailCallThroughMegamorphicCache, | |
337 "tail-call-through-megamorphic-cache") | |
338 DECLARE_HYDROGEN_ACCESSOR(TailCallThroughMegamorphicCache) | |
339 }; | |
340 | |
341 | |
342 class LUnknownOSRValue final : public LTemplateInstruction<1, 0, 0> { | 321 class LUnknownOSRValue final : public LTemplateInstruction<1, 0, 0> { |
343 public: | 322 public: |
344 bool HasInterestingComment(LCodeGen* gen) const override { return false; } | 323 bool HasInterestingComment(LCodeGen* gen) const override { return false; } |
345 DECLARE_CONCRETE_INSTRUCTION(UnknownOSRValue, "unknown-osr-value") | 324 DECLARE_CONCRETE_INSTRUCTION(UnknownOSRValue, "unknown-osr-value") |
346 }; | 325 }; |
347 | 326 |
348 | 327 |
349 template<int I, int T> | 328 template<int I, int T> |
350 class LControlInstruction : public LTemplateInstruction<0, I, T> { | 329 class LControlInstruction : public LTemplateInstruction<0, I, T> { |
351 public: | 330 public: |
(...skipping 2900 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3252 | 3231 |
3253 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); | 3232 DISALLOW_COPY_AND_ASSIGN(LChunkBuilder); |
3254 }; | 3233 }; |
3255 | 3234 |
3256 #undef DECLARE_HYDROGEN_ACCESSOR | 3235 #undef DECLARE_HYDROGEN_ACCESSOR |
3257 #undef DECLARE_CONCRETE_INSTRUCTION | 3236 #undef DECLARE_CONCRETE_INSTRUCTION |
3258 | 3237 |
3259 } } // namespace v8::internal | 3238 } } // namespace v8::internal |
3260 | 3239 |
3261 #endif // V8_ARM64_LITHIUM_ARM64_H_ | 3240 #endif // V8_ARM64_LITHIUM_ARM64_H_ |
OLD | NEW |