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_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ | 5 #ifndef V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ |
6 #define V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ | 6 #define V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ |
7 | 7 |
8 #include "src/ast/ast.h" | 8 #include "src/ast/ast.h" |
9 #include "src/interpreter/bytecode-array-writer.h" | 9 #include "src/interpreter/bytecode-array-writer.h" |
10 #include "src/interpreter/bytecode-register-allocator.h" | 10 #include "src/interpreter/bytecode-register-allocator.h" |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 BytecodeArrayBuilder& ForInNext(Register receiver, Register index, | 243 BytecodeArrayBuilder& ForInNext(Register receiver, Register index, |
244 Register cache_type_array_pair, | 244 Register cache_type_array_pair, |
245 int feedback_slot); | 245 int feedback_slot); |
246 BytecodeArrayBuilder& ForInStep(Register index); | 246 BytecodeArrayBuilder& ForInStep(Register index); |
247 | 247 |
248 // Generators. | 248 // Generators. |
249 BytecodeArrayBuilder& SuspendGenerator(Register generator); | 249 BytecodeArrayBuilder& SuspendGenerator(Register generator); |
250 BytecodeArrayBuilder& ResumeGenerator(Register generator); | 250 BytecodeArrayBuilder& ResumeGenerator(Register generator); |
251 | 251 |
252 // Exception handling. | 252 // Exception handling. |
253 BytecodeArrayBuilder& MarkHandler(int handler_id, bool will_catch); | 253 BytecodeArrayBuilder& MarkHandler(int handler_id, |
| 254 HandlerTable::CatchPrediction will_catch); |
254 BytecodeArrayBuilder& MarkTryBegin(int handler_id, Register context); | 255 BytecodeArrayBuilder& MarkTryBegin(int handler_id, Register context); |
255 BytecodeArrayBuilder& MarkTryEnd(int handler_id); | 256 BytecodeArrayBuilder& MarkTryEnd(int handler_id); |
256 | 257 |
257 // Creates a new handler table entry and returns a {hander_id} identifying the | 258 // Creates a new handler table entry and returns a {hander_id} identifying the |
258 // entry, so that it can be referenced by above exception handling support. | 259 // entry, so that it can be referenced by above exception handling support. |
259 int NewHandlerEntry() { return handler_table_builder()->NewHandlerEntry(); } | 260 int NewHandlerEntry() { return handler_table_builder()->NewHandlerEntry(); } |
260 | 261 |
261 void InitializeReturnPosition(FunctionLiteral* literal); | 262 void InitializeReturnPosition(FunctionLiteral* literal); |
262 | 263 |
263 void SetStatementPosition(Statement* stmt); | 264 void SetStatementPosition(Statement* stmt); |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
371 BytecodeSourceInfo latest_source_info_; | 372 BytecodeSourceInfo latest_source_info_; |
372 | 373 |
373 DISALLOW_COPY_AND_ASSIGN(BytecodeArrayBuilder); | 374 DISALLOW_COPY_AND_ASSIGN(BytecodeArrayBuilder); |
374 }; | 375 }; |
375 | 376 |
376 } // namespace interpreter | 377 } // namespace interpreter |
377 } // namespace internal | 378 } // namespace internal |
378 } // namespace v8 | 379 } // namespace v8 |
379 | 380 |
380 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ | 381 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ |
OLD | NEW |