Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(129)

Side by Side Diff: src/interpreter/bytecode-array-builder.cc

Issue 1634153002: [Interpreter] Adds support for const/let variables to interpreter. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebased the patch Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 777 matching lines...) Expand 10 before | Expand all | Expand 10 after
788 } 788 }
789 } 789 }
790 790
791 791
792 // static 792 // static
793 Bytecode BytecodeArrayBuilder::GetJumpWithToBoolean(Bytecode jump_bytecode) { 793 Bytecode BytecodeArrayBuilder::GetJumpWithToBoolean(Bytecode jump_bytecode) {
794 switch (jump_bytecode) { 794 switch (jump_bytecode) {
795 case Bytecode::kJump: 795 case Bytecode::kJump:
796 case Bytecode::kJumpIfNull: 796 case Bytecode::kJumpIfNull:
797 case Bytecode::kJumpIfUndefined: 797 case Bytecode::kJumpIfUndefined:
798 case Bytecode::kJumpIfHole:
799 case Bytecode::kJumpIfNotHole:
798 return jump_bytecode; 800 return jump_bytecode;
799 case Bytecode::kJumpIfTrue: 801 case Bytecode::kJumpIfTrue:
800 return Bytecode::kJumpIfToBooleanTrue; 802 return Bytecode::kJumpIfToBooleanTrue;
801 case Bytecode::kJumpIfFalse: 803 case Bytecode::kJumpIfFalse:
802 return Bytecode::kJumpIfToBooleanFalse; 804 return Bytecode::kJumpIfToBooleanFalse;
803 default: 805 default:
804 UNREACHABLE(); 806 UNREACHABLE();
805 } 807 }
806 return static_cast<Bytecode>(-1); 808 return static_cast<Bytecode>(-1);
807 } 809 }
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
945 BytecodeArrayBuilder& BytecodeArrayBuilder::JumpIfNull(BytecodeLabel* label) { 947 BytecodeArrayBuilder& BytecodeArrayBuilder::JumpIfNull(BytecodeLabel* label) {
946 return OutputJump(Bytecode::kJumpIfNull, label); 948 return OutputJump(Bytecode::kJumpIfNull, label);
947 } 949 }
948 950
949 951
950 BytecodeArrayBuilder& BytecodeArrayBuilder::JumpIfUndefined( 952 BytecodeArrayBuilder& BytecodeArrayBuilder::JumpIfUndefined(
951 BytecodeLabel* label) { 953 BytecodeLabel* label) {
952 return OutputJump(Bytecode::kJumpIfUndefined, label); 954 return OutputJump(Bytecode::kJumpIfUndefined, label);
953 } 955 }
954 956
957 BytecodeArrayBuilder& BytecodeArrayBuilder::JumpIfHole(BytecodeLabel* label) {
958 return OutputJump(Bytecode::kJumpIfHole, label);
959 }
960
961 BytecodeArrayBuilder& BytecodeArrayBuilder::JumpIfNotHole(
962 BytecodeLabel* label) {
963 return OutputJump(Bytecode::kJumpIfNotHole, label);
964 }
955 965
956 BytecodeArrayBuilder& BytecodeArrayBuilder::Throw() { 966 BytecodeArrayBuilder& BytecodeArrayBuilder::Throw() {
957 Output(Bytecode::kThrow); 967 Output(Bytecode::kThrow);
958 exit_seen_in_block_ = true; 968 exit_seen_in_block_ = true;
959 return *this; 969 return *this;
960 } 970 }
961 971
962 972
963 BytecodeArrayBuilder& BytecodeArrayBuilder::ReThrow() { 973 BytecodeArrayBuilder& BytecodeArrayBuilder::ReThrow() {
964 Output(Bytecode::kReThrow); 974 Output(Bytecode::kReThrow);
(...skipping 720 matching lines...) Expand 10 before | Expand all | Expand 10 after
1685 1695
1686 1696
1687 // static 1697 // static
1688 bool BytecodeArrayBuilder::FitsInReg16Operand(Register value) { 1698 bool BytecodeArrayBuilder::FitsInReg16Operand(Register value) {
1689 return kMinInt16 <= value.index() && value.index() <= kMaxInt16; 1699 return kMinInt16 <= value.index() && value.index() <= kMaxInt16;
1690 } 1700 }
1691 1701
1692 } // namespace interpreter 1702 } // namespace interpreter
1693 } // namespace internal 1703 } // namespace internal
1694 } // namespace v8 1704 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698