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 372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
383 // previous pending message in the accumulator. | 383 // previous pending message in the accumulator. |
384 BytecodeArrayBuilder& SetPendingMessage(); | 384 BytecodeArrayBuilder& SetPendingMessage(); |
385 | 385 |
386 BytecodeArrayBuilder& Throw(); | 386 BytecodeArrayBuilder& Throw(); |
387 BytecodeArrayBuilder& ReThrow(); | 387 BytecodeArrayBuilder& ReThrow(); |
388 BytecodeArrayBuilder& Return(); | 388 BytecodeArrayBuilder& Return(); |
389 | 389 |
390 // Debugger. | 390 // Debugger. |
391 BytecodeArrayBuilder& Debugger(); | 391 BytecodeArrayBuilder& Debugger(); |
392 | 392 |
| 393 // Increment the block counter at the given slot. Used for block code coverage |
| 394 // (go/v8-designdoc-block-code-coverage). |
| 395 BytecodeArrayBuilder& IncBlockCounter(int slot); |
| 396 |
393 // Complex flow control. | 397 // Complex flow control. |
394 BytecodeArrayBuilder& ForInPrepare(Register receiver, | 398 BytecodeArrayBuilder& ForInPrepare(Register receiver, |
395 RegisterList cache_info_triple); | 399 RegisterList cache_info_triple); |
396 BytecodeArrayBuilder& ForInContinue(Register index, Register cache_length); | 400 BytecodeArrayBuilder& ForInContinue(Register index, Register cache_length); |
397 BytecodeArrayBuilder& ForInNext(Register receiver, Register index, | 401 BytecodeArrayBuilder& ForInNext(Register receiver, Register index, |
398 RegisterList cache_type_array_pair, | 402 RegisterList cache_type_array_pair, |
399 int feedback_slot); | 403 int feedback_slot); |
400 BytecodeArrayBuilder& ForInStep(Register index); | 404 BytecodeArrayBuilder& ForInStep(Register index); |
401 | 405 |
402 // Generators. | 406 // Generators. |
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
562 }; | 566 }; |
563 | 567 |
564 V8_EXPORT_PRIVATE std::ostream& operator<<( | 568 V8_EXPORT_PRIVATE std::ostream& operator<<( |
565 std::ostream& os, const BytecodeArrayBuilder::ToBooleanMode& mode); | 569 std::ostream& os, const BytecodeArrayBuilder::ToBooleanMode& mode); |
566 | 570 |
567 } // namespace interpreter | 571 } // namespace interpreter |
568 } // namespace internal | 572 } // namespace internal |
569 } // namespace v8 | 573 } // namespace v8 |
570 | 574 |
571 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ | 575 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ |
OLD | NEW |