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 #include "src/interpreter/bytecode-array-builder.h" | 5 #include "src/interpreter/bytecode-array-builder.h" |
6 | 6 |
7 namespace v8 { | 7 namespace v8 { |
8 namespace internal { | 8 namespace internal { |
9 namespace interpreter { | 9 namespace interpreter { |
10 | 10 |
(...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
638 } | 638 } |
639 | 639 |
640 | 640 |
641 BytecodeArrayBuilder& BytecodeArrayBuilder::Return() { | 641 BytecodeArrayBuilder& BytecodeArrayBuilder::Return() { |
642 Output(Bytecode::kReturn); | 642 Output(Bytecode::kReturn); |
643 exit_seen_in_block_ = true; | 643 exit_seen_in_block_ = true; |
644 return *this; | 644 return *this; |
645 } | 645 } |
646 | 646 |
647 | 647 |
| 648 BytecodeArrayBuilder& BytecodeArrayBuilder::ForInPrepare() { |
| 649 Output(Bytecode::kForInPrepare); |
| 650 return *this; |
| 651 } |
| 652 |
| 653 |
| 654 BytecodeArrayBuilder& BytecodeArrayBuilder::ForInNext(Register for_in_state) { |
| 655 Output(Bytecode::kForInNext, for_in_state.ToOperand()); |
| 656 return *this; |
| 657 } |
| 658 |
| 659 |
| 660 BytecodeArrayBuilder& BytecodeArrayBuilder::ForInDone(Register for_in_state) { |
| 661 Output(Bytecode::kForInDone, for_in_state.ToOperand()); |
| 662 return *this; |
| 663 } |
| 664 |
| 665 |
648 BytecodeArrayBuilder& BytecodeArrayBuilder::EnterBlock() { return *this; } | 666 BytecodeArrayBuilder& BytecodeArrayBuilder::EnterBlock() { return *this; } |
649 | 667 |
650 | 668 |
651 BytecodeArrayBuilder& BytecodeArrayBuilder::LeaveBlock() { | 669 BytecodeArrayBuilder& BytecodeArrayBuilder::LeaveBlock() { |
652 last_block_end_ = bytecodes()->size(); | 670 last_block_end_ = bytecodes()->size(); |
653 exit_seen_in_block_ = false; | 671 exit_seen_in_block_ = false; |
654 return *this; | 672 return *this; |
655 } | 673 } |
656 | 674 |
657 | 675 |
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1075 DCHECK_GT(next_consecutive_count_, 0); | 1093 DCHECK_GT(next_consecutive_count_, 0); |
1076 builder_->BorrowConsecutiveTemporaryRegister(next_consecutive_register_); | 1094 builder_->BorrowConsecutiveTemporaryRegister(next_consecutive_register_); |
1077 allocated_.push_back(next_consecutive_register_); | 1095 allocated_.push_back(next_consecutive_register_); |
1078 next_consecutive_count_--; | 1096 next_consecutive_count_--; |
1079 return Register(next_consecutive_register_++); | 1097 return Register(next_consecutive_register_++); |
1080 } | 1098 } |
1081 | 1099 |
1082 } // namespace interpreter | 1100 } // namespace interpreter |
1083 } // namespace internal | 1101 } // namespace internal |
1084 } // namespace v8 | 1102 } // namespace v8 |
OLD | NEW |