OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_COMPILER_COMMON_OPERATOR_H_ | 5 #ifndef V8_COMPILER_COMMON_OPERATOR_H_ |
6 #define V8_COMPILER_COMMON_OPERATOR_H_ | 6 #define V8_COMPILER_COMMON_OPERATOR_H_ |
7 | 7 |
8 #include "src/compiler/frame-states.h" | 8 #include "src/compiler/frame-states.h" |
9 #include "src/compiler/machine-type.h" | 9 #include "src/compiler/machine-type.h" |
10 #include "src/unique.h" | 10 #include "src/unique.h" |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 const Operator* HeapConstant(const Unique<HeapObject>&); | 121 const Operator* HeapConstant(const Unique<HeapObject>&); |
122 | 122 |
123 const Operator* Select(MachineType, BranchHint = BranchHint::kNone); | 123 const Operator* Select(MachineType, BranchHint = BranchHint::kNone); |
124 const Operator* Phi(MachineType type, int value_input_count); | 124 const Operator* Phi(MachineType type, int value_input_count); |
125 const Operator* EffectPhi(int effect_input_count); | 125 const Operator* EffectPhi(int effect_input_count); |
126 const Operator* EffectSet(int arguments); | 126 const Operator* EffectSet(int arguments); |
127 const Operator* ValueEffect(int arguments); | 127 const Operator* ValueEffect(int arguments); |
128 const Operator* Finish(int arguments); | 128 const Operator* Finish(int arguments); |
129 const Operator* StateValues(int arguments); | 129 const Operator* StateValues(int arguments); |
130 const Operator* TypedStateValues(const ZoneVector<MachineType>* types); | 130 const Operator* TypedStateValues(const ZoneVector<MachineType>* types); |
131 const Operator* FrameState( | 131 const Operator* FrameState(FrameStateType type, BailoutId bailout_id, |
132 FrameStateType type, BailoutId bailout_id, | 132 OutputFrameStateCombine state_combine); |
133 OutputFrameStateCombine state_combine, | |
134 MaybeHandle<JSFunction> jsfunction = MaybeHandle<JSFunction>()); | |
135 const Operator* Call(const CallDescriptor* descriptor); | 133 const Operator* Call(const CallDescriptor* descriptor); |
136 const Operator* TailCall(const CallDescriptor* descriptor); | 134 const Operator* TailCall(const CallDescriptor* descriptor); |
137 const Operator* Projection(size_t index); | 135 const Operator* Projection(size_t index); |
138 | 136 |
139 // Constructs a new merge or phi operator with the same opcode as {op}, but | 137 // Constructs a new merge or phi operator with the same opcode as {op}, but |
140 // with {size} inputs. | 138 // with {size} inputs. |
141 const Operator* ResizeMergeOrPhi(const Operator* op, int size); | 139 const Operator* ResizeMergeOrPhi(const Operator* op, int size); |
142 | 140 |
143 private: | 141 private: |
144 Zone* zone() const { return zone_; } | 142 Zone* zone() const { return zone_; } |
145 | 143 |
146 const CommonOperatorGlobalCache& cache_; | 144 const CommonOperatorGlobalCache& cache_; |
147 Zone* const zone_; | 145 Zone* const zone_; |
148 | 146 |
149 DISALLOW_COPY_AND_ASSIGN(CommonOperatorBuilder); | 147 DISALLOW_COPY_AND_ASSIGN(CommonOperatorBuilder); |
150 }; | 148 }; |
151 | 149 |
152 } // namespace compiler | 150 } // namespace compiler |
153 } // namespace internal | 151 } // namespace internal |
154 } // namespace v8 | 152 } // namespace v8 |
155 | 153 |
156 #endif // V8_COMPILER_COMMON_OPERATOR_H_ | 154 #endif // V8_COMPILER_COMMON_OPERATOR_H_ |
OLD | NEW |