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

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

Issue 1665853002: [Interpreter] Add explicit StackCheck bytecodes on function entry and back branches. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: 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 932 matching lines...) Expand 10 before | Expand all | Expand 10 after
943 BytecodeArrayBuilder& BytecodeArrayBuilder::JumpIfNull(BytecodeLabel* label) { 943 BytecodeArrayBuilder& BytecodeArrayBuilder::JumpIfNull(BytecodeLabel* label) {
944 return OutputJump(Bytecode::kJumpIfNull, label); 944 return OutputJump(Bytecode::kJumpIfNull, label);
945 } 945 }
946 946
947 947
948 BytecodeArrayBuilder& BytecodeArrayBuilder::JumpIfUndefined( 948 BytecodeArrayBuilder& BytecodeArrayBuilder::JumpIfUndefined(
949 BytecodeLabel* label) { 949 BytecodeLabel* label) {
950 return OutputJump(Bytecode::kJumpIfUndefined, label); 950 return OutputJump(Bytecode::kJumpIfUndefined, label);
951 } 951 }
952 952
953 BytecodeArrayBuilder& BytecodeArrayBuilder::StackCheck() {
954 Output(Bytecode::kStackCheck);
955 return *this;
956 }
953 957
954 BytecodeArrayBuilder& BytecodeArrayBuilder::Throw() { 958 BytecodeArrayBuilder& BytecodeArrayBuilder::Throw() {
955 Output(Bytecode::kThrow); 959 Output(Bytecode::kThrow);
956 exit_seen_in_block_ = true; 960 exit_seen_in_block_ = true;
957 return *this; 961 return *this;
958 } 962 }
959 963
960 964
961 BytecodeArrayBuilder& BytecodeArrayBuilder::ReThrow() { 965 BytecodeArrayBuilder& BytecodeArrayBuilder::ReThrow() {
962 Output(Bytecode::kReThrow); 966 Output(Bytecode::kReThrow);
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after
1644 } 1648 }
1645 1649
1646 // static 1650 // static
1647 bool BytecodeArrayBuilder::FitsInReg16OperandUntranslated(Register value) { 1651 bool BytecodeArrayBuilder::FitsInReg16OperandUntranslated(Register value) {
1648 return value.is_short_operand(); 1652 return value.is_short_operand();
1649 } 1653 }
1650 1654
1651 } // namespace interpreter 1655 } // namespace interpreter
1652 } // namespace internal 1656 } // namespace internal
1653 } // namespace v8 1657 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698