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 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 V(ArgumentsLength) \ | 55 V(ArgumentsLength) \ |
56 V(ArgumentsObject) \ | 56 V(ArgumentsObject) \ |
57 V(Bitwise) \ | 57 V(Bitwise) \ |
58 V(BlockEntry) \ | 58 V(BlockEntry) \ |
59 V(BoundsCheck) \ | 59 V(BoundsCheck) \ |
60 V(BoundsCheckBaseIndexInformation) \ | 60 V(BoundsCheckBaseIndexInformation) \ |
61 V(Branch) \ | 61 V(Branch) \ |
62 V(CallWithDescriptor) \ | 62 V(CallWithDescriptor) \ |
63 V(CallJSFunction) \ | 63 V(CallJSFunction) \ |
64 V(CallFunction) \ | 64 V(CallFunction) \ |
65 V(CallNew) \ | |
66 V(CallNewArray) \ | 65 V(CallNewArray) \ |
67 V(CallRuntime) \ | 66 V(CallRuntime) \ |
68 V(CallStub) \ | 67 V(CallStub) \ |
69 V(CapturedObject) \ | 68 V(CapturedObject) \ |
70 V(Change) \ | 69 V(Change) \ |
71 V(CheckArrayBufferNotNeutered) \ | 70 V(CheckArrayBufferNotNeutered) \ |
72 V(CheckHeapObject) \ | 71 V(CheckHeapObject) \ |
73 V(CheckInstanceType) \ | 72 V(CheckInstanceType) \ |
74 V(CheckMaps) \ | 73 V(CheckMaps) \ |
75 V(CheckMapValue) \ | 74 V(CheckMapValue) \ |
(...skipping 2346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2422 HCallFunction(HValue* context, HValue* function, int argument_count, | 2421 HCallFunction(HValue* context, HValue* function, int argument_count, |
2423 ConvertReceiverMode convert_mode) | 2422 ConvertReceiverMode convert_mode) |
2424 : HBinaryCall(context, function, argument_count), | 2423 : HBinaryCall(context, function, argument_count), |
2425 convert_mode_(convert_mode) {} | 2424 convert_mode_(convert_mode) {} |
2426 Handle<TypeFeedbackVector> feedback_vector_; | 2425 Handle<TypeFeedbackVector> feedback_vector_; |
2427 FeedbackVectorSlot slot_; | 2426 FeedbackVectorSlot slot_; |
2428 ConvertReceiverMode convert_mode_; | 2427 ConvertReceiverMode convert_mode_; |
2429 }; | 2428 }; |
2430 | 2429 |
2431 | 2430 |
2432 class HCallNew final : public HBinaryCall { | |
2433 public: | |
2434 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P2(HCallNew, HValue*, int); | |
2435 | |
2436 HValue* context() { return first(); } | |
2437 HValue* constructor() { return second(); } | |
2438 | |
2439 DECLARE_CONCRETE_INSTRUCTION(CallNew) | |
2440 | |
2441 private: | |
2442 HCallNew(HValue* context, HValue* constructor, int argument_count) | |
2443 : HBinaryCall(context, constructor, argument_count) {} | |
2444 }; | |
2445 | |
2446 | |
2447 class HCallNewArray final : public HBinaryCall { | 2431 class HCallNewArray final : public HBinaryCall { |
2448 public: | 2432 public: |
2449 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P4(HCallNewArray, HValue*, int, | 2433 DECLARE_INSTRUCTION_WITH_CONTEXT_FACTORY_P4(HCallNewArray, HValue*, int, |
2450 ElementsKind, | 2434 ElementsKind, |
2451 Handle<AllocationSite>); | 2435 Handle<AllocationSite>); |
2452 | 2436 |
2453 HValue* context() { return first(); } | 2437 HValue* context() { return first(); } |
2454 HValue* constructor() { return second(); } | 2438 HValue* constructor() { return second(); } |
2455 | 2439 |
2456 std::ostream& PrintDataTo(std::ostream& os) const override; // NOLINT | 2440 std::ostream& PrintDataTo(std::ostream& os) const override; // NOLINT |
(...skipping 5456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7913 | 7897 |
7914 | 7898 |
7915 | 7899 |
7916 #undef DECLARE_INSTRUCTION | 7900 #undef DECLARE_INSTRUCTION |
7917 #undef DECLARE_CONCRETE_INSTRUCTION | 7901 #undef DECLARE_CONCRETE_INSTRUCTION |
7918 | 7902 |
7919 } // namespace internal | 7903 } // namespace internal |
7920 } // namespace v8 | 7904 } // namespace v8 |
7921 | 7905 |
7922 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ | 7906 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |