| 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 |