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 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 const Operator* HeapConstant(const Unique<HeapObject>&); | 129 const Operator* HeapConstant(const Unique<HeapObject>&); |
130 | 130 |
131 const Operator* Select(MachineType, BranchHint = BranchHint::kNone); | 131 const Operator* Select(MachineType, BranchHint = BranchHint::kNone); |
132 const Operator* Phi(MachineType type, int value_input_count); | 132 const Operator* Phi(MachineType type, int value_input_count); |
133 const Operator* EffectPhi(int effect_input_count); | 133 const Operator* EffectPhi(int effect_input_count); |
134 const Operator* EffectSet(int arguments); | 134 const Operator* EffectSet(int arguments); |
135 const Operator* ValueEffect(int arguments); | 135 const Operator* ValueEffect(int arguments); |
136 const Operator* Finish(int arguments); | 136 const Operator* Finish(int arguments); |
137 const Operator* StateValues(int arguments); | 137 const Operator* StateValues(int arguments); |
138 const Operator* TypedStateValues(const ZoneVector<MachineType>* types); | 138 const Operator* TypedStateValues(const ZoneVector<MachineType>* types); |
139 const Operator* FrameState(FrameStateType type, BailoutId bailout_id, | 139 const Operator* FrameState(BailoutId bailout_id, |
140 OutputFrameStateCombine state_combine, | 140 OutputFrameStateCombine state_combine, |
141 MaybeHandle<SharedFunctionInfo> shared_info = | 141 const FrameStateFunctionInfo* function_info); |
142 MaybeHandle<SharedFunctionInfo>()); | |
143 const Operator* Call(const CallDescriptor* descriptor); | 142 const Operator* Call(const CallDescriptor* descriptor); |
144 const Operator* TailCall(const CallDescriptor* descriptor); | 143 const Operator* TailCall(const CallDescriptor* descriptor); |
145 const Operator* Projection(size_t index); | 144 const Operator* Projection(size_t index); |
146 | 145 |
147 // Constructs a new merge or phi operator with the same opcode as {op}, but | 146 // Constructs a new merge or phi operator with the same opcode as {op}, but |
148 // with {size} inputs. | 147 // with {size} inputs. |
149 const Operator* ResizeMergeOrPhi(const Operator* op, int size); | 148 const Operator* ResizeMergeOrPhi(const Operator* op, int size); |
150 | 149 |
| 150 // Constructs function info for frame state construction. |
| 151 const FrameStateFunctionInfo* CreateFrameStateFunctionInfo( |
| 152 FrameStateType type, int parameter_count, int local_count, |
| 153 Handle<SharedFunctionInfo> shared_info); |
| 154 |
151 private: | 155 private: |
152 Zone* zone() const { return zone_; } | 156 Zone* zone() const { return zone_; } |
153 | 157 |
154 const CommonOperatorGlobalCache& cache_; | 158 const CommonOperatorGlobalCache& cache_; |
155 Zone* const zone_; | 159 Zone* const zone_; |
156 | 160 |
157 DISALLOW_COPY_AND_ASSIGN(CommonOperatorBuilder); | 161 DISALLOW_COPY_AND_ASSIGN(CommonOperatorBuilder); |
158 }; | 162 }; |
159 | 163 |
160 } // namespace compiler | 164 } // namespace compiler |
161 } // namespace internal | 165 } // namespace internal |
162 } // namespace v8 | 166 } // namespace v8 |
163 | 167 |
164 #endif // V8_COMPILER_COMMON_OPERATOR_H_ | 168 #endif // V8_COMPILER_COMMON_OPERATOR_H_ |
OLD | NEW |