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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 V(ForceRepresentation) \ | 97 V(ForceRepresentation) \ |
98 V(ForInCacheArray) \ | 98 V(ForInCacheArray) \ |
99 V(ForInPrepareMap) \ | 99 V(ForInPrepareMap) \ |
100 V(GetCachedArrayIndex) \ | 100 V(GetCachedArrayIndex) \ |
101 V(Goto) \ | 101 V(Goto) \ |
102 V(HasCachedArrayIndexAndBranch) \ | 102 V(HasCachedArrayIndexAndBranch) \ |
103 V(HasInstanceTypeAndBranch) \ | 103 V(HasInstanceTypeAndBranch) \ |
104 V(InnerAllocatedObject) \ | 104 V(InnerAllocatedObject) \ |
105 V(InstanceOf) \ | 105 V(InstanceOf) \ |
106 V(InvokeFunction) \ | 106 V(InvokeFunction) \ |
107 V(IsConstructCallAndBranch) \ | |
108 V(HasInPrototypeChainAndBranch) \ | 107 V(HasInPrototypeChainAndBranch) \ |
109 V(IsStringAndBranch) \ | 108 V(IsStringAndBranch) \ |
110 V(IsSmiAndBranch) \ | 109 V(IsSmiAndBranch) \ |
111 V(IsUndetectableAndBranch) \ | 110 V(IsUndetectableAndBranch) \ |
112 V(LeaveInlined) \ | 111 V(LeaveInlined) \ |
113 V(LoadContextSlot) \ | 112 V(LoadContextSlot) \ |
114 V(LoadFieldByIndex) \ | 113 V(LoadFieldByIndex) \ |
115 V(LoadFunctionPrototype) \ | 114 V(LoadFunctionPrototype) \ |
116 V(LoadGlobalGeneric) \ | 115 V(LoadGlobalGeneric) \ |
117 V(LoadKeyed) \ | 116 V(LoadKeyed) \ |
(...skipping 4416 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4534 set_representation(Representation::Tagged()); | 4533 set_representation(Representation::Tagged()); |
4535 SetChangesFlag(kNewSpacePromotion); | 4534 SetChangesFlag(kNewSpacePromotion); |
4536 SetDependsOnFlag(kStringChars); | 4535 SetDependsOnFlag(kStringChars); |
4537 SetDependsOnFlag(kStringLengths); | 4536 SetDependsOnFlag(kStringLengths); |
4538 } | 4537 } |
4539 | 4538 |
4540 Token::Value const token_; | 4539 Token::Value const token_; |
4541 }; | 4540 }; |
4542 | 4541 |
4543 | 4542 |
4544 class HIsConstructCallAndBranch : public HTemplateControlInstruction<2, 0> { | |
4545 public: | |
4546 DECLARE_INSTRUCTION_FACTORY_P0(HIsConstructCallAndBranch); | |
4547 | |
4548 Representation RequiredInputRepresentation(int index) override { | |
4549 return Representation::None(); | |
4550 } | |
4551 | |
4552 DECLARE_CONCRETE_INSTRUCTION(IsConstructCallAndBranch) | |
4553 private: | |
4554 HIsConstructCallAndBranch() {} | |
4555 }; | |
4556 | |
4557 | |
4558 class HHasInstanceTypeAndBranch final : public HUnaryControlInstruction { | 4543 class HHasInstanceTypeAndBranch final : public HUnaryControlInstruction { |
4559 public: | 4544 public: |
4560 DECLARE_INSTRUCTION_FACTORY_P2( | 4545 DECLARE_INSTRUCTION_FACTORY_P2( |
4561 HHasInstanceTypeAndBranch, HValue*, InstanceType); | 4546 HHasInstanceTypeAndBranch, HValue*, InstanceType); |
4562 DECLARE_INSTRUCTION_FACTORY_P3( | 4547 DECLARE_INSTRUCTION_FACTORY_P3( |
4563 HHasInstanceTypeAndBranch, HValue*, InstanceType, InstanceType); | 4548 HHasInstanceTypeAndBranch, HValue*, InstanceType, InstanceType); |
4564 | 4549 |
4565 InstanceType from() { return from_; } | 4550 InstanceType from() { return from_; } |
4566 InstanceType to() { return to_; } | 4551 InstanceType to() { return to_; } |
4567 | 4552 |
(...skipping 3258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7826 | 7811 |
7827 | 7812 |
7828 | 7813 |
7829 #undef DECLARE_INSTRUCTION | 7814 #undef DECLARE_INSTRUCTION |
7830 #undef DECLARE_CONCRETE_INSTRUCTION | 7815 #undef DECLARE_CONCRETE_INSTRUCTION |
7831 | 7816 |
7832 } // namespace internal | 7817 } // namespace internal |
7833 } // namespace v8 | 7818 } // namespace v8 |
7834 | 7819 |
7835 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ | 7820 #endif // V8_CRANKSHAFT_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |