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 659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
670 // otherwise. | 670 // otherwise. |
671 void SetStatementPosition(Statement* stmt, | 671 void SetStatementPosition(Statement* stmt, |
672 InsertBreak insert_break = INSERT_BREAK); | 672 InsertBreak insert_break = INSERT_BREAK); |
673 void SetExpressionPosition(Expression* expr, | 673 void SetExpressionPosition(Expression* expr, |
674 InsertBreak insert_break = SKIP_BREAK); | 674 InsertBreak insert_break = SKIP_BREAK); |
675 | 675 |
676 // Consider an expression a statement. As such, we also insert a break. | 676 // Consider an expression a statement. As such, we also insert a break. |
677 // This is used in loop headers where we want to break for each iteration. | 677 // This is used in loop headers where we want to break for each iteration. |
678 void SetExpressionAsStatementPosition(Expression* expr); | 678 void SetExpressionAsStatementPosition(Expression* expr); |
679 | 679 |
680 void SetCallPosition(Expression* expr); | 680 void SetCallPosition(Expression* expr, |
| 681 TailCallMode tail_call_mode = TailCallMode::kDisallow); |
681 | 682 |
682 void SetConstructCallPosition(Expression* expr) { | 683 void SetConstructCallPosition(Expression* expr) { |
683 // Currently call and construct calls are treated the same wrt debugging. | 684 // Currently call and construct calls are treated the same wrt debugging. |
684 SetCallPosition(expr); | 685 SetCallPosition(expr); |
685 } | 686 } |
686 | 687 |
687 // Non-local control flow support. | 688 // Non-local control flow support. |
688 void EnterTryBlock(int handler_index, Label* handler); | 689 void EnterTryBlock(int handler_index, Label* handler); |
689 void ExitTryBlock(int handler_index); | 690 void ExitTryBlock(int handler_index); |
690 void EnterFinallyBlock(); | 691 void EnterFinallyBlock(); |
(...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1057 Address start_; | 1058 Address start_; |
1058 Address instruction_start_; | 1059 Address instruction_start_; |
1059 uint32_t length_; | 1060 uint32_t length_; |
1060 }; | 1061 }; |
1061 | 1062 |
1062 | 1063 |
1063 } // namespace internal | 1064 } // namespace internal |
1064 } // namespace v8 | 1065 } // namespace v8 |
1065 | 1066 |
1066 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ | 1067 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ |
OLD | NEW |