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

[ignition] removed nop bytecode

Nop bytecodes are required only for break locations in debugger. Since nop bytecode doesn't change program state we can remove all of them.

There are at least two changes which this CL produce:
- we don't provide break position when we load local variable (still provide when load variable from global),
- we don't provide break position for statements without actual break positions (e.g. "a;") - these expressions should be super rare and user always can set breakpoint before or after this statement.

More details in one pager: https://docs.google.com/a/google.com/document/d/1JXlQpfMa9vRojbE272b6GMBbrfh6m_00135iAUOJEz8/edit?usp=sharing

Bug: v8:6425
Change-Id: I4aee73d497a84f7b5d89caa6dda6d3060567dfda
Reviewed-on: https://chromium-review.googlesource.com/543161Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#46742}
parent 7bcec7ae
...@@ -2428,8 +2428,6 @@ void BytecodeGraphBuilder::VisitIllegal() { ...@@ -2428,8 +2428,6 @@ void BytecodeGraphBuilder::VisitIllegal() {
UNREACHABLE(); UNREACHABLE();
} }
void BytecodeGraphBuilder::VisitNop() {}
void BytecodeGraphBuilder::SwitchToMergeEnvironment(int current_offset) { void BytecodeGraphBuilder::SwitchToMergeEnvironment(int current_offset) {
auto it = merge_environments_.find(current_offset); auto it = merge_environments_.find(current_offset);
if (it != merge_environments_.end()) { if (it != merge_environments_.end()) {
......
...@@ -119,22 +119,18 @@ BytecodeSourceInfo BytecodeArrayBuilder::CurrentSourcePosition( ...@@ -119,22 +119,18 @@ BytecodeSourceInfo BytecodeArrayBuilder::CurrentSourcePosition(
void BytecodeArrayBuilder::SetDeferredSourceInfo( void BytecodeArrayBuilder::SetDeferredSourceInfo(
BytecodeSourceInfo source_info) { BytecodeSourceInfo source_info) {
if (!source_info.is_valid()) return; if (!source_info.is_valid()) return;
if (deferred_source_info_.is_valid()) {
// Emit any previous deferred source info now as a nop.
BytecodeNode node = BytecodeNode::Nop(deferred_source_info_);
bytecode_array_writer_.Write(&node);
}
deferred_source_info_ = source_info; deferred_source_info_ = source_info;
} }
void BytecodeArrayBuilder::AttachOrEmitDeferredSourceInfo(BytecodeNode* node) { void BytecodeArrayBuilder::AttachOrEmitDeferredSourceInfo(BytecodeNode* node) {
if (!deferred_source_info_.is_valid()) return; if (!deferred_source_info_.is_valid()) return;
if (!node->source_info().is_valid()) { if (!node->source_info().is_valid()) {
node->set_source_info(deferred_source_info_); node->set_source_info(deferred_source_info_);
} else { } else if (deferred_source_info_.is_statement() &&
BytecodeNode node = BytecodeNode::Nop(deferred_source_info_); node->source_info().is_expression()) {
bytecode_array_writer_.Write(&node); BytecodeSourceInfo source_position = node->source_info();
source_position.MakeStatementPosition(source_position.source_position());
node->set_source_info(source_position);
} }
deferred_source_info_.set_invalid(); deferred_source_info_.set_invalid();
} }
...@@ -640,7 +636,7 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::LoadAccumulatorWithRegister( ...@@ -640,7 +636,7 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::LoadAccumulatorWithRegister(
Register reg) { Register reg) {
if (register_optimizer_) { if (register_optimizer_) {
// Defer source info so that if we elide the bytecode transfer, we attach // Defer source info so that if we elide the bytecode transfer, we attach
// the source info to a subsequent bytecode or to a nop. // the source info to a subsequent bytecode if it exists.
SetDeferredSourceInfo(CurrentSourcePosition(Bytecode::kLdar)); SetDeferredSourceInfo(CurrentSourcePosition(Bytecode::kLdar));
register_optimizer_->DoLdar(reg); register_optimizer_->DoLdar(reg);
} else { } else {
...@@ -653,7 +649,7 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::StoreAccumulatorInRegister( ...@@ -653,7 +649,7 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::StoreAccumulatorInRegister(
Register reg) { Register reg) {
if (register_optimizer_) { if (register_optimizer_) {
// Defer source info so that if we elide the bytecode transfer, we attach // Defer source info so that if we elide the bytecode transfer, we attach
// the source info to a subsequent bytecode or to a nop. // the source info to a subsequent bytecode if it exists.
SetDeferredSourceInfo(CurrentSourcePosition(Bytecode::kStar)); SetDeferredSourceInfo(CurrentSourcePosition(Bytecode::kStar));
register_optimizer_->DoStar(reg); register_optimizer_->DoStar(reg);
} else { } else {
...@@ -667,7 +663,7 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::MoveRegister(Register from, ...@@ -667,7 +663,7 @@ BytecodeArrayBuilder& BytecodeArrayBuilder::MoveRegister(Register from,
DCHECK(from != to); DCHECK(from != to);
if (register_optimizer_) { if (register_optimizer_) {
// Defer source info so that if we elide the bytecode transfer, we attach // Defer source info so that if we elide the bytecode transfer, we attach
// the source info to a subsequent bytecode or to a nop. // the source info to a subsequent bytecode if it exists.
SetDeferredSourceInfo(CurrentSourcePosition(Bytecode::kMov)); SetDeferredSourceInfo(CurrentSourcePosition(Bytecode::kMov));
register_optimizer_->DoMov(from, to); register_optimizer_->DoMov(from, to);
} else { } else {
......
...@@ -344,10 +344,6 @@ namespace interpreter { ...@@ -344,10 +344,6 @@ namespace interpreter {
\ \
/* Illegal bytecode (terminates execution) */ \ /* Illegal bytecode (terminates execution) */ \
V(Illegal, AccumulatorUse::kNone) \ V(Illegal, AccumulatorUse::kNone) \
\
/* No operation (used to maintain source positions for peephole */ \
/* eliminated bytecodes). */ \
V(Nop, AccumulatorUse::kNone)
// List of debug break bytecodes. // List of debug break bytecodes.
#define DEBUG_BREAK_PLAIN_BYTECODE_LIST(V) \ #define DEBUG_BREAK_PLAIN_BYTECODE_LIST(V) \
...@@ -632,7 +628,7 @@ class V8_EXPORT_PRIVATE Bytecodes final { ...@@ -632,7 +628,7 @@ class V8_EXPORT_PRIVATE Bytecodes final {
static constexpr bool IsWithoutExternalSideEffects(Bytecode bytecode) { static constexpr bool IsWithoutExternalSideEffects(Bytecode bytecode) {
return (IsAccumulatorLoadWithoutEffects(bytecode) || return (IsAccumulatorLoadWithoutEffects(bytecode) ||
IsRegisterLoadWithoutEffects(bytecode) || IsRegisterLoadWithoutEffects(bytecode) ||
IsCompareWithoutEffects(bytecode) || bytecode == Bytecode::kNop || IsCompareWithoutEffects(bytecode) ||
IsJumpWithoutEffects(bytecode) || IsSwitch(bytecode)); IsJumpWithoutEffects(bytecode) || IsSwitch(bytecode));
} }
......
...@@ -3251,11 +3251,6 @@ IGNITION_HANDLER(ExtraWide, InterpreterAssembler) { ...@@ -3251,11 +3251,6 @@ IGNITION_HANDLER(ExtraWide, InterpreterAssembler) {
// An invalid bytecode aborting execution if dispatched. // An invalid bytecode aborting execution if dispatched.
IGNITION_HANDLER(Illegal, InterpreterAssembler) { Abort(kInvalidBytecode); } IGNITION_HANDLER(Illegal, InterpreterAssembler) { Abort(kInvalidBytecode); }
// Nop
//
// No operation.
IGNITION_HANDLER(Nop, InterpreterAssembler) { Dispatch(); }
// SuspendGenerator <generator> <first input register> <register count> // SuspendGenerator <generator> <first input register> <register count>
// //
// Exports the register file and stores it into the generator. Also stores the // Exports the register file and stores it into the generator. Also stores the
......
...@@ -42,7 +42,7 @@ snippet: " ...@@ -42,7 +42,7 @@ snippet: "
" "
frame size: 2 frame size: 2
parameter count: 1 parameter count: 1
bytecode array length: 13 bytecode array length: 12
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(55), /* 42 S> */ B(LdaSmi), I8(55),
...@@ -50,7 +50,6 @@ bytecodes: [ ...@@ -50,7 +50,6 @@ bytecodes: [
/* 54 S> */ B(LdaSmi), I8(100), /* 54 S> */ B(LdaSmi), I8(100),
B(Star), R(0), B(Star), R(0),
B(Star), R(1), B(Star), R(1),
/* 65 S> */ B(Nop),
/* 74 S> */ B(Return), /* 74 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -66,7 +65,7 @@ snippet: " ...@@ -66,7 +65,7 @@ snippet: "
" "
frame size: 2 frame size: 2
parameter count: 1 parameter count: 1
bytecode array length: 28 bytecode array length: 27
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(55), /* 42 S> */ B(LdaSmi), I8(55),
...@@ -80,7 +79,6 @@ bytecodes: [ ...@@ -80,7 +79,6 @@ bytecodes: [
B(Star), R(0), B(Star), R(0),
/* 64 E> */ B(Add), R(1), U8(4), /* 64 E> */ B(Add), R(1), U8(4),
B(Star), R(0), B(Star), R(0),
/* 77 S> */ B(Nop),
/* 86 S> */ B(Return), /* 86 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -97,7 +95,7 @@ snippet: " ...@@ -97,7 +95,7 @@ snippet: "
" "
frame size: 2 frame size: 2
parameter count: 1 parameter count: 1
bytecode array length: 29 bytecode array length: 28
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(55), /* 42 S> */ B(LdaSmi), I8(55),
...@@ -112,7 +110,6 @@ bytecodes: [ ...@@ -112,7 +110,6 @@ bytecodes: [
B(Star), R(0), B(Star), R(0),
/* 75 S> */ B(Inc), U8(5), /* 75 S> */ B(Inc), U8(5),
B(Star), R(0), B(Star), R(0),
/* 80 S> */ B(Nop),
/* 89 S> */ B(Return), /* 89 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -128,7 +125,7 @@ snippet: " ...@@ -128,7 +125,7 @@ snippet: "
" "
frame size: 3 frame size: 3
parameter count: 1 parameter count: 1
bytecode array length: 37 bytecode array length: 36
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(55), /* 42 S> */ B(LdaSmi), I8(55),
...@@ -146,7 +143,6 @@ bytecodes: [ ...@@ -146,7 +143,6 @@ bytecodes: [
B(Star), R(0), B(Star), R(0),
/* 76 E> */ B(Add), R(2), U8(5), /* 76 E> */ B(Add), R(2), U8(5),
B(Star), R(1), B(Star), R(1),
/* 87 S> */ B(Nop),
/* 96 S> */ B(Return), /* 96 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -162,7 +158,7 @@ snippet: " ...@@ -162,7 +158,7 @@ snippet: "
" "
frame size: 2 frame size: 2
parameter count: 1 parameter count: 1
bytecode array length: 37 bytecode array length: 36
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(55), /* 42 S> */ B(LdaSmi), I8(55),
...@@ -180,7 +176,6 @@ bytecodes: [ ...@@ -180,7 +176,6 @@ bytecodes: [
B(Star), R(0), B(Star), R(0),
/* 76 E> */ B(Add), R(1), U8(5), /* 76 E> */ B(Add), R(1), U8(5),
B(Star), R(0), B(Star), R(0),
/* 87 S> */ B(Nop),
/* 96 S> */ B(Return), /* 96 S> */ B(Return),
] ]
constant pool: [ constant pool: [
......
...@@ -13,12 +13,11 @@ snippet: " ...@@ -13,12 +13,11 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 6 bytecode array length: 5
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero), /* 42 S> */ B(LdaZero),
B(Star), R(0), B(Star), R(0),
/* 88 S> */ B(Nop),
/* 97 S> */ B(Return), /* 97 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -36,12 +35,11 @@ snippet: " ...@@ -36,12 +35,11 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 6 bytecode array length: 5
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero), /* 42 S> */ B(LdaZero),
B(Star), R(0), B(Star), R(0),
/* 77 S> */ B(Nop),
/* 86 S> */ B(Return), /* 86 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -328,7 +326,7 @@ snippet: " ...@@ -328,7 +326,7 @@ snippet: "
" "
frame size: 2 frame size: 2
parameter count: 1 parameter count: 1
bytecode array length: 43 bytecode array length: 42
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero), /* 42 S> */ B(LdaZero),
...@@ -336,8 +334,7 @@ bytecodes: [ ...@@ -336,8 +334,7 @@ bytecodes: [
/* 53 S> */ B(LdaSmi), I8(1), /* 53 S> */ B(LdaSmi), I8(1),
B(Star), R(1), B(Star), R(1),
/* 56 E> */ B(StackCheck), /* 56 E> */ B(StackCheck),
/* 63 S> */ B(Nop), /* 69 S> */ B(MulSmi), I8(10), U8(3),
/* 69 E> */ B(MulSmi), I8(10), U8(3),
B(Star), R(1), B(Star), R(1),
/* 77 S> */ B(LdaSmi), I8(5), /* 77 S> */ B(LdaSmi), I8(5),
/* 83 E> */ B(TestEqual), R(0), U8(4), /* 83 E> */ B(TestEqual), R(0), U8(4),
......
...@@ -17,13 +17,12 @@ snippet: " ...@@ -17,13 +17,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 15 bytecode array length: 14
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero), /* 42 S> */ B(LdaZero),
B(Star), R(0), B(Star), R(0),
/* 56 S> */ B(Nop), /* 62 S> */ B(AddSmi), I8(1), U8(3),
/* 62 E> */ B(AddSmi), I8(1), U8(3),
B(Star), R(0), B(Star), R(0),
/* 69 S> */ B(Jump), U8(2), /* 69 S> */ B(Jump), U8(2),
/* 97 S> */ B(Ldar), R(0), /* 97 S> */ B(Ldar), R(0),
......
...@@ -171,7 +171,7 @@ snippet: " ...@@ -171,7 +171,7 @@ snippet: "
" "
frame size: 8 frame size: 8
parameter count: 1 parameter count: 1
bytecode array length: 56 bytecode array length: 55
bytecodes: [ bytecodes: [
B(CreateFunctionContext), U8(1), B(CreateFunctionContext), U8(1),
B(PushContext), R(2), B(PushContext), R(2),
...@@ -193,8 +193,7 @@ bytecodes: [ ...@@ -193,8 +193,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1), B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1),
B(Star), R(0), B(Star), R(0),
B(Star), R(1), B(Star), R(1),
/* 87 S> */ B(Nop), /* 94 S> */ B(Construct), R(1), R(0), U8(0), U8(4),
/* 94 E> */ B(Construct), R(1), R(0), U8(0), U8(4),
/* 102 S> */ B(Return), /* 102 S> */ B(Return),
] ]
constant pool: [ constant pool: [
......
...@@ -30,12 +30,11 @@ snippet: " ...@@ -30,12 +30,11 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 7 bytecode array length: 6
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 44 S> */ B(LdaSmi), I8(10), /* 44 S> */ B(LdaSmi), I8(10),
B(Star), R(0), B(Star), R(0),
/* 48 S> */ B(Nop),
/* 57 S> */ B(Return), /* 57 S> */ B(Return),
] ]
constant pool: [ constant pool: [
......
...@@ -13,12 +13,11 @@ snippet: " ...@@ -13,12 +13,11 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 6 bytecode array length: 5
bytecodes: [ bytecodes: [
B(CreateMappedArguments), B(CreateMappedArguments),
B(Star), R(0), B(Star), R(0),
/* 10 E> */ B(StackCheck), /* 10 E> */ B(StackCheck),
/* 15 S> */ B(Nop),
/* 32 S> */ B(Return), /* 32 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -54,12 +53,11 @@ snippet: " ...@@ -54,12 +53,11 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 6 bytecode array length: 5
bytecodes: [ bytecodes: [
B(CreateUnmappedArguments), B(CreateUnmappedArguments),
B(Star), R(0), B(Star), R(0),
/* 10 E> */ B(StackCheck), /* 10 E> */ B(StackCheck),
/* 29 S> */ B(Nop),
/* 46 S> */ B(Return), /* 46 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -99,7 +97,7 @@ snippet: " ...@@ -99,7 +97,7 @@ snippet: "
" "
frame size: 2 frame size: 2
parameter count: 4 parameter count: 4
bytecode array length: 22 bytecode array length: 21
bytecodes: [ bytecodes: [
B(CreateFunctionContext), U8(3), B(CreateFunctionContext), U8(3),
B(PushContext), R(1), B(PushContext), R(1),
...@@ -112,7 +110,6 @@ bytecodes: [ ...@@ -112,7 +110,6 @@ bytecodes: [
B(CreateMappedArguments), B(CreateMappedArguments),
B(Star), R(0), B(Star), R(0),
/* 10 E> */ B(StackCheck), /* 10 E> */ B(StackCheck),
/* 22 S> */ B(Nop),
/* 39 S> */ B(Return), /* 39 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -127,12 +124,11 @@ snippet: " ...@@ -127,12 +124,11 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 4 parameter count: 4
bytecode array length: 6 bytecode array length: 5
bytecodes: [ bytecodes: [
B(CreateUnmappedArguments), B(CreateUnmappedArguments),
B(Star), R(0), B(Star), R(0),
/* 10 E> */ B(StackCheck), /* 10 E> */ B(StackCheck),
/* 36 S> */ B(Nop),
/* 53 S> */ B(Return), /* 53 S> */ B(Return),
] ]
constant pool: [ constant pool: [
......
...@@ -13,13 +13,12 @@ snippet: " ...@@ -13,13 +13,12 @@ snippet: "
" "
frame size: 2 frame size: 2
parameter count: 1 parameter count: 1
bytecode array length: 8 bytecode array length: 7
bytecodes: [ bytecodes: [
B(CreateRestParameter), B(CreateRestParameter),
B(Star), R(0), B(Star), R(0),
/* 10 E> */ B(StackCheck), /* 10 E> */ B(StackCheck),
B(Star), R(1), B(Star), R(1),
/* 26 S> */ B(Nop),
/* 42 S> */ B(Return), /* 42 S> */ B(Return),
] ]
constant pool: [ constant pool: [
......
...@@ -30,7 +30,7 @@ snippet: " ...@@ -30,7 +30,7 @@ snippet: "
" "
frame size: 3 frame size: 3
parameter count: 1 parameter count: 1
bytecode array length: 12 bytecode array length: 11
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 55 S> */ B(LdaSmi), I8(100), /* 55 S> */ B(LdaSmi), I8(100),
...@@ -38,7 +38,6 @@ bytecodes: [ ...@@ -38,7 +38,6 @@ bytecodes: [
/* 42 S> */ B(LdaUndefined), /* 42 S> */ B(LdaUndefined),
B(Star), R(1), B(Star), R(1),
B(Star), R(2), B(Star), R(2),
/* 63 S> */ B(Nop),
/* 72 S> */ B(Return), /* 72 S> */ B(Return),
] ]
constant pool: [ constant pool: [
......
...@@ -982,7 +982,7 @@ snippet: " ...@@ -982,7 +982,7 @@ snippet: "
" "
frame size: 19 frame size: 19
parameter count: 1 parameter count: 1
bytecode array length: 432 bytecode array length: 431
bytecodes: [ bytecodes: [
/* 16 E> */ B(StackCheck), /* 16 E> */ B(StackCheck),
B(LdaUndefined), B(LdaUndefined),
...@@ -1014,7 +1014,7 @@ bytecodes: [ ...@@ -1014,7 +1014,7 @@ bytecodes: [
B(JumpIfFalse), U8(7), B(JumpIfFalse), U8(7),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(3), U8(1), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(3), U8(1),
B(LdaNamedProperty), R(3), U8(4), U8(13), B(LdaNamedProperty), R(3), U8(4), U8(13),
B(JumpIfToBooleanTrue), U8(31), B(JumpIfToBooleanTrue), U8(30),
/* 58 E> */ B(LdaNamedProperty), R(3), U8(5), U8(15), /* 58 E> */ B(LdaNamedProperty), R(3), U8(5), U8(15),
B(Star), R(5), B(Star), R(5),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
...@@ -1022,8 +1022,7 @@ bytecodes: [ ...@@ -1022,8 +1022,7 @@ bytecodes: [
B(Ldar), R(5), B(Ldar), R(5),
B(StaNamedPropertySloppy), R(1), U8(6), U8(17), B(StaNamedPropertySloppy), R(1), U8(6), U8(17),
/* 53 E> */ B(StackCheck), /* 53 E> */ B(StackCheck),
/* 79 S> */ B(Nop), /* 87 S> */ B(LdaNamedProperty), R(1), U8(6), U8(19),
/* 87 E> */ B(LdaNamedProperty), R(1), U8(6), U8(19),
B(Star), R(14), B(Star), R(14),
B(LdaZero), B(LdaZero),
B(Star), R(13), B(Star), R(13),
...@@ -1195,10 +1194,10 @@ constant pool: [ ...@@ -1195,10 +1194,10 @@ constant pool: [
Smi [25], Smi [25],
] ]
handlers: [ handlers: [
[13, 371, 377], [13, 370, 376],
[16, 325, 327], [16, 324, 326],
[30, 157, 163], [30, 156, 162],
[33, 117, 119], [33, 116, 118],
[224, 234, 236], [223, 233, 235],
] ]
...@@ -63,29 +63,28 @@ snippet: " ...@@ -63,29 +63,28 @@ snippet: "
" "
frame size: 8 frame size: 8
parameter count: 1 parameter count: 1
bytecode array length: 45 bytecode array length: 44
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0), /* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0), B(Star), R(0),
/* 68 S> */ B(JumpIfUndefined), U8(38), /* 68 S> */ B(JumpIfUndefined), U8(37),
B(JumpIfNull), U8(36), B(JumpIfNull), U8(35),
B(ToObject), R(3), B(ToObject), R(3),
B(ForInPrepare), R(3), R(4), B(ForInPrepare), R(3), R(4),
B(LdaZero), B(LdaZero),
B(Star), R(7), B(Star), R(7),
/* 63 S> */ B(ForInContinue), R(7), R(6), /* 63 S> */ B(ForInContinue), R(7), R(6),
B(JumpIfFalse), U8(23), B(JumpIfFalse), U8(22),
B(ForInNext), R(3), R(7), R(4), U8(3), B(ForInNext), R(3), R(7), R(4), U8(3),
B(JumpIfUndefined), U8(9), B(JumpIfUndefined), U8(8),
B(Star), R(1), B(Star), R(1),
/* 54 E> */ B(StackCheck), /* 54 E> */ B(StackCheck),
B(Star), R(2), B(Star), R(2),
/* 73 S> */ B(Nop),
/* 82 S> */ B(Return), /* 82 S> */ B(Return),
B(ForInStep), R(7), B(ForInStep), R(7),
B(Star), R(7), B(Star), R(7),
B(JumpLoop), U8(23), I8(0), B(JumpLoop), U8(22), I8(0),
B(LdaUndefined), B(LdaUndefined),
/* 85 S> */ B(Return), /* 85 S> */ B(Return),
] ]
...@@ -147,35 +146,33 @@ snippet: " ...@@ -147,35 +146,33 @@ snippet: "
" "
frame size: 7 frame size: 7
parameter count: 1 parameter count: 1
bytecode array length: 87 bytecode array length: 85
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(1), /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(1),
B(Mov), R(1), R(0), B(Mov), R(1), R(0),
/* 77 S> */ B(CreateArrayLiteral), U8(1), U8(4), U8(37), /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(4), U8(37),
B(JumpIfUndefined), U8(72), B(JumpIfUndefined), U8(70),
B(JumpIfNull), U8(70), B(JumpIfNull), U8(68),
B(ToObject), R(1), B(ToObject), R(1),
B(ForInPrepare), R(1), R(2), B(ForInPrepare), R(1), R(2),
B(LdaZero), B(LdaZero),
B(Star), R(5), B(Star), R(5),
/* 68 S> */ B(ForInContinue), R(5), R(4), /* 68 S> */ B(ForInContinue), R(5), R(4),
B(JumpIfFalse), U8(57), B(JumpIfFalse), U8(55),
B(ForInNext), R(1), R(5), R(2), U8(15), B(ForInNext), R(1), R(5), R(2), U8(15),
B(JumpIfUndefined), U8(43), B(JumpIfUndefined), U8(41),
B(Star), R(6), B(Star), R(6),
B(Ldar), R(6), B(Ldar), R(6),
/* 67 E> */ B(StaNamedPropertySloppy), R(0), U8(2), U8(13), /* 67 E> */ B(StaNamedPropertySloppy), R(0), U8(2), U8(13),
/* 62 E> */ B(StackCheck), /* 62 E> */ B(StackCheck),
/* 95 S> */ B(Nop), /* 100 S> */ B(LdaNamedProperty), R(0), U8(2), U8(7),
/* 100 E> */ B(LdaNamedProperty), R(0), U8(2), U8(7),
B(Star), R(6), B(Star), R(6),
B(LdaSmi), I8(10), B(LdaSmi), I8(10),
/* 106 E> */ B(TestEqual), R(6), U8(9), /* 106 E> */ B(TestEqual), R(6), U8(9),
B(JumpIfFalse), U8(4), B(JumpIfFalse), U8(4),
/* 113 S> */ B(Jump), U8(18), /* 113 S> */ B(Jump), U8(17),
/* 125 S> */ B(Nop), /* 130 S> */ B(LdaNamedProperty), R(0), U8(2), U8(10),
/* 130 E> */ B(LdaNamedProperty), R(0), U8(2), U8(10),
B(Star), R(6), B(Star), R(6),
B(LdaSmi), I8(20), B(LdaSmi), I8(20),
/* 136 E> */ B(TestEqual), R(6), U8(12), /* 136 E> */ B(TestEqual), R(6), U8(12),
...@@ -183,7 +180,7 @@ bytecodes: [ ...@@ -183,7 +180,7 @@ bytecodes: [
/* 143 S> */ B(Jump), U8(9), /* 143 S> */ B(Jump), U8(9),
B(ForInStep), R(5), B(ForInStep), R(5),
B(Star), R(5), B(Star), R(5),
B(JumpLoop), U8(57), I8(0), B(JumpLoop), U8(55), I8(0),
B(LdaUndefined), B(LdaUndefined),
/* 152 S> */ B(Return), /* 152 S> */ B(Return),
] ]
......
...@@ -441,7 +441,7 @@ snippet: " ...@@ -441,7 +441,7 @@ snippet: "
" "
frame size: 13 frame size: 13
parameter count: 1 parameter count: 1
bytecode array length: 281 bytecode array length: 280
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(7), /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(7),
...@@ -467,7 +467,7 @@ bytecodes: [ ...@@ -467,7 +467,7 @@ bytecodes: [
B(JumpIfFalse), U8(7), B(JumpIfFalse), U8(7),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(2), U8(1), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(2), U8(1),
B(LdaNamedProperty), R(2), U8(4), U8(13), B(LdaNamedProperty), R(2), U8(4), U8(13),
B(JumpIfToBooleanTrue), U8(31), B(JumpIfToBooleanTrue), U8(30),
/* 67 E> */ B(LdaNamedProperty), R(2), U8(5), U8(15), /* 67 E> */ B(LdaNamedProperty), R(2), U8(5), U8(15),
B(Star), R(4), B(Star), R(4),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
...@@ -475,8 +475,7 @@ bytecodes: [ ...@@ -475,8 +475,7 @@ bytecodes: [
B(Ldar), R(4), B(Ldar), R(4),
B(StaNamedPropertySloppy), R(0), U8(6), U8(17), B(StaNamedPropertySloppy), R(0), U8(6), U8(17),
/* 62 E> */ B(StackCheck), /* 62 E> */ B(StackCheck),
/* 88 S> */ B(Nop), /* 96 S> */ B(LdaNamedProperty), R(0), U8(6), U8(19),
/* 96 E> */ B(LdaNamedProperty), R(0), U8(6), U8(19),
B(Star), R(8), B(Star), R(8),
B(LdaZero), B(LdaZero),
B(Star), R(7), B(Star), R(7),
...@@ -578,8 +577,8 @@ constant pool: [ ...@@ -578,8 +577,8 @@ constant pool: [
Smi [9], Smi [9],
] ]
handlers: [ handlers: [
[15, 138, 144], [15, 137, 143],
[18, 102, 104], [18, 101, 103],
[205, 215, 217], [204, 214, 216],
] ]
...@@ -258,7 +258,7 @@ snippet: " ...@@ -258,7 +258,7 @@ snippet: "
" "
frame size: 2 frame size: 2
parameter count: 2 parameter count: 2
bytecode array length: 156 bytecode array length: 29
bytecodes: [ bytecodes: [
/* 10 E> */ B(StackCheck), /* 10 E> */ B(StackCheck),
/* 24 S> */ B(LdaZero), /* 24 S> */ B(LdaZero),
...@@ -267,135 +267,8 @@ bytecodes: [ ...@@ -267,135 +267,8 @@ bytecodes: [
B(Star), R(1), B(Star), R(1),
/* 38 S> */ B(LdaConstant), U8(0), /* 38 S> */ B(LdaConstant), U8(0),
/* 44 E> */ B(TestEqualStrict), R(0), U8(3), /* 44 E> */ B(TestEqualStrict), R(0), U8(3),
B(JumpIfFalse), U8(137), B(JumpIfFalse), U8(10),
/* 58 S> */ B(Mov), R(0), R(1), /* 58 S> */ B(Mov), R(0), R(1),
/* 65 S> */ B(Nop),
/* 74 S> */ B(Nop),
/* 81 S> */ B(Nop),
/* 90 S> */ B(Nop),
/* 97 S> */ B(Nop),
/* 106 S> */ B(Nop),
/* 113 S> */ B(Nop),
/* 122 S> */ B(Nop),
/* 129 S> */ B(Nop),
/* 138 S> */ B(Nop),
/* 145 S> */ B(Nop),
/* 154 S> */ B(Nop),
/* 161 S> */ B(Nop),
/* 170 S> */ B(Nop),
/* 177 S> */ B(Nop),
/* 186 S> */ B(Nop),
/* 193 S> */ B(Nop),
/* 202 S> */ B(Nop),
/* 209 S> */ B(Nop),
/* 218 S> */ B(Nop),
/* 225 S> */ B(Nop),
/* 234 S> */ B(Nop),
/* 241 S> */ B(Nop),
/* 250 S> */ B(Nop),
/* 257 S> */ B(Nop),
/* 266 S> */ B(Nop),
/* 273 S> */ B(Nop),
/* 282 S> */ B(Nop),
/* 289 S> */ B(Nop),
/* 298 S> */ B(Nop),
/* 305 S> */ B(Nop),
/* 314 S> */ B(Nop),
/* 321 S> */ B(Nop),
/* 330 S> */ B(Nop),
/* 337 S> */ B(Nop),
/* 346 S> */ B(Nop),
/* 353 S> */ B(Nop),
/* 362 S> */ B(Nop),
/* 369 S> */ B(Nop),
/* 378 S> */ B(Nop),
/* 385 S> */ B(Nop),
/* 394 S> */ B(Nop),
/* 401 S> */ B(Nop),
/* 410 S> */ B(Nop),
/* 417 S> */ B(Nop),
/* 426 S> */ B(Nop),
/* 433 S> */ B(Nop),
/* 442 S> */ B(Nop),
/* 449 S> */ B(Nop),
/* 458 S> */ B(Nop),
/* 465 S> */ B(Nop),
/* 474 S> */ B(Nop),
/* 481 S> */ B(Nop),
/* 490 S> */ B(Nop),
/* 497 S> */ B(Nop),
/* 506 S> */ B(Nop),
/* 513 S> */ B(Nop),
/* 522 S> */ B(Nop),
/* 529 S> */ B(Nop),
/* 538 S> */ B(Nop),
/* 545 S> */ B(Nop),
/* 554 S> */ B(Nop),
/* 561 S> */ B(Nop),
/* 570 S> */ B(Nop),
/* 577 S> */ B(Nop),
/* 586 S> */ B(Nop),
/* 593 S> */ B(Nop),
/* 602 S> */ B(Nop),
/* 609 S> */ B(Nop),
/* 618 S> */ B(Nop),
/* 625 S> */ B(Nop),
/* 634 S> */ B(Nop),
/* 641 S> */ B(Nop),
/* 650 S> */ B(Nop),
/* 657 S> */ B(Nop),
/* 666 S> */ B(Nop),
/* 673 S> */ B(Nop),
/* 682 S> */ B(Nop),
/* 689 S> */ B(Nop),
/* 698 S> */ B(Nop),
/* 705 S> */ B(Nop),
/* 714 S> */ B(Nop),
/* 721 S> */ B(Nop),
/* 730 S> */ B(Nop),
/* 737 S> */ B(Nop),
/* 746 S> */ B(Nop),
/* 753 S> */ B(Nop),
/* 762 S> */ B(Nop),
/* 769 S> */ B(Nop),
/* 778 S> */ B(Nop),
/* 785 S> */ B(Nop),
/* 794 S> */ B(Nop),
/* 801 S> */ B(Nop),
/* 810 S> */ B(Nop),
/* 817 S> */ B(Nop),
/* 826 S> */ B(Nop),
/* 833 S> */ B(Nop),
/* 842 S> */ B(Nop),
/* 849 S> */ B(Nop),
/* 858 S> */ B(Nop),
/* 865 S> */ B(Nop),
/* 874 S> */ B(Nop),
/* 881 S> */ B(Nop),
/* 890 S> */ B(Nop),
/* 897 S> */ B(Nop),
/* 906 S> */ B(Nop),
/* 913 S> */ B(Nop),
/* 922 S> */ B(Nop),
/* 929 S> */ B(Nop),
/* 938 S> */ B(Nop),
/* 945 S> */ B(Nop),
/* 954 S> */ B(Nop),
/* 961 S> */ B(Nop),
/* 970 S> */ B(Nop),
/* 977 S> */ B(Nop),
/* 986 S> */ B(Nop),
/* 993 S> */ B(Nop),
/* 1002 S> */ B(Nop),
/* 1009 S> */ B(Nop),
/* 1018 S> */ B(Nop),
/* 1025 S> */ B(Nop),
/* 1034 S> */ B(Nop),
/* 1041 S> */ B(Nop),
/* 1050 S> */ B(Nop),
/* 1057 S> */ B(Nop),
/* 1066 S> */ B(Nop),
/* 1073 S> */ B(Nop),
/* 1081 S> */ B(Wide), B(LdaSmi), I16(200), /* 1081 S> */ B(Wide), B(LdaSmi), I16(200),
/* 1092 S> */ B(Return), /* 1092 S> */ B(Return),
/* 1102 S> */ B(Wide), B(LdaSmi), I16(-200), /* 1102 S> */ B(Wide), B(LdaSmi), I16(-200),
...@@ -484,7 +357,7 @@ snippet: " ...@@ -484,7 +357,7 @@ snippet: "
" "
frame size: 2 frame size: 2
parameter count: 1 parameter count: 1
bytecode array length: 153 bytecode array length: 26
bytecodes: [ bytecodes: [
/* 10 E> */ B(StackCheck), /* 10 E> */ B(StackCheck),
/* 25 S> */ B(LdaZero), /* 25 S> */ B(LdaZero),
...@@ -492,135 +365,8 @@ bytecodes: [ ...@@ -492,135 +365,8 @@ bytecodes: [
/* 36 S> */ B(LdaZero), /* 36 S> */ B(LdaZero),
B(Star), R(1), B(Star), R(1),
/* 41 S> */ B(Ldar), R(0), /* 41 S> */ B(Ldar), R(0),
B(JumpIfToBooleanFalse), U8(137), B(JumpIfToBooleanFalse), U8(10),
/* 52 S> */ B(Mov), R(0), R(1), /* 52 S> */ B(Mov), R(0), R(1),
/* 59 S> */ B(Nop),
/* 68 S> */ B(Nop),
/* 75 S> */ B(Nop),
/* 84 S> */ B(Nop),
/* 91 S> */ B(Nop),
/* 100 S> */ B(Nop),
/* 107 S> */ B(Nop),
/* 116 S> */ B(Nop),
/* 123 S> */ B(Nop),
/* 132 S> */ B(Nop),
/* 139 S> */ B(Nop),
/* 148 S> */ B(Nop),
/* 155 S> */ B(Nop),
/* 164 S> */ B(Nop),
/* 171 S> */ B(Nop),
/* 180 S> */ B(Nop),
/* 187 S> */ B(Nop),
/* 196 S> */ B(Nop),
/* 203 S> */ B(Nop),
/* 212 S> */ B(Nop),
/* 219 S> */ B(Nop),
/* 228 S> */ B(Nop),
/* 235 S> */ B(Nop),
/* 244 S> */ B(Nop),
/* 251 S> */ B(Nop),
/* 260 S> */ B(Nop),
/* 267 S> */ B(Nop),
/* 276 S> */ B(Nop),
/* 283 S> */ B(Nop),
/* 292 S> */ B(Nop),
/* 299 S> */ B(Nop),
/* 308 S> */ B(Nop),
/* 315 S> */ B(Nop),
/* 324 S> */ B(Nop),
/* 331 S> */ B(Nop),
/* 340 S> */ B(Nop),
/* 347 S> */ B(Nop),
/* 356 S> */ B(Nop),
/* 363 S> */ B(Nop),
/* 372 S> */ B(Nop),
/* 379 S> */ B(Nop),
/* 388 S> */ B(Nop),
/* 395 S> */ B(Nop),
/* 404 S> */ B(Nop),
/* 411 S> */ B(Nop),
/* 420 S> */ B(Nop),
/* 427 S> */ B(Nop),
/* 436 S> */ B(Nop),
/* 443 S> */ B(Nop),
/* 452 S> */ B(Nop),
/* 459 S> */ B(Nop),
/* 468 S> */ B(Nop),
/* 475 S> */ B(Nop),
/* 484 S> */ B(Nop),
/* 491 S> */ B(Nop),
/* 500 S> */ B(Nop),
/* 507 S> */ B(Nop),
/* 516 S> */ B(Nop),
/* 523 S> */ B(Nop),
/* 532 S> */ B(Nop),
/* 539 S> */ B(Nop),
/* 548 S> */ B(Nop),
/* 555 S> */ B(Nop),
/* 564 S> */ B(Nop),
/* 571 S> */ B(Nop),
/* 580 S> */ B(Nop),
/* 587 S> */ B(Nop),
/* 596 S> */ B(Nop),
/* 603 S> */ B(Nop),
/* 612 S> */ B(Nop),
/* 619 S> */ B(Nop),
/* 628 S> */ B(Nop),
/* 635 S> */ B(Nop),
/* 644 S> */ B(Nop),
/* 651 S> */ B(Nop),
/* 660 S> */ B(Nop),
/* 667 S> */ B(Nop),
/* 676 S> */ B(Nop),
/* 683 S> */ B(Nop),
/* 692 S> */ B(Nop),
/* 699 S> */ B(Nop),
/* 708 S> */ B(Nop),
/* 715 S> */ B(Nop),
/* 724 S> */ B(Nop),
/* 731 S> */ B(Nop),
/* 740 S> */ B(Nop),
/* 747 S> */ B(Nop),
/* 756 S> */ B(Nop),
/* 763 S> */ B(Nop),
/* 772 S> */ B(Nop),
/* 779 S> */ B(Nop),
/* 788 S> */ B(Nop),
/* 795 S> */ B(Nop),
/* 804 S> */ B(Nop),
/* 811 S> */ B(Nop),
/* 820 S> */ B(Nop),
/* 827 S> */ B(Nop),
/* 836 S> */ B(Nop),
/* 843 S> */ B(Nop),
/* 852 S> */ B(Nop),
/* 859 S> */ B(Nop),
/* 868 S> */ B(Nop),
/* 875 S> */ B(Nop),
/* 884 S> */ B(Nop),
/* 891 S> */ B(Nop),
/* 900 S> */ B(Nop),
/* 907 S> */ B(Nop),
/* 916 S> */ B(Nop),
/* 923 S> */ B(Nop),
/* 932 S> */ B(Nop),
/* 939 S> */ B(Nop),
/* 948 S> */ B(Nop),
/* 955 S> */ B(Nop),
/* 964 S> */ B(Nop),
/* 971 S> */ B(Nop),
/* 980 S> */ B(Nop),
/* 987 S> */ B(Nop),
/* 996 S> */ B(Nop),
/* 1003 S> */ B(Nop),
/* 1012 S> */ B(Nop),
/* 1019 S> */ B(Nop),
/* 1028 S> */ B(Nop),
/* 1035 S> */ B(Nop),
/* 1044 S> */ B(Nop),
/* 1051 S> */ B(Nop),
/* 1060 S> */ B(Nop),
/* 1067 S> */ B(Nop),
/* 1076 S> */ B(Wide), B(LdaSmi), I16(200), /* 1076 S> */ B(Wide), B(LdaSmi), I16(200),
/* 1087 S> */ B(Return), /* 1087 S> */ B(Return),
/* 1097 S> */ B(Wide), B(LdaSmi), I16(-200), /* 1097 S> */ B(Wide), B(LdaSmi), I16(-200),
......
...@@ -30,12 +30,11 @@ snippet: " ...@@ -30,12 +30,11 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 7 bytecode array length: 6
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10), /* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0), B(Star), R(0),
/* 46 S> */ B(Nop),
/* 55 S> */ B(Return), /* 55 S> */ B(Return),
] ]
constant pool: [ constant pool: [
......
...@@ -11,12 +11,11 @@ snippet: " ...@@ -11,12 +11,11 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 6 bytecode array length: 5
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero), /* 42 S> */ B(LdaZero),
B(Star), R(0), B(Star), R(0),
/* 45 S> */ B(Nop),
/* 54 S> */ B(Return), /* 54 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -30,13 +29,12 @@ snippet: " ...@@ -30,13 +29,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 9 bytecode array length: 8
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero), /* 42 S> */ B(LdaZero),
B(Star), R(0), B(Star), R(0),
/* 45 S> */ B(Nop), /* 54 S> */ B(AddSmi), I8(3), U8(3),
/* 54 E> */ B(AddSmi), I8(3), U8(3),
/* 58 S> */ B(Return), /* 58 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -72,13 +70,12 @@ snippet: " ...@@ -72,13 +70,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 9 bytecode array length: 8
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero), /* 42 S> */ B(LdaZero),
B(Star), R(0), B(Star), R(0),
/* 45 S> */ B(Nop), /* 54 S> */ B(SubSmi), I8(3), U8(3),
/* 54 E> */ B(SubSmi), I8(3), U8(3),
/* 58 S> */ B(Return), /* 58 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -114,13 +111,12 @@ snippet: " ...@@ -114,13 +111,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(4), /* 42 S> */ B(LdaSmi), I8(4),
B(Star), R(0), B(Star), R(0),
/* 45 S> */ B(Nop), /* 54 S> */ B(MulSmi), I8(3), U8(3),
/* 54 E> */ B(MulSmi), I8(3), U8(3),
/* 58 S> */ B(Return), /* 58 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -134,13 +130,12 @@ snippet: " ...@@ -134,13 +130,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(4), /* 42 S> */ B(LdaSmi), I8(4),
B(Star), R(0), B(Star), R(0),
/* 45 S> */ B(Nop), /* 54 S> */ B(MulSmi), I8(3), U8(3),
/* 54 E> */ B(MulSmi), I8(3), U8(3),
/* 58 S> */ B(Return), /* 58 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -154,13 +149,12 @@ snippet: " ...@@ -154,13 +149,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(4), /* 42 S> */ B(LdaSmi), I8(4),
B(Star), R(0), B(Star), R(0),
/* 45 S> */ B(Nop), /* 54 S> */ B(DivSmi), I8(3), U8(3),
/* 54 E> */ B(DivSmi), I8(3), U8(3),
/* 58 S> */ B(Return), /* 58 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -196,13 +190,12 @@ snippet: " ...@@ -196,13 +190,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(4), /* 42 S> */ B(LdaSmi), I8(4),
B(Star), R(0), B(Star), R(0),
/* 45 S> */ B(Nop), /* 54 S> */ B(ModSmi), I8(3), U8(3),
/* 54 E> */ B(ModSmi), I8(3), U8(3),
/* 58 S> */ B(Return), /* 58 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -238,13 +231,12 @@ snippet: " ...@@ -238,13 +231,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1), /* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0), B(Star), R(0),
/* 45 S> */ B(Nop), /* 54 S> */ B(BitwiseOrSmi), I8(2), U8(3),
/* 54 E> */ B(BitwiseOrSmi), I8(2), U8(3),
/* 58 S> */ B(Return), /* 58 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -258,13 +250,12 @@ snippet: " ...@@ -258,13 +250,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1), /* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0), B(Star), R(0),
/* 45 S> */ B(Nop), /* 54 S> */ B(BitwiseOrSmi), I8(2), U8(3),
/* 54 E> */ B(BitwiseOrSmi), I8(2), U8(3),
/* 58 S> */ B(Return), /* 58 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -278,13 +269,12 @@ snippet: " ...@@ -278,13 +269,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1), /* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0), B(Star), R(0),
/* 45 S> */ B(Nop), /* 54 S> */ B(BitwiseXorSmi), I8(2), U8(3),
/* 54 E> */ B(BitwiseXorSmi), I8(2), U8(3),
/* 58 S> */ B(Return), /* 58 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -298,13 +288,12 @@ snippet: " ...@@ -298,13 +288,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1), /* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0), B(Star), R(0),
/* 45 S> */ B(Nop), /* 54 S> */ B(BitwiseXorSmi), I8(2), U8(3),
/* 54 E> */ B(BitwiseXorSmi), I8(2), U8(3),
/* 58 S> */ B(Return), /* 58 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -318,13 +307,12 @@ snippet: " ...@@ -318,13 +307,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1), /* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0), B(Star), R(0),
/* 45 S> */ B(Nop), /* 54 S> */ B(BitwiseAndSmi), I8(2), U8(3),
/* 54 E> */ B(BitwiseAndSmi), I8(2), U8(3),
/* 58 S> */ B(Return), /* 58 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -338,13 +326,12 @@ snippet: " ...@@ -338,13 +326,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1), /* 42 S> */ B(LdaSmi), I8(1),
B(Star), R(0), B(Star), R(0),
/* 45 S> */ B(Nop), /* 54 S> */ B(BitwiseAndSmi), I8(2), U8(3),
/* 54 E> */ B(BitwiseAndSmi), I8(2), U8(3),
/* 58 S> */ B(Return), /* 58 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -358,13 +345,12 @@ snippet: " ...@@ -358,13 +345,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10), /* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0), B(Star), R(0),
/* 46 S> */ B(Nop), /* 55 S> */ B(ShiftLeftSmi), I8(3), U8(3),
/* 55 E> */ B(ShiftLeftSmi), I8(3), U8(3),
/* 60 S> */ B(Return), /* 60 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -400,13 +386,12 @@ snippet: " ...@@ -400,13 +386,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10), /* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0), B(Star), R(0),
/* 46 S> */ B(Nop), /* 55 S> */ B(ShiftRightSmi), I8(3), U8(3),
/* 55 E> */ B(ShiftRightSmi), I8(3), U8(3),
/* 60 S> */ B(Return), /* 60 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -442,13 +427,12 @@ snippet: " ...@@ -442,13 +427,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(10), /* 42 S> */ B(LdaSmi), I8(10),
B(Star), R(0), B(Star), R(0),
/* 46 S> */ B(Nop), /* 55 S> */ B(ShiftRightLogicalSmi), I8(3), U8(3),
/* 55 E> */ B(ShiftRightLogicalSmi), I8(3), U8(3),
/* 61 S> */ B(Return), /* 61 S> */ B(Return),
] ]
constant pool: [ constant pool: [
......
...@@ -49,14 +49,13 @@ snippet: " ...@@ -49,14 +49,13 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 24 bytecode array length: 23
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 45 S> */ B(LdaSmi), I8(1), /* 45 S> */ B(LdaSmi), I8(1),
B(Star), R(0), B(Star), R(0),
/* 48 E> */ B(StackCheck), /* 48 E> */ B(StackCheck),
/* 55 S> */ B(Nop), /* 67 S> */ B(Add), R(0), U8(3),
/* 67 E> */ B(Add), R(0), U8(3),
B(Star), R(0), B(Star), R(0),
/* 77 S> */ B(LdaSmi), I8(10), /* 77 S> */ B(LdaSmi), I8(10),
/* 86 E> */ B(TestGreaterThan), R(0), U8(4), /* 86 E> */ B(TestGreaterThan), R(0), U8(4),
...@@ -78,15 +77,13 @@ snippet: " ...@@ -78,15 +77,13 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 13 bytecode array length: 11
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 45 S> */ B(LdaSmi), I8(1), /* 45 S> */ B(LdaSmi), I8(1),
B(Star), R(0), B(Star), R(0),
/* 50 S> */ B(Nop), /* 62 S> */ B(Add), R(0), U8(3),
/* 62 E> */ B(Add), R(0), U8(3),
B(Star), R(0), B(Star), R(0),
/* 72 S> */ B(Nop),
/* 84 S> */ B(Return), /* 84 S> */ B(Return),
] ]
constant pool: [ constant pool: [
......
...@@ -74,13 +74,12 @@ snippet: " ...@@ -74,13 +74,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 11 bytecode array length: 10
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(101), /* 42 S> */ B(LdaSmi), I8(101),
B(Star), R(0), B(Star), R(0),
/* 47 S> */ B(Nop), /* 61 S> */ B(MulSmi), I8(3), U8(3),
/* 61 E> */ B(MulSmi), I8(3), U8(3),
B(LdaUndefined), B(LdaUndefined),
/* 66 S> */ B(Return), /* 66 S> */ B(Return),
] ]
...@@ -97,17 +96,15 @@ snippet: " ...@@ -97,17 +96,15 @@ snippet: "
" "
frame size: 2 frame size: 2
parameter count: 1 parameter count: 1
bytecode array length: 19 bytecode array length: 17
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(Wide), B(LdaSmi), I16(1234), /* 42 S> */ B(Wide), B(LdaSmi), I16(1234),
B(Star), R(0), B(Star), R(0),
/* 56 S> */ B(Nop), /* 64 S> */ B(Mul), R(0), U8(3),
/* 64 E> */ B(Mul), R(0), U8(3),
/* 68 E> */ B(SubSmi), I8(1), U8(4), /* 68 E> */ B(SubSmi), I8(1), U8(4),
B(LdaUndefined), B(LdaUndefined),
B(Star), R(1), B(Star), R(1),
/* 74 S> */ B(Nop),
/* 83 S> */ B(Return), /* 83 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -122,13 +119,12 @@ snippet: " ...@@ -122,13 +119,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(13), /* 42 S> */ B(LdaSmi), I8(13),
B(Star), R(0), B(Star), R(0),
/* 46 S> */ B(Nop), /* 53 S> */ B(BitwiseXorSmi), I8(-1), U8(3),
/* 53 E> */ B(BitwiseXorSmi), I8(-1), U8(3),
/* 56 S> */ B(Return), /* 56 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -143,13 +139,12 @@ snippet: " ...@@ -143,13 +139,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(13), /* 42 S> */ B(LdaSmi), I8(13),
B(Star), R(0), B(Star), R(0),
/* 46 S> */ B(Nop), /* 53 S> */ B(MulSmi), I8(1), U8(3),
/* 53 E> */ B(MulSmi), I8(1), U8(3),
/* 56 S> */ B(Return), /* 56 S> */ B(Return),
] ]
constant pool: [ constant pool: [
...@@ -164,13 +159,12 @@ snippet: " ...@@ -164,13 +159,12 @@ snippet: "
" "
frame size: 1 frame size: 1
parameter count: 1 parameter count: 1
bytecode array length: 10 bytecode array length: 9
bytecodes: [ bytecodes: [
/* 30 E> */ B(StackCheck), /* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(13), /* 42 S> */ B(LdaSmi), I8(13),
B(Star), R(0), B(Star), R(0),
/* 46 S> */ B(Nop), /* 53 S> */ B(MulSmi), I8(-1), U8(3),
/* 53 E> */ B(MulSmi), I8(-1), U8(3),
/* 56 S> */ B(Return), /* 56 S> */ B(Return),
] ]
constant pool: [ constant pool: [
......
...@@ -41,5 +41,5 @@ Debug.setListener(null); // c ...@@ -41,5 +41,5 @@ Debug.setListener(null); // c
assertNull(exception); assertNull(exception);
assertEquals("default", result); assertEquals("default", result);
assertEquals(["a0","b13","f18b13","d2f18b13","d19f18b13","g2b13","g14b13","c0"], assertEquals(["a0","b13","f18b13","d2f18b13","d19f18b13","g14b13","c0"],
log); log);
...@@ -48,10 +48,10 @@ assertNull(exception); ...@@ -48,10 +48,10 @@ assertNull(exception);
assertEquals([ assertEquals([
"a0", "a0",
"b8", "b8",
"d2b13", "d11b13",
"d25b13", "d25b13",
"b25", "b25",
"d2b25", "d11b25",
"d25b25", "d25b25",
"f4b44", "f4b44",
"f15b44", "f15b44",
......
...@@ -34,8 +34,8 @@ function g() { ...@@ -34,8 +34,8 @@ function g() {
async function f() { async function f() {
var a = 1; var a = 1;
debugger; // B0 StepNext debugger; // B0 StepNext
a += // B1 StepIn a +=
await await // B1 StepIn
g(); // B2 StepIn g(); // B2 StepIn
return a; return a;
} }
......
...@@ -34,8 +34,8 @@ function g() { ...@@ -34,8 +34,8 @@ function g() {
async function f() { async function f() {
var a = 1; var a = 1;
debugger; // B0 StepNext debugger; // B0 StepNext
a += // B1 StepIn a +=
await // B4 StepNext await // B1 StepIn
g(); // B2 StepIn g(); // B2 StepIn
return a; // B4 StepNext return a; // B4 StepNext
} // B5 Continue } // B5 Continue
......
...@@ -34,8 +34,8 @@ function g() { ...@@ -34,8 +34,8 @@ function g() {
async function f() { async function f() {
var a = 1; var a = 1;
debugger; // B0 StepNext debugger; // B0 StepNext
a += // B1 StepIn a +=
await await // B1 StepIn
g(); g();
return a; // B3 StepNext return a; // B3 StepNext
} // B4 Continue } // B4 Continue
......
...@@ -34,8 +34,8 @@ function g() { ...@@ -34,8 +34,8 @@ function g() {
async function f() { async function f() {
var a = 1; var a = 1;
debugger; // B0 StepNext debugger; // B0 StepNext
a += // B1 StepIn a +=
await await // B1 StepIn
g(); g();
return a; // B3 Continue return a; // B3 Continue
} }
......
...@@ -34,8 +34,8 @@ function g() { ...@@ -34,8 +34,8 @@ function g() {
async function f() { async function f() {
var a = 1; var a = 1;
debugger; // B0 StepNext debugger; // B0 StepNext
a += // B1 StepIn a +=
await await // B1 StepIn
g(); g();
return a; // B6 StepIn return a; // B6 StepIn
} // B7 Continue } // B7 Continue
......
...@@ -34,8 +34,8 @@ function g() { ...@@ -34,8 +34,8 @@ function g() {
async function f1() { async function f1() {
var a = 1; var a = 1;
debugger; // B0 StepNext debugger; // B0 StepNext
a += // B1 StepIn a +=
await // B7 StepNext await // B1 StepIn
f2(); // B2 StepIn f2(); // B2 StepIn
return a; // B5 StepNext return a; // B5 StepNext
} // B6 Continue } // B6 Continue
......
...@@ -34,8 +34,8 @@ function g() { ...@@ -34,8 +34,8 @@ function g() {
async function f() { async function f() {
var a = 1; var a = 1;
debugger; // B0 StepNext debugger; // B0 StepNext
a += // B1 StepNext a +=
await await // B1 StepNext
g(); g();
return a; // B2 StepNext return a; // B2 StepNext
} // B3 Continue } // B3 Continue
......
...@@ -24,14 +24,13 @@ function listener(event, exec_state, event_data, data) { ...@@ -24,14 +24,13 @@ function listener(event, exec_state, event_data, data) {
function f() { function f() {
var a = 1; // Break 2. 10. var a = 1; // Break 2. 10.
return a // Break 3. 2. return a; // Break 3. 11.
; // Break 4. 3.
} }
Debug.setListener(listener); Debug.setListener(listener);
debugger; // Break 0. 0. debugger; // Break 0. 0.
f(); // Break 1. 0. f(); // Break 1. 0.
Debug.setListener(null); // Break 5. 0. Debug.setListener(null); // Break 4. 0.
assertNull(exception); assertNull(exception);
assertEquals(6, break_count); assertEquals(5, break_count);
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
function f() { function f() {
for (var i = 10; i < 14; i++) { // 1 for (var i = 10; i < 14; i++) { // 1
i; // 2 i *= 1; // 2
} }
} // 3 } // 3
......
...@@ -50,7 +50,7 @@ Paused #2 ...@@ -50,7 +50,7 @@ Paused #2
- [0] {"functionName":"testFunction","function_lineNumber":0,"function_columnNumber":21,"lineNumber":18,"columnNumber":12} - [0] {"functionName":"testFunction","function_lineNumber":0,"function_columnNumber":21,"lineNumber":18,"columnNumber":12}
- [1] {"functionName":"","function_lineNumber":0,"function_columnNumber":0,"lineNumber":0,"columnNumber":0} - [1] {"functionName":"","function_lineNumber":0,"function_columnNumber":0,"lineNumber":0,"columnNumber":0}
Paused #3 Paused #3
- [0] {"functionName":"generateAsmJs","function_lineNumber":1,"function_columnNumber":24,"lineNumber":3,"columnNumber":23} - [0] {"functionName":"generateAsmJs","function_lineNumber":1,"function_columnNumber":24,"lineNumber":3,"columnNumber":31}
- [1] {"functionName":"testFunction","function_lineNumber":0,"function_columnNumber":21,"lineNumber":18,"columnNumber":12} - [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} - [2] {"functionName":"","function_lineNumber":0,"function_columnNumber":0,"lineNumber":0,"columnNumber":0}
Paused #4 Paused #4
......
...@@ -19,7 +19,7 @@ function testFunction() { ...@@ -19,7 +19,7 @@ function testFunction() {
|_|return r; |_|return r;
|R|} |R|}
|_|return |C|f2();|R| return |C|f2();|R|
} }
...@@ -27,10 +27,10 @@ Running test: testStepInto ...@@ -27,10 +27,10 @@ Running test: testStepInto
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
testFunction (test.js:18:2) testFunction (test.js:18:9)
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
#return f2(); return #f2();
} }
f2 (test.js:8:12) f2 (test.js:8:12)
......
...@@ -17,7 +17,7 @@ function testFunction() { ...@@ -17,7 +17,7 @@ function testFunction() {
function f() { function f() {
for (let { x, y } = |_|{ x: 0, y: 1 }; y |_|> 0; --|_|y) { let z = |_|x + y; } for (let { x, y } = |_|{ x: 0, y: 1 }; y |_|> 0; --|_|y) { let z = |_|x + y; }
|R|} |R|}
var b = |_|obj1.a; var b = obj1.|_|a;
|_|(async function asyncF() { |_|(async function asyncF() {
let r = |_|await Promise.|C|resolve(42); let r = |_|await Promise.|C|resolve(42);
|_|return r; |_|return r;
...@@ -124,10 +124,10 @@ testFunction (test.js:10:44) ...@@ -124,10 +124,10 @@ testFunction (test.js:10:44)
#} #}
var b = obj1.a; var b = obj1.a;
testFunction (test.js:14:10) testFunction (test.js:14:15)
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
} }
var b = #obj1.a; var b = obj1.#a;
(async function asyncF() { (async function asyncF() {
testFunction (test.js:15:2) testFunction (test.js:15:2)
......
...@@ -8,19 +8,19 @@ function testFunction() { ...@@ -8,19 +8,19 @@ function testFunction() {
var obj = |_|{a : 1}; var obj = |_|{a : 1};
var arr = |_|[1]; var arr = |_|[1];
var all = |_|[]; var all = |_|[];
for (var |_|k in |_|arr) { |_|all.|C|push(k); } for (var |_|k in |_|arr) { all.|C|push(k); }
for (var |_|k of |_|arr) { |_|all.|C|push(k); } for (var |_|k of |_|arr) { all.|C|push(k); }
for (var |_|k in |_|obj) { |_|all.|C|push(k); } for (var |_|k in |_|obj) { all.|C|push(k); }
for (let |_|k in |_|arr) { |_|all.|C|push(k); } for (let |_|k in |_|arr) { all.|C|push(k); }
for (let |_|k of |_|arr) { |_|all.|C|push(k); } for (let |_|k of |_|arr) { all.|C|push(k); }
for (let |_|k in |_|obj) { |_|all.|C|push(k); } for (let |_|k in |_|obj) { all.|C|push(k); }
var iterable = |_|{ var iterable = |_|{
[Symbol.iterator]() { [Symbol.iterator]() {
|_|return { |_|return {
i: 0, i: 0,
next() { next() {
|_|if (this.i < 1) { if (this.|_|i < 1) {
|_|return { value: this.i++, done: false };|R| |_|return { value: this.i++, done: false };|R|
} }
|_|return { value: undefined, done: true };|R| |_|return { value: undefined, done: true };|R|
...@@ -28,9 +28,9 @@ function testFunction() { ...@@ -28,9 +28,9 @@ function testFunction() {
};|R| };|R|
} }
}; };
for (var |_|k of |_|iterable) { |_|all.|C|push(k); } for (var |_|k of |_|iterable) { all.|C|push(k); }
|_|iterable.i = 0; |_|iterable.i = 0;
for (let |_|k of |_|iterable) { |_|all.|C|push(k); } for (let |_|k of |_|iterable) { all.|C|push(k); }
|R|} |R|}
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
...@@ -66,10 +66,10 @@ testFunction (test.js:5:11) ...@@ -66,10 +66,10 @@ testFunction (test.js:5:11)
for (var #k in arr) { all.push(k); } for (var #k in arr) { all.push(k); }
for (var k of arr) { all.push(k); } for (var k of arr) { all.push(k); }
testFunction (test.js:5:23) testFunction (test.js:5:27)
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
var all = []; var all = [];
for (var k in arr) { #all.push(k); } for (var k in arr) { all.#push(k); }
for (var k of arr) { all.push(k); } for (var k of arr) { all.push(k); }
testFunction (test.js:5:11) testFunction (test.js:5:11)
...@@ -90,10 +90,10 @@ testFunction (test.js:6:11) ...@@ -90,10 +90,10 @@ testFunction (test.js:6:11)
for (var #k of arr) { all.push(k); } for (var #k of arr) { all.push(k); }
for (var k in obj) { all.push(k); } for (var k in obj) { all.push(k); }
testFunction (test.js:6:23) testFunction (test.js:6:27)
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
for (var k in arr) { all.push(k); } for (var k in arr) { all.push(k); }
for (var k of arr) { #all.push(k); } for (var k of arr) { all.#push(k); }
for (var k in obj) { all.push(k); } for (var k in obj) { all.push(k); }
testFunction (test.js:6:11) testFunction (test.js:6:11)
...@@ -114,10 +114,10 @@ testFunction (test.js:7:11) ...@@ -114,10 +114,10 @@ testFunction (test.js:7:11)
for (var #k in obj) { all.push(k); } for (var #k in obj) { all.push(k); }
for (let k in arr) { all.push(k); } for (let k in arr) { all.push(k); }
testFunction (test.js:7:23) testFunction (test.js:7:27)
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
for (var k of arr) { all.push(k); } for (var k of arr) { all.push(k); }
for (var k in obj) { #all.push(k); } for (var k in obj) { all.#push(k); }
for (let k in arr) { all.push(k); } for (let k in arr) { all.push(k); }
testFunction (test.js:7:11) testFunction (test.js:7:11)
...@@ -138,10 +138,10 @@ testFunction (test.js:8:11) ...@@ -138,10 +138,10 @@ testFunction (test.js:8:11)
for (let #k in arr) { all.push(k); } for (let #k in arr) { all.push(k); }
for (let k of arr) { all.push(k); } for (let k of arr) { all.push(k); }
testFunction (test.js:8:23) testFunction (test.js:8:27)
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
for (var k in obj) { all.push(k); } for (var k in obj) { all.push(k); }
for (let k in arr) { #all.push(k); } for (let k in arr) { all.#push(k); }
for (let k of arr) { all.push(k); } for (let k of arr) { all.push(k); }
testFunction (test.js:8:11) testFunction (test.js:8:11)
...@@ -162,10 +162,10 @@ testFunction (test.js:9:11) ...@@ -162,10 +162,10 @@ testFunction (test.js:9:11)
for (let #k of arr) { all.push(k); } for (let #k of arr) { all.push(k); }
for (let k in obj) { all.push(k); } for (let k in obj) { all.push(k); }
testFunction (test.js:9:23) testFunction (test.js:9:27)
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
for (let k in arr) { all.push(k); } for (let k in arr) { all.push(k); }
for (let k of arr) { #all.push(k); } for (let k of arr) { all.#push(k); }
for (let k in obj) { all.push(k); } for (let k in obj) { all.push(k); }
testFunction (test.js:9:11) testFunction (test.js:9:11)
...@@ -186,10 +186,10 @@ testFunction (test.js:10:11) ...@@ -186,10 +186,10 @@ testFunction (test.js:10:11)
for (let #k in obj) { all.push(k); } for (let #k in obj) { all.push(k); }
testFunction (test.js:10:23) testFunction (test.js:10:27)
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
for (let k of arr) { all.push(k); } for (let k of arr) { all.push(k); }
for (let k in obj) { #all.push(k); } for (let k in obj) { all.#push(k); }
testFunction (test.js:10:11) testFunction (test.js:10:11)
...@@ -230,11 +230,11 @@ testFunction (test.js:25:11) ...@@ -230,11 +230,11 @@ testFunction (test.js:25:11)
for (var #k of iterable) { all.push(k); } for (var #k of iterable) { all.push(k); }
iterable.i = 0; iterable.i = 0;
next (test.js:17:10) next (test.js:17:19)
testFunction (test.js:25:11) testFunction (test.js:25:11)
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
next() { next() {
#if (this.i < 1) { if (this.#i < 1) {
return { value: this.i++, done: false }; return { value: this.i++, done: false };
next (test.js:18:12) next (test.js:18:12)
...@@ -251,10 +251,10 @@ testFunction (test.js:25:11) ...@@ -251,10 +251,10 @@ testFunction (test.js:25:11)
return { value: this.i++, done: false };# return { value: this.i++, done: false };#
} }
testFunction (test.js:25:28) testFunction (test.js:25:32)
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
}; };
for (var k of iterable) { #all.push(k); } for (var k of iterable) { all.#push(k); }
iterable.i = 0; iterable.i = 0;
testFunction (test.js:25:11) testFunction (test.js:25:11)
...@@ -263,11 +263,11 @@ testFunction (test.js:25:11) ...@@ -263,11 +263,11 @@ testFunction (test.js:25:11)
for (var #k of iterable) { all.push(k); } for (var #k of iterable) { all.push(k); }
iterable.i = 0; iterable.i = 0;
next (test.js:17:10) next (test.js:17:19)
testFunction (test.js:25:11) testFunction (test.js:25:11)
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
next() { next() {
#if (this.i < 1) { if (this.#i < 1) {
return { value: this.i++, done: false }; return { value: this.i++, done: false };
next (test.js:20:10) next (test.js:20:10)
...@@ -316,11 +316,11 @@ testFunction (test.js:27:11) ...@@ -316,11 +316,11 @@ testFunction (test.js:27:11)
for (let #k of iterable) { all.push(k); } for (let #k of iterable) { all.push(k); }
} }
next (test.js:17:10) next (test.js:17:19)
testFunction (test.js:27:11) testFunction (test.js:27:11)
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
next() { next() {
#if (this.i < 1) { if (this.#i < 1) {
return { value: this.i++, done: false }; return { value: this.i++, done: false };
next (test.js:18:12) next (test.js:18:12)
...@@ -337,10 +337,10 @@ testFunction (test.js:27:11) ...@@ -337,10 +337,10 @@ testFunction (test.js:27:11)
return { value: this.i++, done: false };# return { value: this.i++, done: false };#
} }
testFunction (test.js:27:28) testFunction (test.js:27:32)
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
iterable.i = 0; iterable.i = 0;
for (let k of iterable) { #all.push(k); } for (let k of iterable) { all.#push(k); }
} }
testFunction (test.js:27:11) testFunction (test.js:27:11)
...@@ -349,11 +349,11 @@ testFunction (test.js:27:11) ...@@ -349,11 +349,11 @@ testFunction (test.js:27:11)
for (let #k of iterable) { all.push(k); } for (let #k of iterable) { all.push(k); }
} }
next (test.js:17:10) next (test.js:17:19)
testFunction (test.js:27:11) testFunction (test.js:27:11)
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
next() { next() {
#if (this.i < 1) { if (this.#i < 1) {
return { value: this.i++, done: false }; return { value: this.i++, done: false };
next (test.js:20:10) next (test.js:20:10)
...@@ -386,10 +386,10 @@ testFunction (test.js:25:11) ...@@ -386,10 +386,10 @@ testFunction (test.js:25:11)
for (var #k of iterable) { all.push(k); } for (var #k of iterable) { all.push(k); }
iterable.i = 0; iterable.i = 0;
next (test.js:17:10) next (test.js:17:19)
testFunction (test.js:25:11) testFunction (test.js:25:11)
(anonymous) (expr.js:0:0) (anonymous) (expr.js:0:0)
next() { next() {
#if (this.i < 1) { if (this.#i < 1) {
return { value: this.i++, done: false }; return { value: this.i++, done: false };
...@@ -58,7 +58,7 @@ function testNested() { ...@@ -58,7 +58,7 @@ function testNested() {
|C|nested3(); |C|nested3();
|_|return;|R| |_|return;|R|
} }
|_|return |C|nested2();|R| return |C|nested2();|R|
} }
|C|nested1(); |C|nested1();
|R|} |R|}
...@@ -90,7 +90,7 @@ function testWith() { ...@@ -90,7 +90,7 @@ function testWith() {
function testForLoop() { function testForLoop() {
for (var i = |_|0; i |_|< 1; ++|_|i) {} for (var i = |_|0; i |_|< 1; ++|_|i) {}
for (var i = |_|0; i |_|< 1; ++|_|i) |_|i; for (var i = |_|0; i |_|< 1; ++|_|i) i;
for (var i = |_|0; i |_|< 0; ++|_|i) {} for (var i = |_|0; i |_|< 0; ++|_|i) {}
|R|} |R|}
...@@ -161,13 +161,13 @@ function* idMaker() { ...@@ -161,13 +161,13 @@ function* idMaker() {
function testGenerator() { function testGenerator() {
var gen = |C|idMaker(); var gen = |C|idMaker();
|C|return42(); |C|return42();
|_|gen.|C|next().value; gen.|C|next().value;
|D|debugger; |D|debugger;
|_|gen.|C|next().value; gen.|C|next().value;
|C|return42(); |C|return42();
|_|gen.|C|next().value; gen.|C|next().value;
|C|return42(); |C|return42();
|_|gen.|C|next().value; gen.|C|next().value;
|R|} |R|}
function throwException() { function throwException() {
...@@ -230,8 +230,8 @@ async function testPromiseAsyncWithCode() { ...@@ -230,8 +230,8 @@ async function testPromiseAsyncWithCode() {
|_|await p; |_|await p;
|R|} |R|}
|C|setTimeout(returnCall, 0); |C|setTimeout(returnCall, 0);
|_|await |C|foo(); await |C|foo();
|_|await |C|foo(); await |C|foo();
|C|nextTest(); |C|nextTest();
|R|} |R|}
|C|main(); |C|main();
......
...@@ -56,7 +56,7 @@ paused at: ...@@ -56,7 +56,7 @@ paused at:
paused at: paused at:
debugger; debugger;
#p.then(v => v * 2); p.#then(v => v * 2);
resolveCallback(); resolveCallback();
{ {
......
...@@ -155,7 +155,7 @@ break at: ...@@ -155,7 +155,7 @@ break at:
break at: break at:
} }
#return nested2(); return #nested2();
} }
break at: break at:
...@@ -299,11 +299,6 @@ break at: ...@@ -299,11 +299,6 @@ break at:
for (var i = 0; i #< 1; ++i) i; for (var i = 0; i #< 1; ++i) i;
for (var i = 0; i < 0; ++i) {} for (var i = 0; i < 0; ++i) {}
break at:
for (var i = 0; i < 1; ++i) {}
for (var i = 0; i < 1; ++i) #i;
for (var i = 0; i < 0; ++i) {}
break at: break at:
for (var i = 0; i < 1; ++i) {} for (var i = 0; i < 1; ++i) {}
for (var i = 0; i < 1; ++#i) i; for (var i = 0; i < 1; ++#i) i;
...@@ -699,7 +694,7 @@ break at: ...@@ -699,7 +694,7 @@ break at:
break at: break at:
debugger; debugger;
#gen.next().value; gen.#next().value;
return42(); return42();
break at: break at:
...@@ -852,7 +847,7 @@ break at: ...@@ -852,7 +847,7 @@ break at:
break at: break at:
setTimeout(returnCall, 0); setTimeout(returnCall, 0);
#await foo(); await #foo();
await foo(); await foo();
break at: break at:
......
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
'debugger/asm-js-breakpoint-before-exec': [SKIP], 'debugger/asm-js-breakpoint-before-exec': [SKIP],
'debugger/break-locations-await': [SKIP], 'debugger/break-locations-await': [SKIP],
'debugger/get-possible-breakpoints': [SKIP], 'debugger/get-possible-breakpoints': [SKIP],
'debugger/stepping-with-blackboxed-ranges': [SKIP],
}], # variant == fullcode }], # variant == fullcode
] ]
...@@ -421,9 +421,6 @@ TEST_F(BytecodeArrayBuilderTest, AllBytecodesGenerated) { ...@@ -421,9 +421,6 @@ TEST_F(BytecodeArrayBuilderTest, AllBytecodesGenerated) {
// Insert entry for illegal bytecode as this is never willingly emitted. // Insert entry for illegal bytecode as this is never willingly emitted.
scorecard[Bytecodes::ToByte(Bytecode::kIllegal)] = 1; scorecard[Bytecodes::ToByte(Bytecode::kIllegal)] = 1;
// Insert entry for nop bytecode as this often gets optimized out.
scorecard[Bytecodes::ToByte(Bytecode::kNop)] = 1;
if (!FLAG_type_profile) { if (!FLAG_type_profile) {
// Bytecode for CollectTypeProfile is only emitted when // Bytecode for CollectTypeProfile is only emitted when
// Type Information for DevTools is turned on. // Type Information for DevTools is turned on.
......
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