Commit 08965860 authored by Alexey Kozyatinskiy's avatar Alexey Kozyatinskiy Committed by Commit Bot

[inspector] improve return position of explicit return in non-async function

Goal of this CL: explicit return from non-async function has position after
return expression as return position (will unblock [1]).

BytecodeArrayBuilder has SetStatementPosition and SetExpressionPosition methods.
If one of these methods is called then next generated bytecode will get passed
position. It's general treatment for most cases.
Unfortunately it doesn't work for Returns:
- debugger requires source positions exactly on kReturn bytecode in stepping
  implementation,
- BytecodeGenerator::BuildReturn and BytecodeGenerator::BuildAsyncReturn
  generates more then one bytecode and general solution will put return position
  on first generated bytecode,
- it's not easy to split BuildReturn function into two parts to allow something
  like following in BytecodeGenerator::VisitReturnStatement since generated
  bytecodes are actually controlled by execution_control().
..->BuildReturnPrologue();
..->SetReturnPosition(stmt);
..->Return();

In this CL we pass ReturnStatement through ExecutionControl and use it for
position when we emit return bytecode right here.

So this CL only will improve return position for returns inside of non-async
functions, I'll address async functions later.

[1] https://chromium-review.googlesource.com/c/543161/

Change-Id: Iede512c120b00c209990bf50c20e7d23dc0d65db
Reviewed-on: https://chromium-review.googlesource.com/560738
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Reviewed-by: 's avatarAdam Klein <adamk@chromium.org>
Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46687}
parent 9fa0d097
......@@ -774,15 +774,20 @@ class ReturnStatement final : public JumpStatement {
Type type() const { return TypeField::decode(bit_field_); }
bool is_async_return() const { return type() == kAsyncReturn; }
int end_position() const { return end_position_; }
private:
friend class AstNodeFactory;
ReturnStatement(Expression* expression, Type type, int pos)
: JumpStatement(pos, kReturnStatement), expression_(expression) {
ReturnStatement(Expression* expression, Type type, int pos, int end_position)
: JumpStatement(pos, kReturnStatement),
expression_(expression),
end_position_(end_position) {
bit_field_ |= TypeField::encode(type);
}
Expression* expression_;
int end_position_;
class TypeField
: public BitField<Type, JumpStatement::kNextBitFieldIndex, 1> {};
......@@ -3122,14 +3127,16 @@ class AstNodeFactory final BASE_EMBEDDED {
return new (zone_) BreakStatement(target, pos);
}
ReturnStatement* NewReturnStatement(Expression* expression, int pos) {
return new (zone_)
ReturnStatement(expression, ReturnStatement::kNormal, pos);
ReturnStatement* NewReturnStatement(Expression* expression, int pos,
int end_position = kNoSourcePosition) {
return new (zone_) ReturnStatement(expression, ReturnStatement::kNormal,
pos, end_position);
}
ReturnStatement* NewAsyncReturnStatement(Expression* expression, int pos) {
return new (zone_)
ReturnStatement(expression, ReturnStatement::kAsyncReturn, pos);
ReturnStatement* NewAsyncReturnStatement(
Expression* expression, int pos, int end_position = kNoSourcePosition) {
return new (zone_) ReturnStatement(
expression, ReturnStatement::kAsyncReturn, pos, end_position);
}
WithStatement* NewWithStatement(Scope* scope,
......
......@@ -61,8 +61,6 @@ BytecodeArrayBuilder::BytecodeArrayBuilder(
zone, &register_allocator_, fixed_register_count(), parameter_count,
new (zone) RegisterTransferWriter(this));
}
return_position_ = literal ? literal->return_position() : kNoSourcePosition;
}
Register BytecodeArrayBuilder::Parameter(int parameter_index) const {
......@@ -1185,7 +1183,6 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::ReThrow() {
}
BytecodeArrayBuilder& BytecodeArrayBuilder::Return() {
SetReturnPosition();
OutputReturn();
return_seen_in_block_ = true;
return *this;
......@@ -1457,11 +1454,6 @@ void BytecodeArrayBuilder::SetDeferredConstantPoolEntry(size_t entry,
constant_array_builder()->SetDeferredAt(entry, object);
}
void BytecodeArrayBuilder::SetReturnPosition() {
if (return_position_ == kNoSourcePosition) return;
latest_source_info_.MakeStatementPosition(return_position_);
}
bool BytecodeArrayBuilder::RegisterIsValid(Register reg) const {
if (!reg.is_valid()) {
return false;
......
......@@ -461,6 +461,14 @@ class V8_EXPORT_PRIVATE BytecodeArrayBuilder final
latest_source_info_.MakeStatementPosition(expr->position());
}
void SetReturnPosition(int source_position, FunctionLiteral* literal) {
if (source_position != kNoSourcePosition) {
latest_source_info_.MakeStatementPosition(source_position);
} else if (literal->return_position() != kNoSourcePosition) {
latest_source_info_.MakeStatementPosition(literal->return_position());
}
}
bool RequiresImplicitReturn() const { return !return_seen_in_block_; }
// Returns the raw operand value for the given register or register list.
......@@ -512,9 +520,6 @@ class V8_EXPORT_PRIVATE BytecodeArrayBuilder final
bool RegisterIsValid(Register reg) const;
bool RegisterListIsValid(RegisterList reg_list) const;
// Set position for return.
void SetReturnPosition();
// Sets a deferred source info which should be emitted before any future
// source info (either attached to a following bytecode or as a nop).
void SetDeferredSourceInfo(BytecodeSourceInfo source_info);
......@@ -558,7 +563,6 @@ class V8_EXPORT_PRIVATE BytecodeArrayBuilder final
bool return_seen_in_block_;
int parameter_count_;
int local_register_count_;
int return_position_;
BytecodeRegisterAllocator register_allocator_;
BytecodeArrayWriter bytecode_array_writer_;
BytecodeRegisterOptimizer* register_optimizer_;
......
......@@ -101,10 +101,18 @@ class BytecodeGenerator::ControlScope BASE_EMBEDDED {
}
virtual ~ControlScope() { generator_->set_execution_control(outer()); }
void Break(Statement* stmt) { PerformCommand(CMD_BREAK, stmt); }
void Continue(Statement* stmt) { PerformCommand(CMD_CONTINUE, stmt); }
void ReturnAccumulator() { PerformCommand(CMD_RETURN, nullptr); }
void AsyncReturnAccumulator() { PerformCommand(CMD_ASYNC_RETURN, nullptr); }
void Break(Statement* stmt) {
PerformCommand(CMD_BREAK, stmt, kNoSourcePosition);
}
void Continue(Statement* stmt) {
PerformCommand(CMD_CONTINUE, stmt, kNoSourcePosition);
}
void ReturnAccumulator(int source_position = kNoSourcePosition) {
PerformCommand(CMD_RETURN, nullptr, source_position);
}
void AsyncReturnAccumulator(int source_position = kNoSourcePosition) {
PerformCommand(CMD_ASYNC_RETURN, nullptr, source_position);
}
class DeferredCommands;
......@@ -116,8 +124,10 @@ class BytecodeGenerator::ControlScope BASE_EMBEDDED {
CMD_ASYNC_RETURN,
CMD_RETHROW
};
void PerformCommand(Command command, Statement* statement);
virtual bool Execute(Command command, Statement* statement) = 0;
void PerformCommand(Command command, Statement* statement,
int source_position);
virtual bool Execute(Command command, Statement* statement,
int source_position) = 0;
// Helper to pop the context chain to a depth expected by this control scope.
// Note that it is the responsibility of each individual {Execute} method to
......@@ -208,7 +218,8 @@ class BytecodeGenerator::ControlScope::DeferredCommands final {
.JumpIfFalse(ToBooleanMode::kAlreadyBoolean, &fall_through);
builder()->LoadAccumulatorWithRegister(result_register_);
execution_control()->PerformCommand(entry.command, entry.statement);
execution_control()->PerformCommand(entry.command, entry.statement,
kNoSourcePosition);
} else {
// For multiple entries, build a jump table and switch on the token,
// jumping to the fallthrough if none of them match.
......@@ -223,7 +234,8 @@ class BytecodeGenerator::ControlScope::DeferredCommands final {
builder()
->Bind(jump_table, entry.token)
.LoadAccumulatorWithRegister(result_register_);
execution_control()->PerformCommand(entry.command, entry.statement);
execution_control()->PerformCommand(entry.command, entry.statement,
kNoSourcePosition);
}
}
......@@ -295,18 +307,19 @@ class BytecodeGenerator::ControlScopeForTopLevel final
: ControlScope(generator) {}
protected:
bool Execute(Command command, Statement* statement) override {
bool Execute(Command command, Statement* statement,
int source_position) override {
switch (command) {
case CMD_BREAK: // We should never see break/continue in top-level.
case CMD_CONTINUE:
UNREACHABLE();
case CMD_RETURN:
// No need to pop contexts, execution leaves the method body.
generator()->BuildReturn();
generator()->BuildReturn(source_position);
return true;
case CMD_ASYNC_RETURN:
// No need to pop contexts, execution leaves the method body.
generator()->BuildAsyncReturn();
generator()->BuildAsyncReturn(source_position);
return true;
case CMD_RETHROW:
// No need to pop contexts, execution leaves the method body.
......@@ -329,7 +342,8 @@ class BytecodeGenerator::ControlScopeForBreakable final
control_builder_(control_builder) {}
protected:
bool Execute(Command command, Statement* statement) override {
bool Execute(Command command, Statement* statement,
int source_position) override {
control_builder_->set_needs_continuation_counter();
if (statement != statement_) return false;
switch (command) {
......@@ -367,7 +381,8 @@ class BytecodeGenerator::ControlScopeForIteration final
~ControlScopeForIteration() { generator()->loop_depth_--; }
protected:
bool Execute(Command command, Statement* statement) override {
bool Execute(Command command, Statement* statement,
int source_position) override {
if (statement != statement_) return false;
switch (command) {
case CMD_BREAK:
......@@ -400,7 +415,8 @@ class BytecodeGenerator::ControlScopeForTryCatch final
: ControlScope(generator) {}
protected:
bool Execute(Command command, Statement* statement) override {
bool Execute(Command command, Statement* statement,
int source_position) override {
switch (command) {
case CMD_BREAK:
case CMD_CONTINUE:
......@@ -429,7 +445,8 @@ class BytecodeGenerator::ControlScopeForTryFinally final
commands_(commands) {}
protected:
bool Execute(Command command, Statement* statement) override {
bool Execute(Command command, Statement* statement,
int source_position) override {
switch (command) {
case CMD_BREAK:
case CMD_CONTINUE:
......@@ -437,6 +454,11 @@ class BytecodeGenerator::ControlScopeForTryFinally final
case CMD_ASYNC_RETURN:
case CMD_RETHROW:
PopContextToExpectedDepth();
// We don't record source_position here since we don't generate return
// bytecode right here and will generate it later as part of finally
// block. Each return bytecode generated in finally block will get own
// return source position from corresponded return statement or we'll
// use end of function if no return statement is presented.
commands_->RecordCommand(command, statement);
try_finally_builder_->LeaveTry();
return true;
......@@ -450,10 +472,11 @@ class BytecodeGenerator::ControlScopeForTryFinally final
};
void BytecodeGenerator::ControlScope::PerformCommand(Command command,
Statement* statement) {
Statement* statement,
int source_position) {
ControlScope* current = this;
do {
if (current->Execute(command, statement)) {
if (current->Execute(command, statement, source_position)) {
return;
}
current = current->outer();
......@@ -1296,9 +1319,9 @@ void BytecodeGenerator::VisitReturnStatement(ReturnStatement* stmt) {
builder()->SetStatementPosition(stmt);
VisitForAccumulatorValue(stmt->expression());
if (stmt->is_async_return()) {
execution_control()->AsyncReturnAccumulator();
execution_control()->AsyncReturnAccumulator(stmt->end_position());
} else {
execution_control()->ReturnAccumulator();
execution_control()->ReturnAccumulator(stmt->end_position());
}
}
......@@ -2259,7 +2282,7 @@ void BytecodeGenerator::BuildVariableLoadForAccumulatorValue(
BuildVariableLoad(variable, slot, hole_check_mode, typeof_mode);
}
void BytecodeGenerator::BuildReturn() {
void BytecodeGenerator::BuildReturn(int source_position) {
if (FLAG_trace) {
RegisterAllocationScope register_scope(this);
Register result = register_allocator()->NewRegister();
......@@ -2284,10 +2307,11 @@ void BytecodeGenerator::BuildReturn() {
.CallRuntime(Runtime::kInlineGeneratorClose, generator_object_)
.LoadAccumulatorWithRegister(result);
}
builder()->SetReturnPosition(source_position, info()->literal());
builder()->Return();
}
void BytecodeGenerator::BuildAsyncReturn() {
void BytecodeGenerator::BuildAsyncReturn(int source_position) {
RegisterAllocationScope register_scope(this);
if (IsAsyncGeneratorFunction(info()->literal()->kind())) {
......@@ -2326,7 +2350,7 @@ void BytecodeGenerator::BuildAsyncReturn() {
.LoadAccumulatorWithRegister(promise);
}
BuildReturn();
BuildReturn(source_position);
}
void BytecodeGenerator::BuildReThrow() { builder()->ReThrow(); }
......@@ -2638,7 +2662,7 @@ void BytecodeGenerator::BuildGeneratorSuspend(Suspend* expr, Register value,
.StoreAccumulatorInRegister(args[1])
.CallRuntime(Runtime::kInlineCreateIterResultObject, args);
}
builder()->SetReturnPosition(kNoSourcePosition, info()->literal());
builder()->Return(); // Hard return (ignore any finally blocks).
}
......
......@@ -119,8 +119,8 @@ class BytecodeGenerator final : public AstVisitor<BytecodeGenerator> {
HoleCheckMode hole_check_mode,
LookupHoistingMode lookup_hoisting_mode = LookupHoistingMode::kNormal);
void BuildLiteralCompareNil(Token::Value compare_op, NilValue nil);
void BuildReturn();
void BuildAsyncReturn();
void BuildReturn(int source_position = kNoSourcePosition);
void BuildAsyncReturn(int source_position = kNoSourcePosition);
void BuildAsyncGeneratorReturn();
void BuildReThrow();
void BuildAbort(BailoutReason bailout_reason);
......
......@@ -1315,9 +1315,11 @@ class ParserBase {
// Convenience method which determines the type of return statement to emit
// depending on the current function type.
inline StatementT BuildReturnStatement(ExpressionT expr, int pos) {
return is_async_function() ? factory()->NewAsyncReturnStatement(expr, pos)
: factory()->NewReturnStatement(expr, pos);
inline StatementT BuildReturnStatement(ExpressionT expr, int pos,
int end_pos = kNoSourcePosition) {
return is_async_function()
? factory()->NewAsyncReturnStatement(expr, pos, end_pos)
: factory()->NewReturnStatement(expr, pos, end_pos);
}
// Validation per ES6 object literals.
......@@ -5189,7 +5191,9 @@ typename ParserBase<Impl>::StatementT ParserBase<Impl>::ParseReturnStatement(
}
ExpectSemicolon(CHECK_OK);
return_value = impl()->RewriteReturn(return_value, loc.beg_pos);
StatementT stmt = BuildReturnStatement(return_value, loc.beg_pos);
int continuation_pos = scanner_->location().end_pos;
StatementT stmt =
BuildReturnStatement(return_value, loc.beg_pos, continuation_pos);
impl()->RecordJumpStatementSourceRange(stmt, scanner_->location().end_pos);
return stmt;
}
......
......@@ -15,7 +15,7 @@ bytecode array length: 6
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateArrayLiteral), U8(0), U8(4), U8(37),
/* 51 S> */ B(Return),
/* 50 S> */ B(Return),
]
constant pool: [
TUPLE2_TYPE,
......@@ -46,7 +46,7 @@ bytecodes: [
/* 59 E> */ B(AddSmi), I8(1), U8(4),
B(StaKeyedPropertySloppy), R(2), R(1), U8(6),
B(Ldar), R(2),
/* 66 S> */ B(Return),
/* 65 S> */ B(Return),
]
constant pool: [
TUPLE2_TYPE,
......@@ -64,7 +64,7 @@ bytecode array length: 6
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateArrayLiteral), U8(0), U8(6), U8(4),
/* 62 S> */ B(Return),
/* 61 S> */ B(Return),
]
constant pool: [
TUPLE2_TYPE,
......@@ -107,7 +107,7 @@ bytecodes: [
B(Ldar), R(4),
B(StaKeyedPropertySloppy), R(2), R(1), U8(12),
B(Ldar), R(2),
/* 77 S> */ B(Return),
/* 76 S> */ B(Return),
]
constant pool: [
TUPLE2_TYPE,
......
......@@ -784,7 +784,7 @@ bytecodes: [
/* 2591 S> */ B(LdaConstant), U8(255),
B(Star), R(0),
/* 2601 S> */ B(Wide), B(CreateArrayLiteral), U16(256), U16(4), U8(37),
/* 2619 S> */ B(Return),
/* 2618 S> */ B(Return),
]
constant pool: [
HEAP_NUMBER_TYPE [1.23],
......
......@@ -27,7 +27,7 @@ bytecodes: [
B(Star), R(0),
B(LdaSmi), I8(5),
B(Star), R(1),
/* 89 S> */ B(Return),
/* 88 S> */ B(Return),
]
constant pool: [
]
......@@ -51,7 +51,7 @@ bytecodes: [
B(Star), R(0),
B(Star), R(1),
/* 65 S> */ B(Nop),
/* 75 S> */ B(Return),
/* 74 S> */ B(Return),
]
constant pool: [
]
......@@ -81,7 +81,7 @@ bytecodes: [
/* 64 E> */ B(Add), R(1), U8(5),
B(Star), R(0),
/* 77 S> */ B(Nop),
/* 87 S> */ B(Return),
/* 86 S> */ B(Return),
]
constant pool: [
]
......@@ -113,7 +113,7 @@ bytecodes: [
/* 75 S> */ B(Inc), U8(6),
B(Star), R(0),
/* 80 S> */ B(Nop),
/* 90 S> */ B(Return),
/* 89 S> */ B(Return),
]
constant pool: [
]
......@@ -147,7 +147,7 @@ bytecodes: [
/* 76 E> */ B(Add), R(2), U8(6),
B(Star), R(1),
/* 87 S> */ B(Nop),
/* 97 S> */ B(Return),
/* 96 S> */ B(Return),
]
constant pool: [
]
......@@ -181,7 +181,7 @@ bytecodes: [
/* 76 E> */ B(Add), R(1), U8(6),
B(Star), R(0),
/* 87 S> */ B(Nop),
/* 97 S> */ B(Return),
/* 96 S> */ B(Return),
]
constant pool: [
]
......@@ -229,7 +229,7 @@ bytecodes: [
B(Star), R(2),
B(Ldar), R(1),
/* 123 E> */ B(Add), R(2), U8(11),
/* 128 S> */ B(Return),
/* 127 S> */ B(Return),
]
constant pool: [
]
......@@ -265,7 +265,7 @@ bytecodes: [
B(Inc), U8(7),
B(Star), R(0),
/* 67 E> */ B(Add), R(1), U8(8),
/* 76 S> */ B(Return),
/* 75 S> */ B(Return),
]
constant pool: [
]
......
......@@ -21,7 +21,7 @@ bytecodes: [
/* 56 E> */ B(TestLessThan), R(0), U8(4),
B(JumpIfFalse), U8(5),
/* 63 S> */ B(LdaSmi), I8(1),
/* 75 S> */ B(Return),
/* 72 S> */ B(Return),
B(LdaUndefined),
/* 75 S> */ B(Return),
]
......@@ -46,7 +46,7 @@ bytecodes: [
/* 56 E> */ B(TestLessThan), R(0), U8(4),
B(JumpIfFalse), U8(5),
/* 63 S> */ B(LdaSmi), I8(1),
/* 75 S> */ B(Return),
/* 72 S> */ B(Return),
B(LdaUndefined),
/* 75 S> */ B(Return),
]
......
......@@ -19,7 +19,7 @@ bytecodes: [
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 88 S> */ B(Nop),
/* 98 S> */ B(Return),
/* 97 S> */ B(Return),
]
constant pool: [
]
......@@ -42,7 +42,7 @@ bytecodes: [
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 77 S> */ B(Nop),
/* 87 S> */ B(Return),
/* 86 S> */ B(Return),
]
constant pool: [
]
......@@ -90,7 +90,7 @@ bytecodes: [
/* 138 S> */ B(Jump), U8(5),
B(JumpLoop), U8(40), I8(0),
/* 147 S> */ B(Ldar), R(1),
/* 157 S> */ B(Return),
/* 156 S> */ B(Return),
]
constant pool: [
]
......@@ -143,7 +143,7 @@ bytecodes: [
B(Star), R(0),
B(JumpLoop), U8(52), I8(0),
/* 186 S> */ B(Ldar), R(0),
/* 196 S> */ B(Return),
/* 195 S> */ B(Return),
]
constant pool: [
]
......@@ -188,7 +188,7 @@ bytecodes: [
B(Star), R(0),
/* 135 S> */ B(Jump), U8(2),
/* 144 S> */ B(Ldar), R(0),
/* 154 S> */ B(Return),
/* 153 S> */ B(Return),
]
constant pool: [
]
......@@ -225,7 +225,7 @@ bytecodes: [
B(Star), R(0),
B(JumpLoop), U8(19), I8(0),
/* 98 S> */ B(Ldar), R(1),
/* 108 S> */ B(Return),
/* 107 S> */ B(Return),
]
constant pool: [
]
......@@ -272,7 +272,7 @@ bytecodes: [
B(JumpIfFalse), U8(5),
B(JumpLoop), U8(40), I8(0),
/* 151 S> */ B(Ldar), R(1),
/* 161 S> */ B(Return),
/* 160 S> */ B(Return),
]
constant pool: [
]
......@@ -308,7 +308,7 @@ bytecodes: [
/* 98 S> */ B(JumpIfToBooleanFalse), U8(5),
B(JumpLoop), U8(17), I8(0),
/* 102 S> */ B(Ldar), R(1),
/* 112 S> */ B(Return),
/* 111 S> */ B(Return),
]
constant pool: [
]
......@@ -351,7 +351,7 @@ bytecodes: [
B(JumpIfFalse), U8(4),
/* 123 S> */ B(Jump), U8(2),
/* 150 S> */ B(Ldar), R(1),
/* 160 S> */ B(Return),
/* 159 S> */ B(Return),
]
constant pool: [
]
......@@ -395,7 +395,7 @@ bytecodes: [
/* 123 S> */ B(Jump), U8(2),
B(JumpLoop), U8(33), I8(0),
/* 149 S> */ B(Ldar), R(1),
/* 159 S> */ B(Return),
/* 158 S> */ B(Return),
]
constant pool: [
]
......@@ -611,7 +611,7 @@ bytecodes: [
B(Star), R(1),
B(JumpLoop), U8(18), I8(0),
/* 88 S> */ B(Ldar), R(0),
/* 98 S> */ B(Return),
/* 97 S> */ B(Return),
]
constant pool: [
]
......@@ -636,7 +636,7 @@ bytecodes: [
/* 58 S> */ B(LdaZero),
B(Star), R(1),
/* 91 S> */ B(Ldar), R(0),
/* 101 S> */ B(Return),
/* 100 S> */ B(Return),
]
constant pool: [
]
......@@ -674,7 +674,7 @@ bytecodes: [
B(Star), R(1),
B(JumpLoop), U8(23), I8(0),
/* 112 S> */ B(Ldar), R(0),
/* 122 S> */ B(Return),
/* 121 S> */ B(Return),
]
constant pool: [
]
......
......@@ -27,7 +27,7 @@ bytecodes: [
B(Star), R(0),
/* 69 S> */ B(Jump), U8(2),
/* 97 S> */ B(Ldar), R(0),
/* 107 S> */ B(Return),
/* 106 S> */ B(Return),
]
constant pool: [
]
......@@ -85,7 +85,7 @@ bytecodes: [
B(Star), R(1),
B(JumpLoop), U8(56), I8(0),
/* 188 S> */ B(Ldar), R(0),
/* 200 S> */ B(Return),
/* 199 S> */ B(Return),
]
constant pool: [
]
......
......@@ -20,7 +20,7 @@ bytecodes: [
/* 32 S> */ B(LdaGlobal), U8(0), U8(6),
B(Star), R(0),
/* 39 E> */ B(CallUndefinedReceiver0), R(0), U8(4),
/* 44 S> */ B(Return),
/* 43 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["t"],
......@@ -48,7 +48,7 @@ bytecodes: [
B(LdaSmi), I8(3),
B(Star), R(3),
/* 46 E> */ B(CallUndefinedReceiver), R(0), R(1), U8(3), U8(4),
/* 58 S> */ B(Return),
/* 57 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["t"],
......
......@@ -43,7 +43,7 @@ bytecodes: [
/* 62 S> */ B(LdaLookupGlobalSlot), U8(1), U8(11), U8(1),
B(Star), R(1),
/* 69 E> */ B(CallUndefinedReceiver0), R(1), U8(9),
/* 74 S> */ B(Return),
/* 73 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......
......@@ -20,7 +20,7 @@ bytecodes: [
/* 50 S> */ B(LdaGlobal), U8(0), U8(6),
B(Star), R(0),
/* 57 E> */ B(Construct), R(0), R(0), U8(0), U8(4),
/* 68 S> */ B(Return),
/* 67 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["bar"],
......@@ -45,7 +45,7 @@ bytecodes: [
B(Star), R(1),
B(Ldar), R(0),
/* 70 E> */ B(Construct), R(0), R(1), U8(1), U8(4),
/* 82 S> */ B(Return),
/* 81 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["bar"],
......@@ -79,7 +79,7 @@ bytecodes: [
B(Star), R(3),
B(Ldar), R(0),
/* 112 E> */ B(Construct), R(0), R(1), U8(3), U8(4),
/* 130 S> */ B(Return),
/* 129 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["bar"],
......
......@@ -36,7 +36,7 @@ bytecode array length: 7
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(CallRuntime), U16(Runtime::kIsArray), R(arg0), U8(1),
/* 35 S> */ B(Return),
/* 34 S> */ B(Return),
]
constant pool: [
]
......@@ -58,7 +58,7 @@ bytecodes: [
B(LdaSmi), I8(2),
B(Star), R(1),
B(CallRuntime), U16(Runtime::kAdd), R(0), U8(2),
/* 33 S> */ B(Return),
/* 32 S> */ B(Return),
]
constant pool: [
]
......@@ -80,7 +80,7 @@ bytecodes: [
B(CreateArrayLiteral), U8(0), U8(4), U8(37),
B(Star), R(1),
B(CallJSRuntime), U8(%spread_iterable), R(0), U8(2),
/* 44 S> */ B(Return),
/* 43 S> */ B(Return),
]
constant pool: [
TUPLE2_TYPE,
......
......@@ -36,7 +36,7 @@ bytecodes: [
B(Star), R(1),
/* 117 E> */ B(CallAnyReceiver), R(1), R(this), U8(1), U8(4),
/* 126 E> */ B(AddSmi), I8(1), U8(10),
/* 131 S> */ B(Return),
/* 130 S> */ B(Return),
]
constant pool: [
SYMBOL_TYPE,
......@@ -82,7 +82,7 @@ bytecodes: [
B(Star), R(3),
B(Mov), R(this), R(1),
B(CallRuntime), U16(Runtime::kLoadFromSuper), R(1), U8(3),
/* 159 S> */ B(Return),
/* 158 S> */ B(Return),
]
constant pool: [
SYMBOL_TYPE,
......
......@@ -195,7 +195,7 @@ bytecodes: [
B(Star), R(1),
/* 87 S> */ B(Nop),
/* 94 E> */ B(Construct), R(1), R(0), U8(0), U8(5),
/* 103 S> */ B(Return),
/* 102 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......
......@@ -18,7 +18,7 @@ bytecodes: [
/* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0),
/* 45 S> */ B(TestNull),
/* 64 S> */ B(Return),
/* 63 S> */ B(Return),
]
constant pool: [
]
......@@ -38,7 +38,7 @@ bytecodes: [
/* 42 S> */ B(LdaUndefined),
B(Star), R(0),
/* 53 S> */ B(TestUndefined),
/* 77 S> */ B(Return),
/* 76 S> */ B(Return),
]
constant pool: [
]
......@@ -59,7 +59,7 @@ bytecodes: [
B(Star), R(0),
/* 53 S> */ B(TestUndefined),
/* 70 E> */ B(LogicalNot),
/* 77 S> */ B(Return),
/* 76 S> */ B(Return),
]
constant pool: [
]
......@@ -80,7 +80,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(TestUndetectable),
/* 54 E> */ B(LogicalNot),
/* 63 S> */ B(Return),
/* 62 S> */ B(Return),
]
constant pool: [
]
......@@ -100,7 +100,7 @@ bytecodes: [
/* 42 S> */ B(LdaUndefined),
B(Star), R(0),
/* 53 S> */ B(TestUndetectable),
/* 76 S> */ B(Return),
/* 75 S> */ B(Return),
]
constant pool: [
]
......@@ -123,7 +123,7 @@ bytecodes: [
B(LdaSmi), I8(1),
B(Jump), U8(4),
B(LdaSmi), I8(2),
/* 85 S> */ B(Return),
/* 84 S> */ B(Return),
]
constant pool: [
]
......@@ -147,7 +147,7 @@ bytecodes: [
B(LdaSmi), I8(1),
B(Jump), U8(4),
B(LdaSmi), I8(2),
/* 71 S> */ B(Return),
/* 70 S> */ B(Return),
]
constant pool: [
]
......@@ -170,7 +170,7 @@ bytecodes: [
B(LdaSmi), I8(1),
B(Jump), U8(4),
B(LdaSmi), I8(2),
/* 77 S> */ B(Return),
/* 76 S> */ B(Return),
]
constant pool: [
]
......@@ -193,7 +193,7 @@ bytecodes: [
B(LdaSmi), I8(1),
B(Jump), U8(4),
B(LdaSmi), I8(2),
/* 72 S> */ B(Return),
/* 71 S> */ B(Return),
]
constant pool: [
]
......@@ -218,9 +218,9 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(JumpIfNotNull), U8(5),
/* 65 S> */ B(LdaSmi), I8(1),
/* 98 S> */ B(Return),
/* 74 S> */ B(Return),
/* 86 S> */ B(LdaSmi), I8(2),
/* 98 S> */ B(Return),
/* 95 S> */ B(Return),
B(LdaUndefined),
/* 98 S> */ B(Return),
]
......@@ -246,7 +246,7 @@ bytecodes: [
/* 45 S> */ B(TestUndetectable),
B(JumpIfTrue), U8(5),
/* 69 S> */ B(LdaSmi), I8(1),
/* 81 S> */ B(Return),
/* 78 S> */ B(Return),
B(LdaUndefined),
/* 81 S> */ B(Return),
]
......
......@@ -16,7 +16,7 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(1),
B(TestTypeOf), U8(0),
/* 65 S> */ B(Return),
/* 64 S> */ B(Return),
]
constant pool: [
]
......@@ -34,7 +34,7 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaConstant), U8(0),
B(TestTypeOf), U8(1),
/* 69 S> */ B(Return),
/* 68 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["foo"],
......@@ -53,7 +53,7 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaTrue),
B(TestTypeOf), U8(3),
/* 68 S> */ B(Return),
/* 67 S> */ B(Return),
]
constant pool: [
]
......@@ -71,7 +71,7 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaUndefined),
B(TestTypeOf), U8(1),
/* 73 S> */ B(Return),
/* 72 S> */ B(Return),
]
constant pool: [
]
......@@ -88,7 +88,7 @@ bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaFalse),
/* 74 S> */ B(Return),
/* 73 S> */ B(Return),
]
constant pool: [
]
......
......@@ -15,7 +15,7 @@ bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(2),
/* 52 S> */ B(Return),
/* 51 S> */ B(Return),
]
constant pool: [
]
......@@ -32,7 +32,7 @@ bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(3),
/* 60 S> */ B(Return),
/* 59 S> */ B(Return),
]
constant pool: [
]
......@@ -56,7 +56,7 @@ bytecodes: [
B(LdaSmi), I8(2),
B(Jump), U8(4),
B(LdaSmi), I8(3),
/* 56 S> */ B(Return),
/* 55 S> */ B(Return),
]
constant pool: [
]
......@@ -79,7 +79,7 @@ bytecodes: [
B(LdaSmi), I8(2),
B(Jump), U8(4),
B(LdaSmi), I8(3),
/* 63 S> */ B(Return),
/* 62 S> */ B(Return),
]
constant pool: [
]
......
......@@ -36,7 +36,7 @@ bytecodes: [
/* 44 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 48 S> */ B(Nop),
/* 58 S> */ B(Return),
/* 57 S> */ B(Return),
]
constant pool: [
]
......
......@@ -49,7 +49,7 @@ bytecodes: [
/* 44 S> */ B(LdaSmi), I8(10),
/* 44 E> */ B(StaCurrentContextSlot), U8(4),
/* 74 S> */ B(LdaImmutableCurrentContextSlot), U8(4),
/* 84 S> */ B(Return),
/* 83 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......
......@@ -21,7 +21,7 @@ bytecodes: [
B(StaCurrentContextSlot), U8(4),
/* 10 E> */ B(StackCheck),
/* 19 S> */ B(CreateClosure), U8(0), U8(4), U8(2),
/* 52 S> */ B(Return),
/* 51 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......@@ -46,7 +46,7 @@ bytecodes: [
/* 27 S> */ B(CreateClosure), U8(0), U8(4), U8(2),
B(Star), R(0),
/* 53 S> */ B(LdaCurrentContextSlot), U8(4),
/* 66 S> */ B(Return),
/* 65 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......@@ -71,7 +71,7 @@ bytecodes: [
B(StaCurrentContextSlot), U8(4),
/* 10 E> */ B(StackCheck),
/* 29 S> */ B(CreateClosure), U8(0), U8(4), U8(2),
/* 61 S> */ B(Return),
/* 60 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......@@ -94,7 +94,7 @@ bytecodes: [
/* 26 S> */ B(Ldar), R(this),
/* 26 E> */ B(StaCurrentContextSlot), U8(4),
/* 32 S> */ B(CreateClosure), U8(0), U8(4), U8(2),
/* 65 S> */ B(Return),
/* 64 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......
......@@ -17,7 +17,7 @@ bytecodes: [
B(PushContext), R(0),
/* 30 E> */ B(StackCheck),
/* 41 S> */ B(CreateClosure), U8(0), U8(4), U8(2),
/* 71 S> */ B(Return),
/* 70 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......@@ -39,7 +39,7 @@ bytecodes: [
/* 42 S> */ B(LdaSmi), I8(1),
/* 42 E> */ B(StaCurrentContextSlot), U8(4),
/* 45 S> */ B(CreateClosure), U8(0), U8(4), U8(2),
/* 75 S> */ B(Return),
/* 74 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......@@ -63,7 +63,7 @@ bytecodes: [
/* 53 S> */ B(LdaSmi), I8(2),
/* 53 E> */ B(StaCurrentContextSlot), U8(5),
/* 56 S> */ B(CreateClosure), U8(0), U8(4), U8(2),
/* 92 S> */ B(Return),
/* 91 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......@@ -86,7 +86,7 @@ bytecodes: [
B(Star), R(1),
/* 64 E> */ B(CallUndefinedReceiver0), R(1), U8(4),
/* 68 S> */ B(LdaCurrentContextSlot), U8(4),
/* 78 S> */ B(Return),
/* 77 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......@@ -119,7 +119,7 @@ bytecodes: [
/* 69 S> */ B(LdaSmi), I8(2),
/* 69 E> */ B(StaCurrentContextSlot), U8(4),
/* 72 S> */ B(CreateClosure), U8(1), U8(4), U8(2),
/* 104 S> */ B(Return),
/* 101 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -904,7 +904,7 @@ bytecodes: [
/* 3454 S> */ B(LdaSmi), I8(100),
/* 3454 E> */ B(Wide), B(StaCurrentContextSlot), U16(256),
/* 3459 S> */ B(Wide), B(LdaCurrentContextSlot), U16(256),
/* 3468 S> */ B(Return),
/* 3467 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"],
......
......@@ -18,7 +18,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(Inc), U8(4),
B(Star), R(0),
/* 57 S> */ B(Return),
/* 56 S> */ B(Return),
]
constant pool: [
]
......@@ -41,7 +41,7 @@ bytecodes: [
B(Inc), U8(4),
B(Star), R(0),
B(Ldar), R(1),
/* 57 S> */ B(Return),
/* 56 S> */ B(Return),
]
constant pool: [
]
......@@ -61,7 +61,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(Dec), U8(4),
B(Star), R(0),
/* 57 S> */ B(Return),
/* 56 S> */ B(Return),
]
constant pool: [
]
......@@ -84,7 +84,7 @@ bytecodes: [
B(Dec), U8(4),
B(Star), R(0),
B(Ldar), R(1),
/* 57 S> */ B(Return),
/* 56 S> */ B(Return),
]
constant pool: [
]
......@@ -108,7 +108,7 @@ bytecodes: [
B(Inc), U8(9),
/* 66 E> */ B(StaNamedPropertySloppy), R(1), U8(1), U8(7),
B(Ldar), R(2),
/* 70 S> */ B(Return),
/* 69 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -131,7 +131,7 @@ bytecodes: [
/* 54 S> */ B(LdaNamedProperty), R(1), U8(1), U8(5),
B(Dec), U8(9),
/* 65 E> */ B(StaNamedPropertySloppy), R(1), U8(1), U8(7),
/* 70 S> */ B(Return),
/* 69 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -160,7 +160,7 @@ bytecodes: [
B(Dec), U8(9),
/* 86 E> */ B(StaKeyedPropertySloppy), R(2), R(0), U8(7),
B(Ldar), R(4),
/* 90 S> */ B(Return),
/* 89 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["var"],
......@@ -186,7 +186,7 @@ bytecodes: [
/* 83 E> */ B(LdaKeyedProperty), R(2), U8(5),
B(Inc), U8(9),
/* 87 E> */ B(StaKeyedPropertySloppy), R(2), R(0), U8(7),
/* 90 S> */ B(Return),
/* 89 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["var"],
......@@ -213,7 +213,7 @@ bytecodes: [
/* 78 S> */ B(LdaCurrentContextSlot), U8(4),
B(Inc), U8(5),
/* 87 E> */ B(StaCurrentContextSlot), U8(4),
/* 90 S> */ B(Return),
/* 89 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......@@ -242,7 +242,7 @@ bytecodes: [
B(Dec), U8(5),
/* 86 E> */ B(StaCurrentContextSlot), U8(4),
B(Ldar), R(2),
/* 90 S> */ B(Return),
/* 89 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......@@ -270,7 +270,7 @@ bytecodes: [
B(Star), R(0),
B(LdaSmi), I8(2),
/* 79 E> */ B(StaKeyedPropertySloppy), R(1), R(3), U8(6),
/* 84 S> */ B(Return),
/* 83 S> */ B(Return),
]
constant pool: [
TUPLE2_TYPE,
......
......@@ -19,7 +19,7 @@ bytecodes: [
B(Star), R(0),
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(Nop),
/* 33 S> */ B(Return),
/* 32 S> */ B(Return),
]
constant pool: [
]
......@@ -40,7 +40,7 @@ bytecodes: [
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(LdaZero),
/* 31 E> */ B(LdaKeyedProperty), R(0), U8(4),
/* 36 S> */ B(Return),
/* 35 S> */ B(Return),
]
constant pool: [
]
......@@ -60,7 +60,7 @@ bytecodes: [
B(Star), R(0),
/* 10 E> */ B(StackCheck),
/* 29 S> */ B(Nop),
/* 47 S> */ B(Return),
/* 46 S> */ B(Return),
]
constant pool: [
]
......@@ -85,7 +85,7 @@ bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(LdaZero),
/* 32 E> */ B(LdaKeyedProperty), R(0), U8(4),
/* 37 S> */ B(Return),
/* 36 S> */ B(Return),
]
constant pool: [
]
......@@ -113,7 +113,7 @@ bytecodes: [
B(Star), R(0),
/* 10 E> */ B(StackCheck),
/* 22 S> */ B(Nop),
/* 40 S> */ B(Return),
/* 39 S> */ B(Return),
]
constant pool: [
]
......@@ -133,7 +133,7 @@ bytecodes: [
B(Star), R(0),
/* 10 E> */ B(StackCheck),
/* 36 S> */ B(Nop),
/* 54 S> */ B(Return),
/* 53 S> */ B(Return),
]
constant pool: [
]
......
......@@ -20,7 +20,7 @@ bytecodes: [
/* 10 E> */ B(StackCheck),
B(Star), R(1),
/* 26 S> */ B(Nop),
/* 43 S> */ B(Return),
/* 42 S> */ B(Return),
]
constant pool: [
]
......@@ -42,7 +42,7 @@ bytecodes: [
B(Mov), R(arg0), R(1),
B(Mov), R(0), R(2),
/* 29 S> */ B(Ldar), R(2),
/* 46 S> */ B(Return),
/* 45 S> */ B(Return),
]
constant pool: [
]
......@@ -65,7 +65,7 @@ bytecodes: [
B(Mov), R(0), R(2),
/* 29 S> */ B(LdaZero),
/* 44 E> */ B(LdaKeyedProperty), R(2), U8(4),
/* 49 S> */ B(Return),
/* 48 S> */ B(Return),
]
constant pool: [
]
......@@ -94,7 +94,7 @@ bytecodes: [
B(LdaZero),
/* 59 E> */ B(LdaKeyedProperty), R(3), U8(6),
/* 48 E> */ B(Add), R(4), U8(8),
/* 64 S> */ B(Return),
/* 63 S> */ B(Return),
]
constant pool: [
]
......
......@@ -15,7 +15,7 @@ bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaUndefined),
/* 58 S> */ B(Return),
/* 41 S> */ B(Return),
]
constant pool: [
]
......@@ -51,7 +51,7 @@ bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 46 S> */ B(LdaSmi), I8(1),
/* 78 S> */ B(Return),
/* 55 S> */ B(Return),
]
constant pool: [
]
......@@ -71,9 +71,9 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanFalse), U8(5),
/* 54 S> */ B(LdaSmi), I8(1),
/* 77 S> */ B(Return),
/* 63 S> */ B(Return),
/* 67 S> */ B(LdaSmi), I8(2),
/* 77 S> */ B(Return),
/* 76 S> */ B(Return),
]
constant pool: [
]
......
......@@ -18,7 +18,7 @@ bytecodes: [
B(Mov), R(1), R(0),
/* 56 S> */ B(LdaConstant), U8(1),
B(DeletePropertySloppy), R(1),
/* 75 S> */ B(Return),
/* 74 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -40,7 +40,7 @@ bytecodes: [
B(Mov), R(1), R(0),
/* 70 S> */ B(LdaConstant), U8(1),
B(DeletePropertyStrict), R(1),
/* 89 S> */ B(Return),
/* 88 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -62,7 +62,7 @@ bytecodes: [
B(Mov), R(1), R(0),
/* 56 S> */ B(LdaSmi), I8(2),
B(DeletePropertySloppy), R(1),
/* 76 S> */ B(Return),
/* 75 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -82,7 +82,7 @@ bytecodes: [
/* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 46 S> */ B(LdaFalse),
/* 63 S> */ B(Return),
/* 62 S> */ B(Return),
]
constant pool: [
]
......@@ -111,7 +111,7 @@ bytecodes: [
B(Star), R(1),
B(LdaSmi), I8(1),
B(DeletePropertyStrict), R(1),
/* 113 S> */ B(Return),
/* 112 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -130,7 +130,7 @@ bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaTrue),
/* 56 S> */ B(Return),
/* 55 S> */ B(Return),
]
constant pool: [
]
......
......@@ -51,7 +51,7 @@ bytecode array length: 3
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(LdaFalse),
/* 32 S> */ B(Return),
/* 31 S> */ B(Return),
]
constant pool: [
]
......@@ -77,7 +77,7 @@ bytecodes: [
/* 15 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
B(CallRuntime), U16(Runtime::kDeleteLookupSlot), R(0), U8(1),
/* 32 S> */ B(Return),
/* 31 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["z"],
......
......@@ -17,7 +17,7 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(Mov), R(0), R(1),
/* 50 S> */ B(Ldar), R(1),
/* 60 S> */ B(Return),
/* 59 S> */ B(Return),
]
constant pool: [
]
......@@ -39,7 +39,7 @@ bytecodes: [
B(Star), R(1),
B(Star), R(2),
/* 63 S> */ B(Nop),
/* 73 S> */ B(Return),
/* 72 S> */ B(Return),
]
constant pool: [
]
......
......@@ -38,7 +38,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(3), U8(6),
B(Star), R(1),
/* 41 E> */ B(CallUndefinedReceiver1), R(1), R(2), U8(4),
/* 53 S> */ B(Return),
/* 52 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"],
......
......@@ -82,7 +82,7 @@ bytecodes: [
/* 54 E> */ B(StackCheck),
B(Star), R(2),
/* 73 S> */ B(Nop),
/* 85 S> */ B(Return),
/* 82 S> */ B(Return),
B(ForInStep), R(7),
B(Star), R(7),
B(JumpLoop), U8(23), I8(0),
......@@ -226,7 +226,7 @@ bytecodes: [
/* 59 E> */ B(StackCheck),
/* 83 S> */ B(LdaSmi), I8(3),
/* 91 E> */ B(LdaKeyedProperty), R(0), U8(8),
/* 98 S> */ B(Return),
/* 95 S> */ B(Return),
B(ForInStep), R(5),
B(Star), R(5),
B(JumpLoop), U8(34), I8(0),
......
......@@ -15,7 +15,7 @@ bytecode array length: 6
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateClosure), U8(0), U8(4), U8(2),
/* 55 S> */ B(Return),
/* 54 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......@@ -35,7 +35,7 @@ bytecodes: [
/* 34 S> */ B(CreateClosure), U8(0), U8(6), U8(2),
B(Star), R(0),
/* 56 E> */ B(CallUndefinedReceiver0), R(0), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......@@ -57,7 +57,7 @@ bytecodes: [
B(LdaSmi), I8(1),
B(Star), R(1),
/* 67 E> */ B(CallUndefinedReceiver1), R(0), R(1), U8(4),
/* 71 S> */ B(Return),
/* 70 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......
......@@ -27,7 +27,7 @@ bytecodes: [
/* 88 S> */ B(LdaSmi), I8(20),
B(Star), R(1),
/* 97 S> */ B(Ldar), R(1),
/* 107 S> */ B(Return),
/* 106 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -57,7 +57,7 @@ bytecodes: [
/* 93 S> */ B(LdaSmi), I8(20),
B(Star), R(1),
/* 102 S> */ B(Ldar), R(1),
/* 112 S> */ B(Return),
/* 111 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -87,7 +87,7 @@ bytecodes: [
/* 88 S> */ B(LdaSmi), I8(20),
B(Star), R(1),
/* 97 S> */ B(Ldar), R(1),
/* 107 S> */ B(Return),
/* 106 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -117,7 +117,7 @@ bytecodes: [
/* 93 S> */ B(LdaSmi), I8(20),
B(Star), R(1),
/* 102 S> */ B(Ldar), R(1),
/* 112 S> */ B(Return),
/* 111 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -146,7 +146,7 @@ bytecodes: [
/* 89 S> */ B(LdaSmi), I8(20),
B(Star), R(1),
/* 98 S> */ B(Ldar), R(1),
/* 108 S> */ B(Return),
/* 107 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -175,7 +175,7 @@ bytecodes: [
/* 94 S> */ B(LdaSmi), I8(20),
B(Star), R(1),
/* 103 S> */ B(Ldar), R(1),
/* 113 S> */ B(Return),
/* 112 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -204,7 +204,7 @@ bytecodes: [
/* 89 S> */ B(LdaSmi), I8(20),
B(Star), R(1),
/* 98 S> */ B(Ldar), R(1),
/* 108 S> */ B(Return),
/* 107 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -233,7 +233,7 @@ bytecodes: [
/* 94 S> */ B(LdaSmi), I8(20),
B(Star), R(1),
/* 103 S> */ B(Ldar), R(1),
/* 113 S> */ B(Return),
/* 112 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......
......@@ -20,7 +20,7 @@ bytecodes: [
/* 31 S> */ B(LdaGlobal), U8(0), U8(4),
B(BitwiseAndSmi), I8(1), U8(6),
/* 45 E> */ B(StaGlobalSloppy), U8(0), U8(7),
/* 51 S> */ B(Return),
/* 50 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["global"],
......@@ -42,7 +42,7 @@ bytecodes: [
/* 32 S> */ B(LdaGlobal), U8(0), U8(4),
B(AddSmi), I8(1), U8(6),
/* 51 E> */ B(StaGlobalSloppy), U8(0), U8(7),
/* 57 S> */ B(Return),
/* 56 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["unallocated"],
......
......@@ -20,7 +20,7 @@ bytecodes: [
/* 31 S> */ B(LdaGlobal), U8(0), U8(4),
B(Inc), U8(8),
/* 40 E> */ B(StaGlobalSloppy), U8(0), U8(6),
/* 48 S> */ B(Return),
/* 47 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["global"],
......@@ -45,7 +45,7 @@ bytecodes: [
B(Dec), U8(8),
/* 44 E> */ B(StaGlobalSloppy), U8(0), U8(6),
B(Ldar), R(0),
/* 48 S> */ B(Return),
/* 47 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["global"],
......@@ -67,7 +67,7 @@ bytecodes: [
/* 46 S> */ B(LdaGlobal), U8(0), U8(4),
B(Dec), U8(8),
/* 55 E> */ B(StaGlobalStrict), U8(0), U8(6),
/* 68 S> */ B(Return),
/* 67 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["unallocated"],
......@@ -92,7 +92,7 @@ bytecodes: [
B(Inc), U8(8),
/* 50 E> */ B(StaGlobalSloppy), U8(0), U8(6),
B(Ldar), R(0),
/* 54 S> */ B(Return),
/* 53 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["unallocated"],
......
......@@ -23,7 +23,7 @@ bytecodes: [
B(Star), R(0),
B(LdaConstant), U8(1),
B(DeletePropertySloppy), R(0),
/* 58 S> */ B(Return),
/* 57 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
......@@ -50,7 +50,7 @@ bytecodes: [
B(Star), R(0),
B(LdaSmi), I8(1),
B(DeletePropertyStrict), R(0),
/* 71 S> */ B(Return),
/* 70 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
......@@ -77,7 +77,7 @@ bytecodes: [
B(Star), R(1),
B(LdaConstant), U8(0),
B(DeletePropertySloppy), R(1),
/* 56 S> */ B(Return),
/* 55 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
......@@ -104,7 +104,7 @@ bytecodes: [
B(Star), R(1),
B(LdaConstant), U8(0),
B(DeletePropertySloppy), R(1),
/* 42 S> */ B(Return),
/* 41 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"],
......
......@@ -15,7 +15,7 @@ bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaConstant), U8(0),
/* 46 S> */ B(Return),
/* 45 S> */ B(Return),
]
constant pool: [
HEAP_NUMBER_TYPE [1.2],
......@@ -35,7 +35,7 @@ bytecodes: [
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 47 S> */ B(LdaConstant), U8(1),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
HEAP_NUMBER_TYPE [1.2],
......@@ -56,7 +56,7 @@ bytecodes: [
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 48 S> */ B(LdaConstant), U8(1),
/* 61 S> */ B(Return),
/* 60 S> */ B(Return),
]
constant pool: [
HEAP_NUMBER_TYPE [3.14],
......
......@@ -23,7 +23,7 @@ bytecode array length: 4
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 55 S> */ B(LdaSmi), I8(-1),
/* 70 S> */ B(Return),
/* 65 S> */ B(Return),
]
constant pool: [
]
......@@ -47,7 +47,7 @@ bytecode array length: 4
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 36 S> */ B(LdaSmi), I8(1),
/* 76 S> */ B(Return),
/* 45 S> */ B(Return),
]
constant pool: [
]
......@@ -71,7 +71,7 @@ bytecode array length: 4
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 59 S> */ B(LdaSmi), I8(-1),
/* 74 S> */ B(Return),
/* 69 S> */ B(Return),
]
constant pool: [
]
......@@ -125,7 +125,7 @@ bytecodes: [
B(Star), R(0),
B(Jump), U8(5),
/* 66 S> */ B(LdaSmi), I8(2),
/* 80 S> */ B(Return),
/* 75 S> */ B(Return),
B(LdaUndefined),
/* 80 S> */ B(Return),
]
......@@ -154,9 +154,9 @@ bytecodes: [
/* 24 E> */ B(TestLessThanOrEqual), R(arg0), U8(4),
B(JumpIfFalse), U8(7),
/* 36 S> */ B(Wide), B(LdaSmi), I16(200),
/* 80 S> */ B(Return),
/* 47 S> */ B(Return),
/* 63 S> */ B(Wide), B(LdaSmi), I16(-200),
/* 80 S> */ B(Return),
/* 75 S> */ B(Return),
B(LdaUndefined),
/* 80 S> */ B(Return),
]
......@@ -178,7 +178,7 @@ bytecodes: [
/* 25 E> */ B(TestIn), R(arg0),
B(JumpIfFalse), U8(7),
/* 33 S> */ B(Wide), B(LdaSmi), I16(200),
/* 47 S> */ B(Return),
/* 44 S> */ B(Return),
B(LdaUndefined),
/* 47 S> */ B(Return),
]
......@@ -397,9 +397,9 @@ bytecodes: [
/* 1066 S> */ B(Nop),
/* 1073 S> */ B(Nop),
/* 1081 S> */ B(Wide), B(LdaSmi), I16(200),
/* 1117 S> */ B(Return),
/* 1092 S> */ B(Return),
/* 1102 S> */ B(Wide), B(LdaSmi), I16(-200),
/* 1117 S> */ B(Return),
/* 1114 S> */ B(Return),
B(LdaUndefined),
/* 1117 S> */ B(Return),
]
......@@ -622,9 +622,9 @@ bytecodes: [
/* 1060 S> */ B(Nop),
/* 1067 S> */ B(Nop),
/* 1076 S> */ B(Wide), B(LdaSmi), I16(200),
/* 1112 S> */ B(Return),
/* 1087 S> */ B(Return),
/* 1097 S> */ B(Wide), B(LdaSmi), I16(-200),
/* 1112 S> */ B(Return),
/* 1109 S> */ B(Return),
B(LdaUndefined),
/* 1112 S> */ B(Return),
]
......@@ -657,44 +657,44 @@ bytecodes: [
/* 27 E> */ B(TestEqual), R(arg0), U8(4),
B(JumpIfFalse), U8(5),
/* 35 S> */ B(LdaSmi), I8(1),
/* 262 S> */ B(Return),
/* 44 S> */ B(Return),
/* 49 S> */ B(Ldar), R(arg1),
/* 55 E> */ B(TestEqualStrict), R(arg0), U8(5),
B(JumpIfFalse), U8(5),
/* 64 S> */ B(LdaSmi), I8(1),
/* 262 S> */ B(Return),
/* 73 S> */ B(Return),
/* 78 S> */ B(Ldar), R(arg1),
/* 84 E> */ B(TestLessThan), R(arg0), U8(6),
B(JumpIfFalse), U8(5),
/* 91 S> */ B(LdaSmi), I8(1),
/* 262 S> */ B(Return),
/* 100 S> */ B(Return),
/* 105 S> */ B(Ldar), R(arg1),
/* 111 E> */ B(TestGreaterThan), R(arg0), U8(7),
B(JumpIfFalse), U8(5),
/* 118 S> */ B(LdaSmi), I8(1),
/* 262 S> */ B(Return),
/* 127 S> */ B(Return),
/* 132 S> */ B(Ldar), R(arg1),
/* 138 E> */ B(TestLessThanOrEqual), R(arg0), U8(8),
B(JumpIfFalse), U8(5),
/* 146 S> */ B(LdaSmi), I8(1),
/* 262 S> */ B(Return),
/* 155 S> */ B(Return),
/* 160 S> */ B(Ldar), R(arg1),
/* 166 E> */ B(TestGreaterThanOrEqual), R(arg0), U8(9),
B(JumpIfFalse), U8(5),
/* 174 S> */ B(LdaSmi), I8(1),
/* 262 S> */ B(Return),
/* 183 S> */ B(Return),
/* 188 S> */ B(Ldar), R(arg1),
/* 194 E> */ B(TestIn), R(arg0),
B(JumpIfFalse), U8(5),
/* 202 S> */ B(LdaSmi), I8(1),
/* 262 S> */ B(Return),
/* 211 S> */ B(Return),
/* 216 S> */ B(Ldar), R(arg1),
/* 222 E> */ B(TestInstanceOf), R(arg0),
B(JumpIfFalse), U8(5),
/* 238 S> */ B(LdaSmi), I8(1),
/* 262 S> */ B(Return),
/* 247 S> */ B(Return),
/* 252 S> */ B(LdaZero),
/* 262 S> */ B(Return),
/* 261 S> */ B(Return),
]
constant pool: [
]
......@@ -722,9 +722,9 @@ bytecodes: [
B(Star), R(0),
/* 30 S> */ B(JumpIfToBooleanFalse), U8(5),
/* 43 S> */ B(LdaSmi), I8(20),
/* 85 S> */ B(Return),
/* 53 S> */ B(Return),
/* 69 S> */ B(LdaSmi), I8(-20),
/* 85 S> */ B(Return),
/* 80 S> */ B(Return),
B(LdaUndefined),
/* 85 S> */ B(Return),
]
......@@ -758,7 +758,7 @@ bytecodes: [
/* 37 E> */ B(TestLessThan), R(arg0), U8(5),
B(JumpIfFalse), U8(5),
/* 48 S> */ B(LdaSmi), I8(1),
/* 133 S> */ B(Return),
/* 57 S> */ B(Return),
/* 67 S> */ B(LdaZero),
/* 73 E> */ B(TestGreaterThan), R(arg0), U8(6),
B(JumpIfFalse), U8(10),
......@@ -766,9 +766,9 @@ bytecodes: [
/* 82 E> */ B(TestGreaterThan), R(arg1), U8(7),
B(JumpIfFalse), U8(4),
/* 93 S> */ B(LdaZero),
/* 133 S> */ B(Return),
/* 102 S> */ B(Return),
/* 118 S> */ B(LdaSmi), I8(-1),
/* 133 S> */ B(Return),
/* 128 S> */ B(Return),
B(LdaUndefined),
/* 133 S> */ B(Return),
]
......
......@@ -15,7 +15,7 @@ bytecode array length: 8
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(ExtraWide), B(LdaSmi), I32(12345678),
/* 51 S> */ B(Return),
/* 50 S> */ B(Return),
]
constant pool: [
]
......@@ -34,7 +34,7 @@ bytecodes: [
/* 42 S> */ B(Wide), B(LdaSmi), I16(1234),
B(Star), R(0),
/* 48 S> */ B(Wide), B(LdaSmi), I16(5678),
/* 61 S> */ B(Return),
/* 60 S> */ B(Return),
]
constant pool: [
]
......@@ -53,7 +53,7 @@ bytecodes: [
/* 42 S> */ B(Wide), B(LdaSmi), I16(1234),
B(Star), R(0),
/* 48 S> */ B(Wide), B(LdaSmi), I16(1234),
/* 61 S> */ B(Return),
/* 60 S> */ B(Return),
]
constant pool: [
]
......
......@@ -973,7 +973,7 @@ bytecodes: [
B(Star), R(1),
B(JumpLoop), U8(42), I8(0),
/* 4167 S> */ B(LdaSmi), I8(3),
/* 4177 S> */ B(Return),
/* 4176 S> */ B(Return),
]
constant pool: [
HEAP_NUMBER_TYPE [0.1],
......
......@@ -36,7 +36,7 @@ bytecodes: [
/* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0),
/* 46 S> */ B(Nop),
/* 56 S> */ B(Return),
/* 55 S> */ B(Return),
]
constant pool: [
]
......
......@@ -49,7 +49,7 @@ bytecodes: [
/* 42 S> */ B(LdaSmi), I8(10),
/* 42 E> */ B(StaCurrentContextSlot), U8(4),
/* 72 S> */ B(LdaImmutableCurrentContextSlot), U8(4),
/* 82 S> */ B(Return),
/* 81 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......
......@@ -18,7 +18,7 @@ bytecode array length: 5
bytecodes: [
/* 21 E> */ B(StackCheck),
/* 26 S> */ B(LdaGlobal), U8(0), U8(4),
/* 36 S> */ B(Return),
/* 35 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
......@@ -38,7 +38,7 @@ bytecode array length: 5
bytecodes: [
/* 27 E> */ B(StackCheck),
/* 32 S> */ B(LdaGlobal), U8(0), U8(4),
/* 42 S> */ B(Return),
/* 41 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["t"],
......@@ -58,7 +58,7 @@ bytecode array length: 5
bytecodes: [
/* 17 E> */ B(StackCheck),
/* 22 S> */ B(LdaGlobal), U8(0), U8(4),
/* 32 S> */ B(Return),
/* 31 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
......@@ -464,7 +464,7 @@ bytecodes: [
/* 1295 S> */ B(Nop),
/* 1297 E> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(258),
/* 1305 S> */ B(Wide), B(LdaGlobal), U16(1), U16(260),
/* 1315 S> */ B(Return),
/* 1314 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["name"],
......
......@@ -18,7 +18,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanTrue), U8(4),
B(LdaSmi), I8(3),
/* 60 S> */ B(Return),
/* 59 S> */ B(Return),
]
constant pool: [
]
......@@ -40,7 +40,7 @@ bytecodes: [
/* 55 E> */ B(TestEqual), R(0), U8(4),
B(JumpIfTrue), U8(4),
B(LdaSmi), I8(3),
/* 67 S> */ B(Return),
/* 66 S> */ B(Return),
]
constant pool: [
]
......@@ -60,7 +60,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanFalse), U8(4),
B(LdaSmi), I8(3),
/* 60 S> */ B(Return),
/* 59 S> */ B(Return),
]
constant pool: [
]
......@@ -82,7 +82,7 @@ bytecodes: [
/* 55 E> */ B(TestEqual), R(0), U8(4),
B(JumpIfFalse), U8(4),
B(LdaSmi), I8(3),
/* 67 S> */ B(Return),
/* 66 S> */ B(Return),
]
constant pool: [
]
......@@ -102,7 +102,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(JumpIfToBooleanTrue), U8(4),
B(LdaSmi), I8(3),
/* 68 S> */ B(Return),
/* 67 S> */ B(Return),
]
constant pool: [
]
......@@ -129,7 +129,7 @@ bytecodes: [
B(LdaSmi), I8(5),
B(Star), R(2),
B(LdaSmi), I8(3),
/* 95 S> */ B(Return),
/* 94 S> */ B(Return),
]
constant pool: [
]
......@@ -314,7 +314,7 @@ bytecodes: [
B(LdaSmi), I8(2),
B(Star), R(2),
B(LdaSmi), I8(3),
/* 624 S> */ B(Return),
/* 623 S> */ B(Return),
]
constant pool: [
Smi [260],
......@@ -500,7 +500,7 @@ bytecodes: [
B(LdaSmi), I8(2),
B(Star), R(2),
B(LdaSmi), I8(3),
/* 624 S> */ B(Return),
/* 623 S> */ B(Return),
]
constant pool: [
Smi [260],
......@@ -687,7 +687,7 @@ bytecodes: [
B(LdaSmi), I8(2),
B(Star), R(2),
B(LdaSmi), I8(3),
/* 630 S> */ B(Return),
/* 629 S> */ B(Return),
]
constant pool: [
Smi [260],
......@@ -874,7 +874,7 @@ bytecodes: [
B(LdaSmi), I8(2),
B(Star), R(2),
B(LdaSmi), I8(3),
/* 630 S> */ B(Return),
/* 629 S> */ B(Return),
]
constant pool: [
Smi [260],
......@@ -892,7 +892,7 @@ bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaZero),
/* 49 S> */ B(Return),
/* 48 S> */ B(Return),
]
constant pool: [
]
......@@ -909,7 +909,7 @@ bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(1),
/* 49 S> */ B(Return),
/* 48 S> */ B(Return),
]
constant pool: [
]
......@@ -932,7 +932,7 @@ bytecodes: [
B(JumpIfToBooleanTrue), U8(3),
B(LdaZero),
B(LdaSmi), I8(1),
/* 68 S> */ B(Return),
/* 67 S> */ B(Return),
]
constant pool: [
]
......
......@@ -40,7 +40,7 @@ bytecodes: [
B(Star), R(1),
/* 14 E> */ B(CallUndefinedReceiver1), R(1), R(2), U8(4),
/* 35 S> */ B(LdaLookupGlobalSlot), U8(2), U8(8), U8(1),
/* 45 S> */ B(Return),
/* 44 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"],
......@@ -85,7 +85,7 @@ bytecodes: [
/* 14 E> */ B(CallUndefinedReceiver1), R(1), R(2), U8(4),
/* 35 S> */ B(LdaLookupGlobalSlotInsideTypeof), U8(2), U8(8), U8(1),
B(TypeOf),
/* 52 S> */ B(Return),
/* 51 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"],
......@@ -130,7 +130,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(3), U8(6),
B(Star), R(1),
/* 29 E> */ B(CallUndefinedReceiver1), R(1), R(2), U8(4),
/* 39 S> */ B(Return),
/* 38 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
......@@ -179,7 +179,7 @@ bytecodes: [
B(Star), R(1),
/* 44 E> */ B(CallUndefinedReceiver1), R(1), R(2), U8(4),
/* 66 S> */ B(LdaLookupContextSlot), U8(2), U8(6), U8(1),
/* 76 S> */ B(Return),
/* 75 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"],
......@@ -228,7 +228,7 @@ bytecodes: [
B(Star), R(1),
/* 40 E> */ B(CallUndefinedReceiver1), R(1), R(2), U8(4),
/* 62 S> */ B(LdaLookupGlobalSlot), U8(2), U8(8), U8(1),
/* 72 S> */ B(Return),
/* 71 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"],
......
......@@ -21,7 +21,7 @@ bytecode array length: 6
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(LdaLookupGlobalSlot), U8(0), U8(4), U8(1),
/* 25 S> */ B(Return),
/* 24 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
......@@ -95,7 +95,7 @@ bytecodes: [
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(LdaLookupGlobalSlotInsideTypeof), U8(0), U8(4), U8(1),
B(TypeOf),
/* 32 S> */ B(Return),
/* 31 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
......
......@@ -17,7 +17,7 @@ bytecodes: [
B(Ldar), R(0),
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(Ldar), R(0),
/* 53 S> */ B(Return),
/* 52 S> */ B(Return),
]
constant pool: [
]
......
......@@ -16,7 +16,7 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(4), U8(41), R(0),
B(Ldar), R(0),
/* 46 S> */ B(Return),
/* 45 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -35,7 +35,7 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(4), U8(41), R(0),
B(Ldar), R(0),
/* 71 S> */ B(Return),
/* 70 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -57,7 +57,7 @@ bytecodes: [
/* 45 S> */ B(CreateObjectLiteral), U8(0), U8(4), U8(41), R(1),
/* 75 E> */ B(StaNamedOwnProperty), R(1), U8(1), U8(5),
B(Ldar), R(1),
/* 80 S> */ B(Return),
/* 79 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -81,7 +81,7 @@ bytecodes: [
/* 69 E> */ B(AddSmi), I8(1), U8(4),
B(StaNamedOwnProperty), R(1), U8(1), U8(6),
B(Ldar), R(1),
/* 76 S> */ B(Return),
/* 75 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -103,7 +103,7 @@ bytecodes: [
B(CreateClosure), U8(1), U8(4), U8(2),
B(StaNamedOwnProperty), R(0), U8(2), U8(6),
B(Ldar), R(0),
/* 67 S> */ B(Return),
/* 66 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -126,7 +126,7 @@ bytecodes: [
B(CreateClosure), U8(1), U8(4), U8(2),
B(StaNamedOwnProperty), R(0), U8(2), U8(6),
B(Ldar), R(0),
/* 68 S> */ B(Return),
/* 67 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -157,7 +157,7 @@ bytecodes: [
B(Mov), R(0), R(1),
B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), R(1), U8(5),
B(Ldar), R(1),
/* 68 S> */ B(Return),
/* 67 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -188,7 +188,7 @@ bytecodes: [
B(Mov), R(0), R(1),
B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), R(1), U8(5),
B(Ldar), R(1),
/* 102 S> */ B(Return),
/* 101 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -220,7 +220,7 @@ bytecodes: [
B(Mov), R(0), R(1),
B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), R(1), U8(5),
B(Ldar), R(1),
/* 74 S> */ B(Return),
/* 73 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -250,7 +250,7 @@ bytecodes: [
B(Mov), R(0), R(4),
/* 57 E> */ B(CallRuntime), U16(Runtime::kSetProperty), R(2), U8(4),
B(Ldar), R(2),
/* 62 S> */ B(Return),
/* 61 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -269,7 +269,7 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(4), U8(57), R(0),
B(Ldar), R(0),
/* 62 S> */ B(Return),
/* 61 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......@@ -293,7 +293,7 @@ bytecodes: [
B(LdaSmi), I8(1),
B(StaDataPropertyInLiteral), R(1), R(2), U8(0), U8(5),
B(Ldar), R(1),
/* 69 S> */ B(Return),
/* 68 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["test"],
......@@ -319,7 +319,7 @@ bytecodes: [
B(LdaSmi), I8(1),
B(StaDataPropertyInLiteral), R(1), R(2), U8(0), U8(7),
B(Ldar), R(1),
/* 77 S> */ B(Return),
/* 76 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["test"],
......@@ -349,7 +349,7 @@ bytecodes: [
B(Mov), R(4), R(3),
B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(2), U8(2),
B(Ldar), R(2),
/* 84 S> */ B(Return),
/* 83 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["test"],
......@@ -389,7 +389,7 @@ bytecodes: [
B(Star), R(5),
B(CallRuntime), U16(Runtime::kDefineSetterPropertyUnchecked), R(2), U8(4),
B(Ldar), R(2),
/* 99 S> */ B(Return),
/* 98 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["name"],
......
......@@ -785,7 +785,7 @@ bytecodes: [
B(Star), R(0),
/* 2601 S> */ B(Wide), B(CreateObjectLiteral), U16(256), U16(4), U8(41), R16(1),
B(Ldar), R(1),
/* 2638 S> */ B(Return),
/* 2637 S> */ B(Return),
]
constant pool: [
HEAP_NUMBER_TYPE [1.23],
......
......@@ -27,7 +27,7 @@ bytecodes: [
B(Star), R(0),
B(LdaImmutableCurrentContextSlot), U8(4),
/* 118 E> */ B(Mul), R(0), U8(4),
/* 130 S> */ B(Return),
/* 129 S> */ B(Return),
]
constant pool: [
]
......
......@@ -17,7 +17,7 @@ bytecode array length: 4
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 15 S> */ B(Ldar), R(this),
/* 28 S> */ B(Return),
/* 27 S> */ B(Return),
]
constant pool: [
]
......@@ -35,7 +35,7 @@ bytecode array length: 4
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 19 S> */ B(Ldar), R(arg0),
/* 32 S> */ B(Return),
/* 31 S> */ B(Return),
]
constant pool: [
]
......@@ -53,7 +53,7 @@ bytecode array length: 4
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 19 S> */ B(Ldar), R(this),
/* 32 S> */ B(Return),
/* 31 S> */ B(Return),
]
constant pool: [
]
......@@ -71,7 +71,7 @@ bytecode array length: 4
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 55 S> */ B(Ldar), R(arg3),
/* 68 S> */ B(Return),
/* 67 S> */ B(Return),
]
constant pool: [
]
......@@ -89,7 +89,7 @@ bytecode array length: 4
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 55 S> */ B(Ldar), R(this),
/* 68 S> */ B(Return),
/* 67 S> */ B(Return),
]
constant pool: [
]
......
......@@ -17,7 +17,7 @@ bytecodes: [
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(Nop),
/* 55 S> */ B(Return),
/* 54 S> */ B(Return),
]
constant pool: [
]
......@@ -37,7 +37,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(Nop),
/* 54 E> */ B(AddSmi), I8(3), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -59,7 +59,7 @@ bytecodes: [
B(Star), R(1),
B(Ldar), R(0),
/* 54 E> */ B(Add), R(1), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -79,7 +79,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(Nop),
/* 54 E> */ B(SubSmi), I8(3), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -101,7 +101,7 @@ bytecodes: [
B(Star), R(1),
B(Ldar), R(0),
/* 54 E> */ B(Sub), R(1), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -121,7 +121,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(Nop),
/* 54 E> */ B(MulSmi), I8(3), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -141,7 +141,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(Nop),
/* 54 E> */ B(MulSmi), I8(3), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -161,7 +161,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(Nop),
/* 54 E> */ B(DivSmi), I8(3), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -183,7 +183,7 @@ bytecodes: [
B(Star), R(1),
B(Ldar), R(0),
/* 54 E> */ B(Div), R(1), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -203,7 +203,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(Nop),
/* 54 E> */ B(ModSmi), I8(3), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -225,7 +225,7 @@ bytecodes: [
B(Star), R(1),
B(Ldar), R(0),
/* 54 E> */ B(Mod), R(1), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -245,7 +245,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(Nop),
/* 54 E> */ B(BitwiseOrSmi), I8(2), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -265,7 +265,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(Nop),
/* 54 E> */ B(BitwiseOrSmi), I8(2), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -285,7 +285,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(Nop),
/* 54 E> */ B(BitwiseXorSmi), I8(2), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -305,7 +305,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(Nop),
/* 54 E> */ B(BitwiseXorSmi), I8(2), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -325,7 +325,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(Nop),
/* 54 E> */ B(BitwiseAndSmi), I8(2), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -345,7 +345,7 @@ bytecodes: [
B(Star), R(0),
/* 45 S> */ B(Nop),
/* 54 E> */ B(BitwiseAndSmi), I8(2), U8(4),
/* 59 S> */ B(Return),
/* 58 S> */ B(Return),
]
constant pool: [
]
......@@ -365,7 +365,7 @@ bytecodes: [
B(Star), R(0),
/* 46 S> */ B(Nop),
/* 55 E> */ B(ShiftLeftSmi), I8(3), U8(4),
/* 61 S> */ B(Return),
/* 60 S> */ B(Return),
]
constant pool: [
]
......@@ -387,7 +387,7 @@ bytecodes: [
B(Star), R(1),
B(Ldar), R(0),
/* 55 E> */ B(ShiftLeft), R(1), U8(4),
/* 61 S> */ B(Return),
/* 60 S> */ B(Return),
]
constant pool: [
]
......@@ -407,7 +407,7 @@ bytecodes: [
B(Star), R(0),
/* 46 S> */ B(Nop),
/* 55 E> */ B(ShiftRightSmi), I8(3), U8(4),
/* 61 S> */ B(Return),
/* 60 S> */ B(Return),
]
constant pool: [
]
......@@ -429,7 +429,7 @@ bytecodes: [
B(Star), R(1),
B(Ldar), R(0),
/* 55 E> */ B(ShiftRight), R(1), U8(4),
/* 61 S> */ B(Return),
/* 60 S> */ B(Return),
]
constant pool: [
]
......@@ -449,7 +449,7 @@ bytecodes: [
B(Star), R(0),
/* 46 S> */ B(Nop),
/* 55 E> */ B(ShiftRightLogicalSmi), I8(3), U8(4),
/* 62 S> */ B(Return),
/* 61 S> */ B(Return),
]
constant pool: [
]
......@@ -471,7 +471,7 @@ bytecodes: [
B(Star), R(1),
B(Ldar), R(0),
/* 55 E> */ B(ShiftRightLogical), R(1), U8(4),
/* 62 S> */ B(Return),
/* 61 S> */ B(Return),
]
constant pool: [
]
......@@ -490,7 +490,7 @@ bytecodes: [
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 45 S> */ B(LdaSmi), I8(3),
/* 60 S> */ B(Return),
/* 59 S> */ B(Return),
]
constant pool: [
]
......
......@@ -31,7 +31,7 @@ bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaUndefined),
/* 42 S> */ B(Return),
/* 41 S> */ B(Return),
]
constant pool: [
]
......@@ -48,7 +48,7 @@ bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaNull),
/* 47 S> */ B(Return),
/* 46 S> */ B(Return),
]
constant pool: [
]
......@@ -65,7 +65,7 @@ bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaTrue),
/* 47 S> */ B(Return),
/* 46 S> */ B(Return),
]
constant pool: [
]
......@@ -82,7 +82,7 @@ bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaFalse),
/* 48 S> */ B(Return),
/* 47 S> */ B(Return),
]
constant pool: [
]
......@@ -99,7 +99,7 @@ bytecode array length: 3
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaZero),
/* 44 S> */ B(Return),
/* 43 S> */ B(Return),
]
constant pool: [
]
......@@ -116,7 +116,7 @@ bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(1),
/* 45 S> */ B(Return),
/* 44 S> */ B(Return),
]
constant pool: [
]
......@@ -133,7 +133,7 @@ bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(-1),
/* 45 S> */ B(Return),
/* 44 S> */ B(Return),
]
constant pool: [
]
......@@ -150,7 +150,7 @@ bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(127),
/* 47 S> */ B(Return),
/* 46 S> */ B(Return),
]
constant pool: [
]
......@@ -167,7 +167,7 @@ bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(-128),
/* 47 S> */ B(Return),
/* 46 S> */ B(Return),
]
constant pool: [
]
......@@ -184,7 +184,7 @@ bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaSmi), I8(2),
/* 46 S> */ B(Return),
/* 45 S> */ B(Return),
]
constant pool: [
]
......
......@@ -20,7 +20,7 @@ bytecodes: [
/* 25 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(6),
B(Star), R(0),
/* 25 E> */ B(CallProperty0), R(0), R(arg0), U8(4),
/* 33 S> */ B(Return),
/* 32 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"],
......@@ -42,7 +42,7 @@ bytecodes: [
/* 31 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(6),
B(Star), R(0),
/* 31 E> */ B(CallProperty2), R(0), R(arg0), R(arg1), R(arg2), U8(4),
/* 43 S> */ B(Return),
/* 42 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"],
......@@ -67,7 +67,7 @@ bytecodes: [
/* 35 E> */ B(Add), R(arg1), U8(8),
B(Star), R(2),
/* 28 E> */ B(CallProperty2), R(0), R(arg0), R(2), R(arg1), U8(4),
/* 44 S> */ B(Return),
/* 43 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"],
......@@ -474,7 +474,7 @@ bytecodes: [
/* 1178 E> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(262),
B(Star), R(0),
/* 1178 E> */ B(Wide), B(CallProperty0), R16(0), R16(arg0), U16(260),
/* 1186 S> */ B(Return),
/* 1185 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"],
......@@ -510,7 +510,7 @@ bytecodes: [
B(LdaSmi), I8(3),
B(Star), R(2),
/* 41 E> */ B(CallProperty1), R(0), R(1), R(2), U8(4),
/* 50 S> */ B(Return),
/* 49 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"],
......
......@@ -18,7 +18,7 @@ bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(Nop),
/* 25 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(4),
/* 31 S> */ B(Return),
/* 30 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["name"],
......@@ -38,7 +38,7 @@ bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(Nop),
/* 24 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(4),
/* 33 S> */ B(Return),
/* 32 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["key"],
......@@ -58,7 +58,7 @@ bytecodes: [
/* 10 E> */ B(StackCheck),
/* 16 S> */ B(LdaSmi), I8(100),
/* 24 E> */ B(LdaKeyedProperty), R(arg0), U8(4),
/* 31 S> */ B(Return),
/* 30 S> */ B(Return),
]
constant pool: [
]
......@@ -77,7 +77,7 @@ bytecodes: [
/* 10 E> */ B(StackCheck),
/* 19 S> */ B(Ldar), R(arg1),
/* 28 E> */ B(LdaKeyedProperty), R(arg0), U8(4),
/* 32 S> */ B(Return),
/* 31 S> */ B(Return),
]
constant pool: [
]
......@@ -99,7 +99,7 @@ bytecodes: [
B(Star), R(0),
/* 32 S> */ B(LdaSmi), I8(-124),
/* 40 E> */ B(LdaKeyedProperty), R(arg0), U8(6),
/* 48 S> */ B(Return),
/* 47 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["name"],
......@@ -634,7 +634,7 @@ bytecodes: [
B(Star), R(0),
/* 1819 S> */ B(Nop),
/* 1828 E> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(260),
/* 1834 S> */ B(Return),
/* 1833 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["name"],
......@@ -1169,7 +1169,7 @@ bytecodes: [
B(Star), R(0),
/* 1566 S> */ B(Ldar), R(arg1),
/* 1575 E> */ B(Wide), B(LdaKeyedProperty), R16(arg0), U16(260),
/* 1579 S> */ B(Return),
/* 1578 S> */ B(Return),
]
constant pool: [
]
......
......@@ -15,7 +15,7 @@ bytecode array length: 6
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateRegExpLiteral), U8(0), U8(4), U8(0),
/* 49 S> */ B(Return),
/* 48 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["ab+d"],
......@@ -33,7 +33,7 @@ bytecode array length: 6
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateRegExpLiteral), U8(0), U8(4), U8(2),
/* 58 S> */ B(Return),
/* 57 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["(\u005cw+)\u005cs(\u005cw+)"],
......@@ -57,7 +57,7 @@ bytecodes: [
B(LdaConstant), U8(2),
B(Star), R(2),
/* 48 E> */ B(CallProperty1), R(0), R(1), R(2), U8(4),
/* 62 S> */ B(Return),
/* 61 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["ab+d"],
......
......@@ -784,7 +784,7 @@ bytecodes: [
/* 2591 S> */ B(LdaConstant), U8(255),
B(Star), R(0),
/* 2601 S> */ B(Wide), B(CreateRegExpLiteral), U16(256), U16(4), U8(0),
/* 2616 S> */ B(Return),
/* 2615 S> */ B(Return),
]
constant pool: [
HEAP_NUMBER_TYPE [1.23],
......
......@@ -31,7 +31,7 @@ bytecodes: [
/* 101 S> */ B(Jump), U8(5),
B(JumpLoop), U8(17), I8(0),
/* 110 S> */ B(Ldar), R(0),
/* 123 S> */ B(Return),
/* 122 S> */ B(Return),
]
constant pool: [
]
......@@ -63,7 +63,7 @@ bytecodes: [
B(JumpIfFalse), U8(4),
/* 92 S> */ B(Jump), U8(2),
/* 118 S> */ B(Ldar), R(0),
/* 131 S> */ B(Return),
/* 130 S> */ B(Return),
]
constant pool: [
]
......@@ -87,7 +87,7 @@ bytecodes: [
/* 62 E> */ B(Add), R(0), U8(4),
B(Star), R(0),
/* 72 S> */ B(Nop),
/* 85 S> */ B(Return),
/* 84 S> */ B(Return),
]
constant pool: [
]
......
......@@ -25,7 +25,7 @@ bytecodes: [
B(Star), R(2),
B(LdaConstant), U8(0),
/* 69 E> */ B(Add), R(2), U8(5),
/* 81 S> */ B(Return),
/* 80 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["string"],
......@@ -55,7 +55,7 @@ bytecodes: [
B(Star), R(2),
B(Ldar), R(1),
/* 76 E> */ B(Add), R(2), U8(5),
/* 81 S> */ B(Return),
/* 80 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["string"],
......@@ -83,7 +83,7 @@ bytecodes: [
B(Star), R(2),
B(Ldar), R(1),
/* 76 E> */ B(Add), R(2), U8(5),
/* 81 S> */ B(Return),
/* 80 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["string"],
......@@ -120,7 +120,7 @@ bytecodes: [
B(LdaConstant), U8(2),
/* 85 E> */ B(Add), R(2), U8(7),
/* 93 E> */ B(AddSmi), I8(1), U8(8),
/* 98 S> */ B(Return),
/* 97 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["foo"],
......@@ -153,7 +153,7 @@ bytecodes: [
B(Ldar), R(1),
/* 90 E> */ B(Add), R(3), U8(5),
/* 78 E> */ B(Add), R(2), U8(6),
/* 96 S> */ B(Return),
/* 95 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["string"],
......@@ -189,7 +189,7 @@ bytecodes: [
B(Star), R(3),
B(Ldar), R(1),
/* 112 E> */ B(Add), R(3), U8(9),
/* 117 S> */ B(Return),
/* 116 S> */ B(Return),
]
constant pool: [
SHARED_FUNCTION_INFO_TYPE,
......
......@@ -15,7 +15,7 @@ bytecode array length: 4
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaConstant), U8(0),
/* 61 S> */ B(Return),
/* 60 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["This is a string"],
......@@ -35,7 +35,7 @@ bytecodes: [
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 58 S> */ B(LdaConstant), U8(1),
/* 82 S> */ B(Return),
/* 81 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["First string"],
......@@ -56,7 +56,7 @@ bytecodes: [
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
/* 57 S> */ B(LdaConstant), U8(0),
/* 79 S> */ B(Return),
/* 78 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["Same string"],
......
......@@ -30,9 +30,9 @@ bytecodes: [
B(JumpIfTrue), U8(7),
B(Jump), U8(8),
/* 66 S> */ B(LdaSmi), I8(2),
/* 97 S> */ B(Return),
/* 75 S> */ B(Return),
/* 85 S> */ B(LdaSmi), I8(3),
/* 97 S> */ B(Return),
/* 94 S> */ B(Return),
B(LdaUndefined),
/* 97 S> */ B(Return),
]
......
......@@ -39,7 +39,7 @@ bytecodes: [
/* 21 E> */ B(StackCheck),
B(Mov), R(closure), R(0),
/* 26 S> */ B(Ldar), R(0),
/* 36 S> */ B(Return),
/* 35 S> */ B(Return),
]
constant pool: [
]
......
......@@ -16,7 +16,7 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
B(Mov), R(context), R(0),
/* 40 S> */ B(LdaSmi), I8(1),
/* 75 S> */ B(Return),
/* 49 S> */ B(Return),
B(Jump), U8(21),
B(Star), R(1),
B(Ldar), R(closure),
......@@ -27,7 +27,7 @@ bytecodes: [
B(Ldar), R(0),
B(PushContext), R(1),
/* 63 S> */ B(LdaSmi), I8(2),
/* 75 S> */ B(Return),
/* 72 S> */ B(Return),
B(LdaUndefined),
/* 75 S> */ B(Return),
]
......
......@@ -22,7 +22,7 @@ bytecodes: [
/* 24 S> */ B(LdaSmi), I8(13),
B(Star), R(0),
/* 29 S> */ B(TypeOf),
/* 47 S> */ B(Return),
/* 46 S> */ B(Return),
]
constant pool: [
]
......@@ -44,7 +44,7 @@ bytecodes: [
/* 22 E> */ B(StackCheck),
/* 28 S> */ B(LdaGlobalInsideTypeof), U8(0), U8(4),
B(TypeOf),
/* 46 S> */ B(Return),
/* 45 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"],
......
......@@ -29,7 +29,7 @@ bytecodes: [
B(Star), R(0),
B(JumpLoop), U8(15), I8(0),
/* 79 S> */ B(Ldar), R(0),
/* 89 S> */ B(Return),
/* 88 S> */ B(Return),
]
constant pool: [
]
......@@ -60,7 +60,7 @@ bytecodes: [
B(JumpIfFalse), U8(5),
B(JumpLoop), U8(12), I8(0),
/* 85 S> */ B(Ldar), R(0),
/* 95 S> */ B(Return),
/* 94 S> */ B(Return),
]
constant pool: [
]
......@@ -82,7 +82,7 @@ bytecodes: [
/* 47 S> */ B(Nop),
/* 61 E> */ B(MulSmi), I8(3), U8(4),
B(LdaUndefined),
/* 67 S> */ B(Return),
/* 66 S> */ B(Return),
]
constant pool: [
]
......@@ -108,7 +108,7 @@ bytecodes: [
B(LdaUndefined),
B(Star), R(1),
/* 74 S> */ B(Nop),
/* 84 S> */ B(Return),
/* 83 S> */ B(Return),
]
constant pool: [
]
......@@ -129,7 +129,7 @@ bytecodes: [
B(Star), R(0),
/* 46 S> */ B(Nop),
/* 53 E> */ B(BitwiseXorSmi), I8(-1), U8(4),
/* 57 S> */ B(Return),
/* 56 S> */ B(Return),
]
constant pool: [
]
......@@ -150,7 +150,7 @@ bytecodes: [
B(Star), R(0),
/* 46 S> */ B(Nop),
/* 53 E> */ B(MulSmi), I8(1), U8(4),
/* 57 S> */ B(Return),
/* 56 S> */ B(Return),
]
constant pool: [
]
......@@ -171,7 +171,7 @@ bytecodes: [
B(Star), R(0),
/* 46 S> */ B(Nop),
/* 53 E> */ B(MulSmi), I8(-1), U8(4),
/* 57 S> */ B(Return),
/* 56 S> */ B(Return),
]
constant pool: [
]
......
......@@ -174,7 +174,7 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 1494 S> */ B(Wide), B(Mov), R16(127), R16(0),
/* 1505 S> */ B(Ldar), R(0),
/* 1516 S> */ B(Return),
/* 1515 S> */ B(Return),
]
constant pool: [
]
......@@ -350,7 +350,7 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 1494 S> */ B(Wide), B(Mov), R16(126), R16(127),
/* 1507 S> */ B(Wide), B(Ldar), R16(127),
/* 1520 S> */ B(Return),
/* 1519 S> */ B(Return),
]
constant pool: [
]
......@@ -528,9 +528,9 @@ bytecodes: [
/* 1501 E> */ B(TestGreaterThan), R(2), U8(4),
B(JumpIfFalse), U8(7),
/* 1508 S> */ B(Wide), B(Ldar), R16(129),
/* 1536 S> */ B(Return),
/* 1520 S> */ B(Return),
/* 1523 S> */ B(Wide), B(Ldar), R16(128),
/* 1536 S> */ B(Return),
/* 1535 S> */ B(Return),
]
constant pool: [
]
......@@ -717,9 +717,9 @@ bytecodes: [
/* 1547 E> */ B(TestGreaterThan), R(2), U8(5),
B(JumpIfFalse), U8(5),
/* 1554 S> */ B(Ldar), R(0),
/* 1580 S> */ B(Return),
/* 1564 S> */ B(Return),
/* 1567 S> */ B(Wide), B(Ldar), R16(129),
/* 1580 S> */ B(Return),
/* 1579 S> */ B(Return),
]
constant pool: [
]
......@@ -913,7 +913,7 @@ bytecodes: [
B(Wide), B(Star), R16(128),
B(JumpLoop), U8(36), I8(0),
/* 1567 S> */ B(Wide), B(Ldar), R16(128),
/* 1580 S> */ B(Return),
/* 1579 S> */ B(Return),
]
constant pool: [
]
......@@ -1113,7 +1113,7 @@ bytecodes: [
B(Wide), B(Star), R16(161),
B(JumpLoop), U8(48), I8(0),
/* 1553 S> */ B(Ldar), R(1),
/* 1564 S> */ B(Return),
/* 1563 S> */ B(Return),
]
constant pool: [
]
......@@ -1299,7 +1299,7 @@ bytecodes: [
B(Star), R(1),
/* 1537 S> */ B(CallRuntime), U16(Runtime::kTheHole), R(0), U8(0),
/* 1549 S> */ B(Ldar), R(1),
/* 1560 S> */ B(Return),
/* 1559 S> */ B(Return),
]
constant pool: [
]
......
......@@ -21,7 +21,7 @@ bytecodes: [
B(CreateWithContext), R(0), U8(1),
B(PushContext), R(0),
/* 50 S> */ B(LdaLookupSlot), U8(2),
/* 62 S> */ B(Return),
/* 59 S> */ B(Return),
]
constant pool: [
FIXED_ARRAY_TYPE,
......
......@@ -44,8 +44,9 @@ var sum = 0;
i++; // Break 2.
i++; // Break 3.
debugger; // Break 4.
return i; // Break 5.
}()); // Break 6.
return i // Break 5.
; // Break 6.
}());
assertNull(exception); // Break 7.
assertEquals(expected_breaks, break_count);
......
......@@ -60,15 +60,18 @@ print(JSON.stringify(log, 1));
assertEquals([
"debugger;",
"results.push(BestEditor());",
" return 'Emacs';","}",
" return 'Emacs';",
" return 'Emacs';",
"results.push(BestEditor());",
"results.push(BestEditor());",
" return 'Emacs';",
" return 'Eclipse';","}",
" return 'Eclipse';",
" return 'Eclipse';",
"results.push(BestEditor());",
"results.push(BestEditor());",
" return 'Eclipse';",
" return 'Vim';",
"}","results.push(BestEditor());",
" return 'Vim';",
"results.push(BestEditor());",
"Debug.setListener(null);"
], log);
......@@ -19,8 +19,9 @@ function f() {
const l7 = 7, // r
l8 = 8, // s
l9 = 9; // t
return 0; // u
} // v
return 0 // u
; // v
}
function listener(event, exec_state, event_data, data) {
if (event != Debug.DebugEvent.Break) return;
......@@ -68,6 +69,6 @@ var expected = [
"l11","n11", // local var
"o6","p11","q11", // local let
"r13","s13","t13", // local const
"u2","v0", // return
"u2","v3", // return
];
assertEquals(expected, log);
......@@ -31,6 +31,7 @@ listener_complete = false;
exception = false;
break_count = 0;
expected_return_value = 0;
expected_source_position = [];
debugger_source_position = 0;
// Listener which expects to do four steps to reach returning from the function.
......@@ -47,18 +48,13 @@ function listener(event, exec_state, event_data, data) {
break;
case 2:
// Position now at the if statement.
assertEquals(debugger_source_position + 10,
assertEquals(expected_source_position.shift() + debugger_source_position,
exec_state.frame(0).sourcePosition());
break;
case 3:
// Position now at either of the returns.
if (expected_return_value == 1) {
assertEquals(debugger_source_position + 19,
assertEquals(expected_source_position.shift() + debugger_source_position,
exec_state.frame(0).sourcePosition());
} else {
assertEquals(debugger_source_position + 38,
exec_state.frame(0).sourcePosition());
}
break;
default:
fail("Unexpected");
......@@ -66,9 +62,8 @@ function listener(event, exec_state, event_data, data) {
exec_state.prepareStep(Debug.StepAction.StepIn);
} else {
// Position at the end of the function.
assertEquals(debugger_source_position + 50,
assertEquals(expected_source_position.shift() + debugger_source_position,
exec_state.frame(0).sourcePosition());
// Just about to return from the function.
assertEquals(expected_return_value,
exec_state.frame(0).returnValue().value());
......@@ -95,6 +90,7 @@ function f(x) {debugger; if (x) { return 1; } else { return 2; } };
// Call f expecting different return values.
break_count = 0;
expected_return_value = 2;
expected_source_position = [10, 38, 47];
listener_complete = false;
f();
assertFalse(exception, "exception in listener")
......@@ -103,6 +99,7 @@ assertEquals(4, break_count);
break_count = 0;
expected_return_value = 1;
expected_source_position = [10, 19, 28];
listener_complete = false;
f(true);
assertFalse(exception, "exception in listener")
......@@ -111,6 +108,7 @@ assertEquals(4, break_count);
break_count = 0;
expected_return_value = 2;
expected_source_position = [10, 38, 47];
listener_complete = false;
f(false);
assertFalse(exception, "exception in listener")
......
......@@ -21,8 +21,9 @@ function listener(event, exec_state, event_data, data) {
};
function toJsonCallback() {
return "x"; // Break 2.
} // Break 3.
return "x" // Break 2.
; // Break 3.
}
var o = {};
o.toJSON = toJsonCallback;
......
......@@ -20,8 +20,9 @@ function listener(event, exec_state, event_data, data) {
};
function valueOfCallback() {
return 2; // Break 2.
} // Break 3.
return 2 // Break 2.
; // Break 3.
}
var o = {};
o.valueOf = valueOfCallback;
......
......@@ -21,8 +21,9 @@ function listener(event, exec_state, event_data, data) {
};
function replaceCallback(a) {
return "x"; // Break 2.
} // Break 3.
return "x" // Break 2.
; // Break 3.
}
var re = /x/g;
// Optimize the inner helper function for string replace.
......
......@@ -37,8 +37,9 @@ debugger; // Break 0.
[3,4].forEach(bound_callback); // Break 6.
function callback(x) {
return x; // Break 2. // Break 4. // Break 7. // Break 9.
} // Break 3. // Break 5. // Break 8. // Break 10.
return x // Break 2. // Break 4. // Break 7. // Break 9.
; // Break 3. // Break 5. // Break 8. // Break 10.
}
assertNull(exception); // Break 11.
assertEquals(expected_breaks, break_count);
......
......@@ -48,8 +48,9 @@ Promise.resolve(42)
});
function callback(x) {
return x; // Break 2. // Break 4. // Break 6.
} // Break 3. // Break 5. // Break 7.
return x // Break 2. // Break 4. // Break 6.
; // Break 3. // Break 5. // Break 7.
}
function finalize() {
assertNull(exception); // Break 8.
......
......@@ -76,8 +76,9 @@ function f() {
} // B34
function return1() {
return 1; // B26
} // B27
return 1 // B26
; // B27
}
f();
Debug.setListener(null); // B35
......
......@@ -21,8 +21,9 @@ function listener(event, exec_state, event_data, data) {
};
function customSplit() {
return "x"; // Break 2.
} // Break 3.
return "x" // Break 2.
; // Break 3.
}
var o = {};
o[Symbol.split] = customSplit;
......
......@@ -41,5 +41,5 @@ Debug.setListener(null); // c
assertNull(exception);
assertEquals("default", result);
assertEquals(["a0","b13","f18b13","d2f18b13","e0f18b13","g2b13","h0b13","c0"],
assertEquals(["a0","b13","f18b13","d2f18b13","d19f18b13","g2b13","g14b13","c0"],
log);
......@@ -47,21 +47,24 @@ Promise.resolve(42)
function promise1() {
debugger; // Break 0.
return exception || 1; // Break 1.
} // Break 2. StepOver.
return exception || 1 // Break 1.
; // Break 2. StepOver.
}
function promise2() {
throw new Error; // Break 3.
}
function promise3() {
return break_count; // Break 4.
} // Break 5.
return break_count // Break 4.
; // Break 5.
}
function promise4() {
finalize(); // Break 6. StepOver.
return 0; // Break 7.
} // Break 8. StepOut.
return 0 // Break 7.
; // Break 8. StepOut.
}
function finalize() {
Promise.resolve().then(function() {
......
......@@ -53,8 +53,8 @@ assertEquals(42, get);
assertEquals([
"a0",
"b10", "h4b17", "i2b17", // [[Has]]
"c10", "j4c16", "k2c16", // [[Get]]
"d0", "l4d11", "m2d11", // [[Set]]
"b10", "h4b17", "h16b17", // [[Has]]
"c10", "j4c16", "j14c16", // [[Get]]
"d0", "l4d11", "l17d11", // [[Set]]
"g0"
], log);
......@@ -49,11 +49,11 @@ assertEquals([
"a0",
"b8",
"d2b13",
"e0b13",
"d25b13",
"b25",
"d2b25",
"e0b25",
"d25b25",
"f4b44",
"g2b44",
"f15b44",
"c0"
], log);
......@@ -28,8 +28,8 @@ function g() {
function(res, rej) {
late_resolve = res; // B3 StepIn
} // B4 StepIn
);
} // B5 StepIn
); // B5 StepIn
}
async function f() {
var a = 1;
......
......@@ -24,8 +24,9 @@ function listener(event, exec_state, event_data, data) {
function f() {
var a = 1; // Break 2. 10.
return a; // Break 3. 2.
} // Break 4. 0.
return a // Break 3. 2.
; // Break 4. 3.
}
Debug.setListener(listener);
debugger; // Break 0. 0.
......
......@@ -25,7 +25,7 @@ Debug = debug.Debug;
Debug.setListener(function(){});
var script = Debug.findScript(sentinel);
var line = 14;
var line = 13;
var line_start = Debug.findScriptSourcePosition(script, line, 0);
var line_end = Debug.findScriptSourcePosition(script, line + 1, 0) - 1;
var actual = Debug.setBreakPointByScriptIdAndPosition(
......
......@@ -28,6 +28,9 @@
# Too slow in debug mode and on slow platforms.
'regress/regress-2318': [PASS, SLOW, ['mode == debug or (arch != ia32 and arch != x64) or asan == True or msan == True', SKIP]],
# forcing weak callback in asan build change break order
'debug/debug-stepin-builtin-callback': [['asan == True or msan == True', SKIP]],
}], # ALWAYS
##############################################################################
......@@ -87,4 +90,25 @@
'debug/debug-liveedit-stack-padding': [SKIP],
'debug/debug-liveedit-restart-frame': [SKIP],
}], # 'arch == s390 or arch == s390x'
##############################################################################
['variant == fullcode', {
# fullcode doesn't generate precise return positions
'debug/debug-multiple-var-decl': [SKIP],
'debug/debug-step-into-valueof': [SKIP],
'regress/regress-5901-2': [SKIP],
'debug/debug-step-into-json': [SKIP],
'debug/es6/debug-step-destructuring-assignment': [SKIP],
'debug/es6/debug-step-into-regexp-subclass': [SKIP],
'debug/es8/async-debug-step-in': [SKIP],
'debug/debug-stepin-builtin-callback-opt': [SKIP],
'debug/debug-stepin-foreach': [SKIP],
'debug/es6/debug-stepin-default-parameters': [SKIP],
'debug/es6/debug-stepin-proxies': [SKIP],
'debug/es6/debug-promises/stepin-handler': [SKIP],
'debug/debug-liveedit-stepin': [SKIP],
'debug/es6/debug-stepin-microtasks': [SKIP],
'debug/ignition/elided-instruction': [SKIP],
'debug/es6/debug-stepin-string-template': [SKIP],
}], # variant == fullcode
]
......@@ -8,8 +8,8 @@ function f() {
}
function g() {
return f();
} // Break
return f(); // Break
}
function h() {
return g();
......
......@@ -25,9 +25,10 @@ Debug.setListener((event, execState, eventData, data) => {
function f(x) {
debugger; // B0 StepNext
with ({}) { // B1 StepNext
return x; // B2 StepNext
return x // B2 StepNext
; // B3 Continue
}
} // B3 Continue
}
f(42);
......
......@@ -58,39 +58,35 @@ Paused #4
- [1] {"functionName":"testFunction","function_lineNumber":0,"function_columnNumber":21,"lineNumber":18,"columnNumber":12}
- [2] {"functionName":"","function_lineNumber":0,"function_columnNumber":0,"lineNumber":0,"columnNumber":0}
Paused #5
- [0] {"functionName":"generateAsmJs","function_lineNumber":1,"function_columnNumber":24,"lineNumber":11,"columnNumber":2}
- [1] {"functionName":"testFunction","function_lineNumber":0,"function_columnNumber":21,"lineNumber":18,"columnNumber":12}
- [2] {"functionName":"","function_lineNumber":0,"function_columnNumber":0,"lineNumber":0,"columnNumber":0}
Paused #6
- [0] {"functionName":"testFunction","function_lineNumber":0,"function_columnNumber":21,"lineNumber":19,"columnNumber":2}
- [1] {"functionName":"","function_lineNumber":0,"function_columnNumber":0,"lineNumber":0,"columnNumber":0}
Paused #7
Paused #6
- [0] {"functionName":"redirectFun","function_lineNumber":7,"function_columnNumber":24,"lineNumber":8,"columnNumber":6}
- [1] {"functionName":"testFunction","function_lineNumber":0,"function_columnNumber":21,"lineNumber":19,"columnNumber":2}
- [2] {"functionName":"","function_lineNumber":0,"function_columnNumber":0,"lineNumber":0,"columnNumber":0}
Paused #8
Paused #7
- [0] {"functionName":"callDebugger","function_lineNumber":4,"function_columnNumber":25,"lineNumber":5,"columnNumber":6}
- [1] {"functionName":"redirectFun","function_lineNumber":7,"function_columnNumber":24,"lineNumber":8,"columnNumber":6}
- [2] {"functionName":"testFunction","function_lineNumber":0,"function_columnNumber":21,"lineNumber":19,"columnNumber":2}
- [3] {"functionName":"","function_lineNumber":0,"function_columnNumber":0,"lineNumber":0,"columnNumber":0}
Paused #9
Paused #8
- [0] {"functionName":"call_debugger","function_lineNumber":13,"function_columnNumber":24,"lineNumber":14,"columnNumber":4}
- [1] {"functionName":"callDebugger","function_lineNumber":4,"function_columnNumber":25,"lineNumber":5,"columnNumber":6}
- [2] {"functionName":"redirectFun","function_lineNumber":7,"function_columnNumber":24,"lineNumber":8,"columnNumber":6}
- [3] {"functionName":"testFunction","function_lineNumber":0,"function_columnNumber":21,"lineNumber":19,"columnNumber":2}
- [4] {"functionName":"","function_lineNumber":0,"function_columnNumber":0,"lineNumber":0,"columnNumber":0}
Paused #10
Paused #9
- [0] {"functionName":"call_debugger","function_lineNumber":13,"function_columnNumber":24,"lineNumber":15,"columnNumber":2}
- [1] {"functionName":"callDebugger","function_lineNumber":4,"function_columnNumber":25,"lineNumber":5,"columnNumber":6}
- [2] {"functionName":"redirectFun","function_lineNumber":7,"function_columnNumber":24,"lineNumber":8,"columnNumber":6}
- [3] {"functionName":"testFunction","function_lineNumber":0,"function_columnNumber":21,"lineNumber":19,"columnNumber":2}
- [4] {"functionName":"","function_lineNumber":0,"function_columnNumber":0,"lineNumber":0,"columnNumber":0}
Paused #11
Paused #10
- [0] {"functionName":"callDebugger","function_lineNumber":4,"function_columnNumber":25,"lineNumber":6,"columnNumber":4}
- [1] {"functionName":"redirectFun","function_lineNumber":7,"function_columnNumber":24,"lineNumber":8,"columnNumber":6}
- [2] {"functionName":"testFunction","function_lineNumber":0,"function_columnNumber":21,"lineNumber":19,"columnNumber":2}
- [3] {"functionName":"","function_lineNumber":0,"function_columnNumber":0,"lineNumber":0,"columnNumber":0}
Paused #12
Paused #11
- [0] {"functionName":"redirectFun","function_lineNumber":7,"function_columnNumber":24,"lineNumber":9,"columnNumber":4}
- [1] {"functionName":"testFunction","function_lineNumber":0,"function_columnNumber":21,"lineNumber":19,"columnNumber":2}
- [2] {"functionName":"","function_lineNumber":0,"function_columnNumber":0,"lineNumber":0,"columnNumber":0}
......
......@@ -19,8 +19,8 @@ function testFunction() {
|_|return r;
|R|}
|_|return |C|f2();
|R|}
|_|return |C|f2();|R|
}
Running test: testStepInto
......
......@@ -22,8 +22,8 @@ function testFunction() {
let r = |_|await Promise.|C|resolve(42);
|_|return r;
|R|})|C|();
|_|return promise;
|R|}
|_|return promise;|R|
}
(anonymous) (expr.js:0:0)
......
......@@ -21,12 +21,12 @@ function testFunction() {
i: 0,
next() {
|_|if (this.i < 1) {
|_|return { value: this.i++, done: false };
|_|return { value: this.i++, done: false };|R|
}
|_|return { value: undefined, done: true };|R|
}
};|R|
}
|_|return { value: undefined, done: true };
|R|}
};
|R|}
};
for (var |_|k of |_|iterable) { |_|all.|C|push(k); }
|_|iterable.i = 0;
......@@ -217,12 +217,12 @@ testFunction (test.js:25:16)
#return {
i: 0,
[Symbol.iterator] (test.js:23:4)
[Symbol.iterator] (test.js:22:8)
testFunction (test.js:25:16)
(anonymous) (expr.js:0:0)
};
#}
};
}
};#
}
testFunction (test.js:25:11)
(anonymous) (expr.js:0:0)
......@@ -244,12 +244,12 @@ testFunction (test.js:25:11)
#return { value: this.i++, done: false };
}
next (test.js:21:8)
next (test.js:18:52)
testFunction (test.js:25:11)
(anonymous) (expr.js:0:0)
return { value: undefined, done: true };
#}
};
if (this.i < 1) {
return { value: this.i++, done: false };#
}
testFunction (test.js:25:28)
(anonymous) (expr.js:0:0)
......@@ -277,12 +277,12 @@ testFunction (test.js:25:11)
#return { value: undefined, done: true };
}
next (test.js:21:8)
next (test.js:20:50)
testFunction (test.js:25:11)
(anonymous) (expr.js:0:0)
return { value: undefined, done: true };
#}
};
}
return { value: undefined, done: true };#
}
testFunction (test.js:26:2)
(anonymous) (expr.js:0:0)
......@@ -303,12 +303,12 @@ testFunction (test.js:27:16)
#return {
i: 0,
[Symbol.iterator] (test.js:23:4)
[Symbol.iterator] (test.js:22:8)
testFunction (test.js:27:16)
(anonymous) (expr.js:0:0)
};
#}
};
}
};#
}
testFunction (test.js:27:11)
(anonymous) (expr.js:0:0)
......@@ -330,12 +330,12 @@ testFunction (test.js:27:11)
#return { value: this.i++, done: false };
}
next (test.js:21:8)
next (test.js:18:52)
testFunction (test.js:27:11)
(anonymous) (expr.js:0:0)
return { value: undefined, done: true };
#}
};
if (this.i < 1) {
return { value: this.i++, done: false };#
}
testFunction (test.js:27:28)
(anonymous) (expr.js:0:0)
......@@ -363,12 +363,12 @@ testFunction (test.js:27:11)
#return { value: undefined, done: true };
}
next (test.js:21:8)
next (test.js:20:50)
testFunction (test.js:27:11)
(anonymous) (expr.js:0:0)
return { value: undefined, done: true };
#}
};
}
return { value: undefined, done: true };#
}
testFunction (test.js:28:0)
(anonymous) (expr.js:0:0)
......
......@@ -21,7 +21,7 @@ foo (test.js:9:2)
testFunction (test.js:15:2)
(anonymous) (expr.js:0:0)
foo (test.js:10:0)
foo (test.js:9:15)
testFunction (test.js:15:2)
(anonymous) (expr.js:0:0)
......@@ -43,7 +43,7 @@ foo (test.js:9:9)
testFunction (test.js:15:2)
(anonymous) (expr.js:0:0)
boo (test.js:13:0)
boo (test.js:12:12)
foo (test.js:9:9)
testFunction (test.js:15:2)
(anonymous) (expr.js:0:0)
......@@ -71,12 +71,12 @@ foo (test.js:9:9)
testFunction (test.js:15:2)
(anonymous) (expr.js:0:0)
boo (test.js:13:0)
boo (test.js:12:12)
foo (test.js:9:9)
testFunction (test.js:15:2)
(anonymous) (expr.js:0:0)
foo (test.js:10:0)
foo (test.js:9:15)
testFunction (test.js:15:2)
(anonymous) (expr.js:0:0)
......@@ -100,12 +100,12 @@ foo (test.js:9:9)
testFunction (test.js:15:2)
(anonymous) (expr.js:0:0)
boo (test.js:13:0)
boo (test.js:12:12)
foo (test.js:9:9)
testFunction (test.js:15:2)
(anonymous) (expr.js:0:0)
foo (test.js:10:0)
foo (test.js:9:15)
testFunction (test.js:15:2)
(anonymous) (expr.js:0:0)
......@@ -129,12 +129,12 @@ foo (test.js:9:9)
testFunction (test.js:15:2)
(anonymous) (expr.js:0:0)
boo (test.js:13:0)
boo (test.js:12:12)
foo (test.js:9:9)
testFunction (test.js:15:2)
(anonymous) (expr.js:0:0)
foo (test.js:10:0)
foo (test.js:9:15)
testFunction (test.js:15:2)
(anonymous) (expr.js:0:0)
......@@ -43,28 +43,28 @@ function boo(){ #return Promise.resolve().then(() => 42); }
Test end is undefined
function foo(){ #return Promise.#resolve(); #}
function boo(){ #return Promise.#resolve().#then(() => #42#); #}
function foo(){ #return Promise.#resolve();# }
function boo(){ #return Promise.#resolve().#then(() => #42#);# }
#
Test end.lineNumber > scripts.lineCount()
function foo(){ #return Promise.#resolve(); #}
function boo(){ #return Promise.#resolve().#then(() => #42#); #}
function foo(){ #return Promise.#resolve();# }
function boo(){ #return Promise.#resolve().#then(() => #42#);# }
#
Test one string
function foo(){ #return Promise.#resolve(); #}
function foo(){ #return Promise.#resolve();# }
function boo(){ return Promise.resolve().then(() => 42); }
Test end.columnNumber > end.line.length(), should be the same as previous.
function foo(){ #return Promise.#resolve(); #}
function foo(){ #return Promise.#resolve();# }
function boo(){ return Promise.resolve().then(() => 42); }
Running test: getPossibleBreakpointsInArrow
function foo() { #return Promise.#resolve().#then(() => #239#).#then(() => #42#).#then(() => #() => #42#) #}
function foo() { #return Promise.#resolve().#then(() => #239#).#then(() => #42#).#then(() => #() => #42#)# #}
Running test: arrowFunctionFirstLine
function foo1() { #Promise.#resolve().#then(() => #42#) #}
......@@ -191,22 +191,22 @@ function boo(){ #return Promise.resolve().then(() => 42); }
Test end is undefined
function foo(){ #return Promise.#resolve(); #}
function boo(){ #return Promise.#resolve().#then(() => #42#); #}
function foo(){ #return Promise.#resolve();# }
function boo(){ #return Promise.#resolve().#then(() => #42#);# }
#
Test end.lineNumber > scripts.lineCount()
function foo(){ #return Promise.#resolve(); #}
function boo(){ #return Promise.#resolve().#then(() => #42#); #}
function foo(){ #return Promise.#resolve();# }
function boo(){ #return Promise.#resolve().#then(() => #42#);# }
#
Test one string
function foo(){ #return Promise.#resolve(); #}
function foo(){ #return Promise.#resolve();# }
function boo(){ return Promise.resolve().then(() => 42); }
Test end.columnNumber > end.line.length(), should be the same as previous.
function foo(){ #return Promise.#resolve(); #}
function foo(){ #return Promise.#resolve();# }
function boo(){ return Promise.resolve().then(() => 42); }
......@@ -254,14 +254,14 @@ function foo6() { Promise.resolve().then(() => 42^) }
Running test: arrowFunctionReturn
#() => #239#
function foo() { function boo() { #return 239 #} #}#
function foo() { function boo() { #return 239# } #}#
#() => { #239 #}#
function foo() { #239 #}#
#() => #23#9#
#() => { #return 239 #}
#() => { #return 239# #}
Running test: argumentsAsCalls
function foo(){#}
......
......@@ -19,8 +19,8 @@ function testProcedure() {
|R|}
function returnTrue() {
|_|return true;
|R|}
|_|return true;|R|
}
function testIf() {
var a;
......@@ -56,37 +56,37 @@ function testNested() {
function nested3() {
|R|}
|C|nested3();
|_|return;
|R|}
|_|return |C|nested2();
|R|}
|_|return;|R|
}
|_|return |C|nested2();|R|
}
|C|nested1();
|R|}
function return42() {
|_|return 42;
|R|}
|_|return 42;|R|
}
function returnCall() {
|_|return |C|return42();
|R|}
|_|return |C|return42();|R|
}
function testCallAtReturn() {
|_|return |C|returnCall();
|R|}
|_|return |C|returnCall();|R|
}
function returnObject() {
|_|return ({ foo: () => |_|42|R| });
|R|}
|_|return ({ foo: () => |_|42|R| });|R|
}
function testWith() {
|_|with (|C|returnObject()) {
|C|foo();
}
|_|with({}) {
|_|return;
|_|return;|R|
}
|R|}
}
function testForLoop() {
for (var i = |_|0; i |_|< 1; ++|_|i) {}
......@@ -139,15 +139,15 @@ function testChainedWithNative() {
|R|}
function testPromiseThen() {
|_|return Promise.|C|resolve().|C|then(v => v |_|* 2|R|).|C|then(v => v |_|* 2|R|);
|R|}
|_|return Promise.|C|resolve().|C|then(v => v |_|* 2|R|).|C|then(v => v |_|* 2|R|);|R|
}
function testSwitch() {
for (var i = |_|0; i |_|< 3; ++|_|i) {
|_|switch(i) {
case 0: |_|continue;
case 1: |C|return42(); |_|break;
default: |_|return;
default: |_|return;|R|
}
}
|R|}
......@@ -178,7 +178,7 @@ function testCaughtException() {
try {
|C|throwException()
} catch (e) {
|_|return;
|_|return;|R|
}
|R|}
......@@ -239,8 +239,8 @@ async function testPromiseAsyncWithCode() {
|R|}
function returnFunction() {
|_|return returnObject;
|R|}
|_|return returnObject;|R|
}
async function testPromiseComplex() {
var nextTest;
......@@ -264,8 +264,8 @@ function twiceDefined() {
}
function twiceDefined() {
|_|return a + b;
|R|}
|_|return a + b;|R|
}
......@@ -3,8 +3,26 @@ Return break locations within function
Running test: testTailCall
[
[0] : {
columnNumber : 0
lineNumber : 6
columnNumber : 20
lineNumber : 2
scriptId : <scriptId>
type : return
}
[1] : {
columnNumber : 24
lineNumber : 3
scriptId : <scriptId>
type : return
}
[2] : {
columnNumber : 29
lineNumber : 4
scriptId : <scriptId>
type : return
}
[3] : {
columnNumber : 59
lineNumber : 5
scriptId : <scriptId>
type : return
}
......
......@@ -19,7 +19,7 @@ qwe:4
baz:3
(...):1
Paused in
qwe:5
qwe:4
baz:3
(...):1
Paused in
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment