OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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_BYTECODE_GRAPH_BUILDER_H_ | 5 #ifndef V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ |
6 #define V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ | 6 #define V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ |
7 | 7 |
8 #include "src/compiler.h" | 8 #include "src/compiler.h" |
9 #include "src/compiler/bytecode-branch-analysis.h" | 9 #include "src/compiler/bytecode-branch-analysis.h" |
10 #include "src/compiler/js-graph.h" | 10 #include "src/compiler/js-graph.h" |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 | 207 |
208 void set_bytecode_iterator( | 208 void set_bytecode_iterator( |
209 const interpreter::BytecodeArrayIterator* bytecode_iterator) { | 209 const interpreter::BytecodeArrayIterator* bytecode_iterator) { |
210 bytecode_iterator_ = bytecode_iterator; | 210 bytecode_iterator_ = bytecode_iterator; |
211 } | 211 } |
212 | 212 |
213 const BytecodeBranchAnalysis* branch_analysis() const { | 213 const BytecodeBranchAnalysis* branch_analysis() const { |
214 return branch_analysis_; | 214 return branch_analysis_; |
215 } | 215 } |
216 | 216 |
217 void set_branch_analysis(BytecodeBranchAnalysis* branch_analysis) { | 217 void set_branch_analysis(const BytecodeBranchAnalysis* branch_analysis) { |
218 branch_analysis_ = branch_analysis; | 218 branch_analysis_ = branch_analysis; |
219 } | 219 } |
220 | 220 |
221 #define DECLARE_VISIT_BYTECODE(name, ...) void Visit##name(); | 221 #define DECLARE_VISIT_BYTECODE(name, ...) void Visit##name(); |
222 BYTECODE_LIST(DECLARE_VISIT_BYTECODE) | 222 BYTECODE_LIST(DECLARE_VISIT_BYTECODE) |
223 #undef DECLARE_VISIT_BYTECODE | 223 #undef DECLARE_VISIT_BYTECODE |
224 | 224 |
225 Zone* local_zone_; | 225 Zone* local_zone_; |
226 CompilationInfo* info_; | 226 CompilationInfo* info_; |
227 JSGraph* jsgraph_; | 227 JSGraph* jsgraph_; |
228 Handle<BytecodeArray> bytecode_array_; | 228 Handle<BytecodeArray> bytecode_array_; |
229 Handle<HandlerTable> exception_handler_table_; | 229 Handle<HandlerTable> exception_handler_table_; |
230 const FrameStateFunctionInfo* frame_state_function_info_; | 230 const FrameStateFunctionInfo* frame_state_function_info_; |
231 const interpreter::BytecodeArrayIterator* bytecode_iterator_; | 231 const interpreter::BytecodeArrayIterator* bytecode_iterator_; |
232 BytecodeBranchAnalysis* branch_analysis_; // TODO(mstarzinger): Make const. | 232 const BytecodeBranchAnalysis* branch_analysis_; |
233 Environment* environment_; | 233 Environment* environment_; |
234 | 234 |
235 // Merge environments are snapshots of the environment at points where the | 235 // Merge environments are snapshots of the environment at points where the |
236 // control flow merges. This models a forward data flow propagation of all | 236 // control flow merges. This models a forward data flow propagation of all |
237 // values from all predecessors of the merge in question. | 237 // values from all predecessors of the merge in question. |
238 ZoneMap<int, Environment*> merge_environments_; | 238 ZoneMap<int, Environment*> merge_environments_; |
239 | 239 |
240 // Exception handlers currently entered by the iteration. | 240 // Exception handlers currently entered by the iteration. |
241 ZoneStack<ExceptionHandler> exception_handlers_; | 241 ZoneStack<ExceptionHandler> exception_handlers_; |
242 int current_exception_handler_; | 242 int current_exception_handler_; |
(...skipping 14 matching lines...) Expand all Loading... |
257 ZoneVector<Node*> exit_controls_; | 257 ZoneVector<Node*> exit_controls_; |
258 | 258 |
259 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder); | 259 DISALLOW_COPY_AND_ASSIGN(BytecodeGraphBuilder); |
260 }; | 260 }; |
261 | 261 |
262 } // namespace compiler | 262 } // namespace compiler |
263 } // namespace internal | 263 } // namespace internal |
264 } // namespace v8 | 264 } // namespace v8 |
265 | 265 |
266 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ | 266 #endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_ |
OLD | NEW |