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/base/compiler-specific.h" | 9 #include "src/base/compiler-specific.h" |
10 #include "src/globals.h" | 10 #include "src/globals.h" |
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
308 // Complex flow control. | 308 // Complex flow control. |
309 BytecodeArrayBuilder& ForInPrepare(Register receiver, | 309 BytecodeArrayBuilder& ForInPrepare(Register receiver, |
310 RegisterList cache_info_triple); | 310 RegisterList cache_info_triple); |
311 BytecodeArrayBuilder& ForInContinue(Register index, Register cache_length); | 311 BytecodeArrayBuilder& ForInContinue(Register index, Register cache_length); |
312 BytecodeArrayBuilder& ForInNext(Register receiver, Register index, | 312 BytecodeArrayBuilder& ForInNext(Register receiver, Register index, |
313 RegisterList cache_type_array_pair, | 313 RegisterList cache_type_array_pair, |
314 int feedback_slot); | 314 int feedback_slot); |
315 BytecodeArrayBuilder& ForInStep(Register index); | 315 BytecodeArrayBuilder& ForInStep(Register index); |
316 | 316 |
317 // Generators. | 317 // Generators. |
318 BytecodeArrayBuilder& SuspendGenerator(Register generator); | 318 BytecodeArrayBuilder& SuspendGenerator( |
| 319 Register generator, Yield::YieldType type = Yield::kNormal); |
319 BytecodeArrayBuilder& ResumeGenerator(Register generator); | 320 BytecodeArrayBuilder& ResumeGenerator(Register generator); |
320 | 321 |
321 // Exception handling. | 322 // Exception handling. |
322 BytecodeArrayBuilder& MarkHandler(int handler_id, | 323 BytecodeArrayBuilder& MarkHandler(int handler_id, |
323 HandlerTable::CatchPrediction will_catch); | 324 HandlerTable::CatchPrediction will_catch); |
324 BytecodeArrayBuilder& MarkTryBegin(int handler_id, Register context); | 325 BytecodeArrayBuilder& MarkTryBegin(int handler_id, Register context); |
325 BytecodeArrayBuilder& MarkTryEnd(int handler_id); | 326 BytecodeArrayBuilder& MarkTryEnd(int handler_id); |
326 | 327 |
327 // Creates a new handler table entry and returns a {hander_id} identifying the | 328 // Creates a new handler table entry and returns a {hander_id} identifying the |
328 // entry, so that it can be referenced by above exception handling support. | 329 // entry, so that it can be referenced by above exception handling support. |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
439 static int const kNoFeedbackSlot = 0; | 440 static int const kNoFeedbackSlot = 0; |
440 | 441 |
441 DISALLOW_COPY_AND_ASSIGN(BytecodeArrayBuilder); | 442 DISALLOW_COPY_AND_ASSIGN(BytecodeArrayBuilder); |
442 }; | 443 }; |
443 | 444 |
444 } // namespace interpreter | 445 } // namespace interpreter |
445 } // namespace internal | 446 } // namespace internal |
446 } // namespace v8 | 447 } // namespace v8 |
447 | 448 |
448 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ | 449 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ |
OLD | NEW |