OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_FULL_CODEGEN_FULL_CODEGEN_H_ | 5 #ifndef V8_FULL_CODEGEN_FULL_CODEGEN_H_ |
6 #define V8_FULL_CODEGEN_FULL_CODEGEN_H_ | 6 #define V8_FULL_CODEGEN_FULL_CODEGEN_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/assert-scope.h" | 9 #include "src/assert-scope.h" |
10 #include "src/ast/ast.h" | 10 #include "src/ast/ast.h" |
(...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
653 // otherwise. | 653 // otherwise. |
654 void SetStatementPosition(Statement* stmt, | 654 void SetStatementPosition(Statement* stmt, |
655 InsertBreak insert_break = INSERT_BREAK); | 655 InsertBreak insert_break = INSERT_BREAK); |
656 void SetExpressionPosition(Expression* expr, | 656 void SetExpressionPosition(Expression* expr, |
657 InsertBreak insert_break = SKIP_BREAK); | 657 InsertBreak insert_break = SKIP_BREAK); |
658 | 658 |
659 // Consider an expression a statement. As such, we also insert a break. | 659 // Consider an expression a statement. As such, we also insert a break. |
660 // This is used in loop headers where we want to break for each iteration. | 660 // This is used in loop headers where we want to break for each iteration. |
661 void SetExpressionAsStatementPosition(Expression* expr); | 661 void SetExpressionAsStatementPosition(Expression* expr); |
662 | 662 |
663 void SetCallPosition(Expression* expr, int argc); | 663 void SetCallPosition(Expression* expr); |
664 | 664 |
665 void SetConstructCallPosition(Expression* expr, int argc); | 665 void SetConstructCallPosition(Expression* expr) { |
| 666 // Currently call and construct calls are treated the same wrt debugging. |
| 667 SetCallPosition(expr); |
| 668 } |
666 | 669 |
667 // Non-local control flow support. | 670 // Non-local control flow support. |
668 void EnterTryBlock(int handler_index, Label* handler); | 671 void EnterTryBlock(int handler_index, Label* handler); |
669 void ExitTryBlock(int handler_index); | 672 void ExitTryBlock(int handler_index); |
670 void EnterFinallyBlock(); | 673 void EnterFinallyBlock(); |
671 void ExitFinallyBlock(); | 674 void ExitFinallyBlock(); |
672 void ClearPendingMessage(); | 675 void ClearPendingMessage(); |
673 | 676 |
674 // Loop nesting counter. | 677 // Loop nesting counter. |
675 int loop_depth() { return loop_depth_; } | 678 int loop_depth() { return loop_depth_; } |
(...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1045 Address start_; | 1048 Address start_; |
1046 Address instruction_start_; | 1049 Address instruction_start_; |
1047 uint32_t length_; | 1050 uint32_t length_; |
1048 }; | 1051 }; |
1049 | 1052 |
1050 | 1053 |
1051 } // namespace internal | 1054 } // namespace internal |
1052 } // namespace v8 | 1055 } // namespace v8 |
1053 | 1056 |
1054 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ | 1057 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ |
OLD | NEW |