diff options
author | Michaƫl Zasso <targos@protonmail.com> | 2017-09-12 11:34:59 +0200 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2017-09-13 16:15:18 +0200 |
commit | d82e1075dbc2cec2d6598ade10c1f43805f690fd (patch) | |
tree | ccd242b9b491dfc341d1099fe11b0ef528839877 /deps/v8/test/cctest/interpreter | |
parent | b4b7ac6ae811b2b5a3082468115dfb5a5246fe3f (diff) | |
download | android-node-v8-d82e1075dbc2cec2d6598ade10c1f43805f690fd.tar.gz android-node-v8-d82e1075dbc2cec2d6598ade10c1f43805f690fd.tar.bz2 android-node-v8-d82e1075dbc2cec2d6598ade10c1f43805f690fd.zip |
deps: update V8 to 6.1.534.36
PR-URL: https://github.com/nodejs/node/pull/14730
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Diffstat (limited to 'deps/v8/test/cctest/interpreter')
85 files changed, 4989 insertions, 6034 deletions
diff --git a/deps/v8/test/cctest/interpreter/bytecode-expectations-printer.cc b/deps/v8/test/cctest/interpreter/bytecode-expectations-printer.cc index 318372bb5b..b8aa6ad544 100644 --- a/deps/v8/test/cctest/interpreter/bytecode-expectations-printer.cc +++ b/deps/v8/test/cctest/interpreter/bytecode-expectations-printer.cc @@ -104,7 +104,6 @@ i::Handle<i::BytecodeArray> BytecodeExpectationsPrinter::GetBytecodeArrayForModule( v8::Local<v8::Module> module) const { i::Handle<i::Module> i_module = v8::Utils::OpenHandle(*module); - CHECK(!i_module->instantiated()); return i::handle(SharedFunctionInfo::cast(i_module->code())->bytecode_array(), i_isolate()); } diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden index 7ffbb970d5..f02402a9fe 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden @@ -14,8 +14,8 @@ parameter count: 1 bytecode array length: 6 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 34 S> */ B(CreateArrayLiteral), U8(0), U8(3), U8(17), - /* 51 S> */ B(Return), + /* 34 S> */ B(CreateArrayLiteral), U8(0), U8(3), U8(37), + /* 50 S> */ B(Return), ] constant pool: [ TUPLE2_TYPE, @@ -34,7 +34,7 @@ bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(1), B(Star), R(0), - /* 45 S> */ B(CreateArrayLiteral), U8(0), U8(4), U8(17), + /* 45 S> */ B(CreateArrayLiteral), U8(0), U8(4), U8(37), B(Star), R(2), B(LdaZero), B(Star), R(1), @@ -46,7 +46,7 @@ bytecodes: [ /* 59 E> */ B(AddSmi), I8(1), U8(3), B(StaKeyedPropertySloppy), R(2), R(1), U8(5), B(Ldar), R(2), - /* 66 S> */ B(Return), + /* 65 S> */ B(Return), ] constant pool: [ TUPLE2_TYPE, @@ -63,8 +63,8 @@ parameter count: 1 bytecode array length: 6 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 34 S> */ B(CreateArrayLiteral), U8(0), U8(5), U8(0), - /* 62 S> */ B(Return), + /* 34 S> */ B(CreateArrayLiteral), U8(0), U8(5), U8(4), + /* 61 S> */ B(Return), ] constant pool: [ TUPLE2_TYPE, @@ -83,11 +83,11 @@ bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(1), B(Star), R(0), - /* 45 S> */ B(CreateArrayLiteral), U8(0), U8(10), U8(0), + /* 45 S> */ B(CreateArrayLiteral), U8(0), U8(10), U8(4), B(Star), R(2), B(LdaZero), B(Star), R(1), - B(CreateArrayLiteral), U8(1), U8(3), U8(17), + B(CreateArrayLiteral), U8(1), U8(3), U8(37), B(Star), R(4), B(LdaZero), B(Star), R(3), @@ -97,7 +97,7 @@ bytecodes: [ B(StaKeyedPropertySloppy), R(2), R(1), U8(11), B(LdaSmi), I8(1), B(Star), R(1), - B(CreateArrayLiteral), U8(2), U8(7), U8(17), + B(CreateArrayLiteral), U8(2), U8(7), U8(37), B(Star), R(4), B(LdaZero), B(Star), R(3), @@ -107,7 +107,7 @@ bytecodes: [ B(Ldar), R(4), B(StaKeyedPropertySloppy), R(2), R(1), U8(11), B(Ldar), R(2), - /* 77 S> */ B(Return), + /* 76 S> */ B(Return), ] constant pool: [ TUPLE2_TYPE, diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiteralsWide.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiteralsWide.golden index 0d6065ce3e..e49a0aa7c7 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiteralsWide.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiteralsWide.golden @@ -783,8 +783,8 @@ bytecodes: [ B(Star), R(0), /* 2591 S> */ B(LdaConstant), U8(255), B(Star), R(0), - /* 2601 S> */ B(Wide), B(CreateArrayLiteral), U16(256), U16(3), U8(17), - /* 2619 S> */ B(Return), + /* 2601 S> */ B(Wide), B(CreateArrayLiteral), U16(256), U16(3), U8(37), + /* 2618 S> */ B(Return), ] constant pool: [ HEAP_NUMBER_TYPE [1.23], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/AssignmentsInBinaryExpression.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/AssignmentsInBinaryExpression.golden index bee7514ea5..3e0daaecac 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/AssignmentsInBinaryExpression.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/AssignmentsInBinaryExpression.golden @@ -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: [ ] @@ -42,16 +42,15 @@ snippet: " " frame size: 2 parameter count: 1 -bytecode array length: 13 +bytecode array length: 12 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(55), B(Star), R(0), - /* 57 S> */ B(LdaSmi), I8(100), + /* 54 S> */ B(LdaSmi), I8(100), B(Star), R(0), B(Star), R(1), - /* 65 S> */ B(Nop), - /* 75 S> */ B(Return), + /* 74 S> */ B(Return), ] constant pool: [ ] @@ -66,7 +65,7 @@ snippet: " " frame size: 2 parameter count: 1 -bytecode array length: 28 +bytecode array length: 27 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(55), @@ -80,8 +79,7 @@ bytecodes: [ B(Star), R(0), /* 64 E> */ B(Add), R(1), U8(4), B(Star), R(0), - /* 77 S> */ B(Nop), - /* 87 S> */ B(Return), + /* 86 S> */ B(Return), ] constant pool: [ ] @@ -97,7 +95,7 @@ snippet: " " frame size: 2 parameter count: 1 -bytecode array length: 29 +bytecode array length: 28 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(55), @@ -112,8 +110,7 @@ bytecodes: [ B(Star), R(0), /* 75 S> */ B(Inc), U8(5), B(Star), R(0), - /* 80 S> */ B(Nop), - /* 90 S> */ B(Return), + /* 89 S> */ B(Return), ] constant pool: [ ] @@ -128,12 +125,12 @@ snippet: " " frame size: 3 parameter count: 1 -bytecode array length: 37 +bytecode array length: 36 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(55), B(Star), R(0), - /* 76 S> */ B(LdaSmi), I8(1), + /* 54 S> */ B(LdaSmi), I8(1), B(Mov), R(0), R(2), B(Star), R(0), /* 56 E> */ B(Add), R(2), U8(3), @@ -146,8 +143,7 @@ bytecodes: [ B(Star), R(0), /* 76 E> */ B(Add), R(2), U8(5), B(Star), R(1), - /* 87 S> */ B(Nop), - /* 97 S> */ B(Return), + /* 96 S> */ B(Return), ] constant pool: [ ] @@ -162,12 +158,12 @@ snippet: " " frame size: 2 parameter count: 1 -bytecode array length: 37 +bytecode array length: 36 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(55), B(Star), R(0), - /* 76 S> */ B(LdaSmi), I8(1), + /* 54 S> */ B(LdaSmi), I8(1), B(Mov), R(0), R(1), B(Star), R(0), /* 56 E> */ B(Add), R(1), U8(3), @@ -180,8 +176,7 @@ bytecodes: [ B(Star), R(0), /* 76 E> */ B(Add), R(1), U8(5), B(Star), R(0), - /* 87 S> */ B(Nop), - /* 97 S> */ B(Return), + /* 96 S> */ B(Return), ] constant pool: [ ] @@ -229,7 +224,7 @@ bytecodes: [ B(Star), R(2), B(Ldar), R(1), /* 123 E> */ B(Add), R(2), U8(10), - /* 128 S> */ B(Return), + /* 127 S> */ B(Return), ] constant pool: [ ] @@ -265,7 +260,7 @@ bytecodes: [ B(Inc), U8(6), B(Star), R(0), /* 67 E> */ B(Add), R(1), U8(7), - /* 76 S> */ B(Return), + /* 75 S> */ B(Return), ] constant pool: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden new file mode 100644 index 0000000000..3f7976a830 --- /dev/null +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden @@ -0,0 +1,985 @@ +# +# Autogenerated by generate-bytecode-expectations. +# + +--- +wrap: no +test function name: f +async iteration: yes + +--- +snippet: " + async function* f() { } + f(); +" +frame size: 10 +parameter count: 1 +bytecode array length: 219 +bytecodes: [ + B(Mov), R(new_target), R(1), + B(Ldar), R(new_target), + B(JumpIfUndefined), U8(25), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(1), U8(1), + B(PushContext), R(3), + B(RestoreGeneratorState), R(1), + B(Star), R(2), + B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), + B(LdaSmi), I8(81), + B(Star), R(3), + B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), + B(LdaSmi), I8(-2), + B(Star), R(2), + B(Mov), R(closure), R(3), + B(Mov), R(this), R(4), + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), + B(Star), R(0), + /* 17 E> */ B(StackCheck), + B(Star), R(1), + B(Mov), R(context), R(5), + B(Mov), R(context), R(6), + B(LdaZero), + B(Mov), R(0), R(7), + /* 17 E> */ B(SuspendGenerator), R(1), R(0), U8(7), + B(Ldar), R(7), + /* 22 S> */ B(Return), + B(RestoreGeneratorRegisters), R(1), R(0), U8(7), + B(LdaSmi), I8(-2), + B(Star), R(2), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(1), U8(1), + B(Star), R(7), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1), + B(SwitchOnSmiNoFeedback), U8(1), U8(2), I8(0), + B(Ldar), R(7), + /* 17 E> */ B(Throw), + B(LdaZero), + B(Star), R(3), + B(Mov), R(7), R(4), + B(Jump), U8(61), + B(LdaUndefined), + B(Star), R(4), + B(LdaZero), + B(Star), R(3), + B(Jump), U8(53), + B(Jump), U8(39), + B(Star), R(7), + B(Ldar), R(closure), + B(CreateCatchContext), R(7), U8(3), U8(4), + B(Star), R(6), + B(LdaTheHole), + B(SetPendingMessage), + B(Ldar), R(6), + B(PushContext), R(7), + B(LdaImmutableCurrentContextSlot), U8(4), + B(Star), R(9), + B(Mov), R(0), R(8), + B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorReject), R(8), U8(2), + B(PopContext), R(7), + B(Star), R(4), + B(LdaSmi), I8(1), + B(Star), R(3), + B(Jump), U8(14), + B(LdaSmi), I8(-1), + B(Star), R(3), + B(Jump), U8(8), + B(Star), R(4), + B(LdaSmi), I8(2), + B(Star), R(3), + B(LdaTheHole), + B(SetPendingMessage), + B(Star), R(5), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(0), U8(1), + B(Ldar), R(5), + B(SetPendingMessage), + B(Ldar), R(3), + B(SwitchOnSmiNoFeedback), U8(5), U8(3), I8(0), + B(Jump), U8(34), + B(LdaTrue), + B(Star), R(8), + B(Mov), R(0), R(6), + B(Mov), R(4), R(7), + B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorResolve), R(6), U8(3), + B(Star), R(9), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(1), U8(1), + B(Ldar), R(9), + /* 22 S> */ B(Return), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(1), U8(1), + B(Ldar), R(4), + /* 22 S> */ B(Return), + B(Ldar), R(4), + B(ReThrow), + B(LdaUndefined), + B(Star), R(3), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(1), U8(1), + B(Ldar), R(3), + /* 22 S> */ B(Return), +] +constant pool: [ + Smi [49], + Smi [15], + Smi [7], + ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], + FIXED_ARRAY_TYPE, + Smi [6], + Smi [28], + Smi [35], +] +handlers: [ + [52, 146, 152], + [55, 107, 109], +] + +--- +snippet: " + async function* f() { yield 42 } + f(); +" +frame size: 11 +parameter count: 1 +bytecode array length: 276 +bytecodes: [ + B(Mov), R(new_target), R(1), + B(Ldar), R(new_target), + B(JumpIfUndefined), U8(25), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(1), U8(1), + B(PushContext), R(3), + B(RestoreGeneratorState), R(1), + B(Star), R(2), + B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0), + B(LdaSmi), I8(81), + B(Star), R(3), + B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), + B(LdaSmi), I8(-2), + B(Star), R(2), + B(Mov), R(closure), R(3), + B(Mov), R(this), R(4), + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), + B(Star), R(0), + /* 17 E> */ B(StackCheck), + B(Star), R(1), + B(Mov), R(context), R(5), + B(Mov), R(context), R(6), + B(LdaZero), + B(Mov), R(0), R(7), + /* 17 E> */ B(SuspendGenerator), R(1), R(0), U8(7), + B(Ldar), R(7), + /* 31 S> */ B(Return), + B(RestoreGeneratorRegisters), R(1), R(0), U8(7), + B(LdaSmi), I8(-2), + B(Star), R(2), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(1), U8(1), + B(Star), R(7), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(7), + /* 17 E> */ B(Throw), + B(LdaZero), + B(Star), R(3), + B(Mov), R(7), R(4), + B(Jump), U8(118), + /* 22 S> */ B(LdaSmi), I8(42), + B(Star), R(7), + B(LdaSmi), I8(1), + B(SuspendGenerator), R(1), R(0), U8(7), + B(LdaFalse), + B(Star), R(10), + B(Mov), R(1), R(8), + B(Mov), R(7), R(9), + B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorResolve), R(8), U8(3), + /* 31 S> */ B(Return), + B(RestoreGeneratorRegisters), R(1), R(0), U8(7), + B(LdaSmi), I8(-2), + B(Star), R(2), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(1), U8(1), + B(Star), R(7), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1), + B(SwitchOnSmiNoFeedback), U8(4), U8(2), I8(0), + B(Ldar), R(7), + /* 22 E> */ B(Throw), + B(LdaZero), + B(Star), R(3), + B(Mov), R(7), R(4), + B(Jump), U8(61), + B(LdaUndefined), + B(Star), R(4), + B(LdaZero), + B(Star), R(3), + B(Jump), U8(53), + B(Jump), U8(39), + B(Star), R(7), + B(Ldar), R(closure), + B(CreateCatchContext), R(7), U8(6), U8(7), + B(Star), R(6), + B(LdaTheHole), + B(SetPendingMessage), + B(Ldar), R(6), + B(PushContext), R(7), + B(LdaImmutableCurrentContextSlot), U8(4), + B(Star), R(9), + B(Mov), R(0), R(8), + B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorReject), R(8), U8(2), + B(PopContext), R(7), + B(Star), R(4), + B(LdaSmi), I8(1), + B(Star), R(3), + B(Jump), U8(14), + B(LdaSmi), I8(-1), + B(Star), R(3), + B(Jump), U8(8), + B(Star), R(4), + B(LdaSmi), I8(2), + B(Star), R(3), + B(LdaTheHole), + B(SetPendingMessage), + B(Star), R(5), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(0), U8(1), + B(Ldar), R(5), + B(SetPendingMessage), + B(Ldar), R(3), + B(SwitchOnSmiNoFeedback), U8(8), U8(3), I8(0), + B(Jump), U8(34), + B(LdaTrue), + B(Star), R(8), + B(Mov), R(0), R(6), + B(Mov), R(4), R(7), + B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorResolve), R(6), U8(3), + B(Star), R(9), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(1), U8(1), + B(Ldar), R(9), + /* 31 S> */ B(Return), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(1), U8(1), + B(Ldar), R(4), + /* 31 S> */ B(Return), + B(Ldar), R(4), + B(ReThrow), + B(LdaUndefined), + B(Star), R(3), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(1), U8(1), + B(Ldar), R(3), + /* 31 S> */ B(Return), +] +constant pool: [ + Smi [49], + Smi [106], + Smi [15], + Smi [7], + Smi [15], + Smi [7], + ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], + FIXED_ARRAY_TYPE, + Smi [6], + Smi [28], + Smi [35], +] +handlers: [ + [52, 203, 209], + [55, 164, 166], +] + +--- +snippet: " + async function* f() { for (let x of [42]) yield x } + f(); +" +frame size: 24 +parameter count: 1 +bytecode array length: 572 +bytecodes: [ + B(Mov), R(new_target), R(10), + B(Ldar), R(new_target), + B(JumpIfUndefined), U8(25), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(10), U8(1), + B(PushContext), R(12), + B(RestoreGeneratorState), R(10), + B(Star), R(11), + B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0), + B(LdaSmi), I8(81), + B(Star), R(12), + B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1), + B(LdaSmi), I8(-2), + B(Star), R(11), + B(Mov), R(closure), R(12), + B(Mov), R(this), R(13), + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(12), U8(2), + B(Star), R(2), + /* 17 E> */ B(StackCheck), + B(Star), R(10), + B(Mov), R(context), R(14), + B(Mov), R(context), R(15), + B(LdaZero), + B(Mov), R(2), R(16), + /* 17 E> */ B(SuspendGenerator), R(10), R(0), U8(16), + B(Ldar), R(16), + /* 50 S> */ B(Return), + B(RestoreGeneratorRegisters), R(10), R(0), U8(16), + B(LdaSmi), I8(-2), + B(Star), R(11), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(10), U8(1), + B(Star), R(16), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(10), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(16), + /* 17 E> */ B(Throw), + B(LdaZero), + B(Star), R(12), + B(Mov), R(16), R(13), + B(JumpConstant), U8(20), + B(LdaTheHole), + B(Star), R(1), + B(LdaZero), + B(Star), R(6), + B(Mov), R(context), R(18), + B(Mov), R(context), R(19), + /* 36 S> */ B(CreateArrayLiteral), U8(4), U8(3), U8(37), + B(Star), R(20), + B(LdaNamedProperty), R(20), U8(5), U8(4), + B(Star), R(21), + B(CallProperty0), R(21), R(20), U8(6), + B(JumpIfJSReceiver), U8(7), + B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), + B(Star), R(4), + B(Ldar), R(11), + B(SwitchOnSmiNoFeedback), U8(6), U8(1), I8(1), + B(LdaSmi), I8(-2), + /* 36 E> */ B(TestEqualStrictNoFeedback), R(11), + B(JumpIfTrue), U8(11), + B(LdaSmi), I8(81), + B(Star), R(20), + B(CallRuntime), U16(Runtime::kAbort), R(20), U8(1), + /* 31 S> */ B(LdaNamedProperty), R(4), U8(7), U8(10), + B(Star), R(20), + B(CallProperty0), R(20), R(4), U8(8), + B(Star), R(5), + /* 31 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(5), U8(1), + B(ToBooleanLogicalNot), + B(JumpIfFalse), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1), + B(LdaNamedProperty), R(5), U8(8), U8(12), + B(JumpIfToBooleanTrue), U8(81), + B(LdaNamedProperty), R(5), U8(9), U8(14), + B(Star), R(7), + B(LdaSmi), I8(2), + B(Star), R(6), + B(Mov), R(7), R(3), + /* 22 E> */ B(StackCheck), + B(Mov), R(3), R(0), + /* 42 S> */ B(LdaSmi), I8(1), + B(Mov), R(0), R(20), + B(SuspendGenerator), R(10), R(0), U8(20), + B(LdaFalse), + B(Star), R(23), + B(Mov), R(10), R(21), + B(Mov), R(20), R(22), + B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorResolve), R(21), U8(3), + /* 50 S> */ B(Return), + B(RestoreGeneratorRegisters), R(10), R(0), U8(20), + B(LdaSmi), I8(-2), + B(Star), R(11), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(10), U8(1), + B(Star), R(20), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(10), U8(1), + B(SwitchOnSmiNoFeedback), U8(10), U8(2), I8(0), + B(Ldar), R(20), + /* 42 E> */ B(Throw), + B(LdaZero), + B(Star), R(16), + B(Mov), R(20), R(17), + B(Jump), U8(60), + B(LdaZero), + B(Star), R(6), + B(JumpLoop), U8(127), I8(0), + B(Jump), U8(40), + B(Star), R(20), + B(Ldar), R(closure), + B(CreateCatchContext), R(20), U8(12), U8(13), + B(Star), R(19), + B(LdaTheHole), + B(SetPendingMessage), + B(Ldar), R(19), + B(PushContext), R(20), + B(LdaSmi), I8(2), + B(TestEqualStrict), R(6), U8(16), + B(JumpIfFalse), U8(6), + B(LdaSmi), I8(1), + B(Star), R(6), + B(LdaImmutableCurrentContextSlot), U8(4), + B(Star), R(21), + B(CallRuntime), U16(Runtime::kReThrow), R(21), U8(1), + B(PopContext), R(20), + B(LdaSmi), I8(-1), + B(Star), R(16), + B(Jump), U8(8), + B(Star), R(17), + B(LdaSmi), I8(1), + B(Star), R(16), + B(LdaTheHole), + B(SetPendingMessage), + B(Star), R(18), + B(LdaZero), + B(TestEqualStrict), R(6), U8(17), + B(JumpIfTrue), U8(104), + B(LdaNamedProperty), R(4), U8(14), U8(18), + B(Star), R(8), + B(TestUndetectable), + B(JumpIfFalse), U8(4), + B(Jump), U8(93), + B(LdaSmi), I8(1), + B(TestEqualStrict), R(6), U8(21), + B(JumpIfFalse), U8(61), + B(Ldar), R(8), + B(TestTypeOf), U8(5), + B(JumpIfFalse), U8(4), + B(Jump), U8(18), + B(Wide), B(LdaSmi), I16(131), + B(Star), R(19), + B(LdaConstant), U8(15), + B(Star), R(20), + B(CallRuntime), U16(Runtime::kNewTypeError), R(19), U8(2), + B(Throw), + B(Mov), R(context), R(19), + B(Mov), R(8), R(20), + B(Mov), R(4), R(21), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(20), U8(2), + B(Jump), U8(20), + B(Star), R(20), + B(Ldar), R(closure), + B(CreateCatchContext), R(20), U8(12), U8(16), + B(Star), R(19), + B(LdaTheHole), + B(SetPendingMessage), + B(Ldar), R(19), + B(PushContext), R(20), + B(PopContext), R(20), + B(Jump), U8(27), + B(Mov), R(8), R(19), + B(Mov), R(4), R(20), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(19), U8(2), + B(Star), R(9), + B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(9), U8(1), + B(JumpIfToBooleanFalse), U8(4), + B(Jump), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1), + B(Ldar), R(18), + B(SetPendingMessage), + B(Ldar), R(16), + B(SwitchOnSmiNoFeedback), U8(17), U8(2), I8(0), + B(Jump), U8(13), + B(LdaZero), + B(Star), R(12), + B(Mov), R(17), R(13), + B(Jump), U8(64), + B(Ldar), R(17), + B(ReThrow), + B(LdaUndefined), + B(Star), R(13), + B(LdaZero), + B(Star), R(12), + B(Jump), U8(53), + B(Jump), U8(39), + B(Star), R(16), + B(Ldar), R(closure), + B(CreateCatchContext), R(16), U8(12), U8(19), + B(Star), R(15), + B(LdaTheHole), + B(SetPendingMessage), + B(Ldar), R(15), + B(PushContext), R(16), + B(LdaImmutableCurrentContextSlot), U8(4), + B(Star), R(18), + B(Mov), R(2), R(17), + B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorReject), R(17), U8(2), + B(PopContext), R(16), + B(Star), R(13), + B(LdaSmi), I8(1), + B(Star), R(12), + B(Jump), U8(14), + B(LdaSmi), I8(-1), + B(Star), R(12), + B(Jump), U8(8), + B(Star), R(13), + B(LdaSmi), I8(2), + B(Star), R(12), + B(LdaTheHole), + B(SetPendingMessage), + B(Star), R(14), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(2), U8(1), + B(Ldar), R(14), + B(SetPendingMessage), + B(Ldar), R(12), + B(SwitchOnSmiNoFeedback), U8(21), U8(3), I8(0), + B(Jump), U8(34), + B(LdaTrue), + B(Star), R(17), + B(Mov), R(2), R(15), + B(Mov), R(13), R(16), + B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorResolve), R(15), U8(3), + B(Star), R(18), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(10), U8(1), + B(Ldar), R(18), + /* 50 S> */ B(Return), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(10), U8(1), + B(Ldar), R(13), + /* 50 S> */ B(Return), + B(Ldar), R(13), + B(ReThrow), + B(LdaUndefined), + B(Star), R(12), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(10), U8(1), + B(Ldar), R(12), + /* 50 S> */ B(Return), +] +constant pool: [ + Smi [49], + Smi [119], + Smi [15], + Smi [7], + TUPLE2_TYPE, + SYMBOL_TYPE, + Smi [89], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], + Smi [15], + Smi [7], + ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], + FIXED_ARRAY_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], + ONE_BYTE_INTERNALIZED_STRING_TYPE [""], + FIXED_ARRAY_TYPE, + Smi [6], + Smi [14], + FIXED_ARRAY_TYPE, + Smi [414], + Smi [6], + Smi [28], + Smi [35], +] +handlers: [ + [52, 499, 505], + [55, 460, 462], + [108, 306, 312], + [111, 266, 268], + [373, 383, 385], +] + +--- +snippet: " + function* g() { yield 42 } + async function* f() { yield* g() } + f(); +" +frame size: 20 +parameter count: 1 +bytecode array length: 911 +bytecodes: [ + B(Mov), R(new_target), R(9), + B(Ldar), R(new_target), + B(JumpIfUndefined), U8(25), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(9), U8(1), + B(PushContext), R(11), + B(RestoreGeneratorState), R(9), + B(Star), R(10), + B(SwitchOnSmiNoFeedback), U8(0), U8(7), I8(0), + B(LdaSmi), I8(81), + B(Star), R(11), + B(CallRuntime), U16(Runtime::kAbort), R(11), U8(1), + B(LdaSmi), I8(-2), + B(Star), R(10), + B(Mov), R(closure), R(11), + B(Mov), R(this), R(12), + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(11), U8(2), + B(Star), R(0), + /* 44 E> */ B(StackCheck), + B(Star), R(9), + B(Mov), R(context), R(13), + B(Mov), R(context), R(14), + B(LdaZero), + B(Mov), R(0), R(15), + /* 44 E> */ B(SuspendGenerator), R(9), R(0), U8(15), + B(Ldar), R(15), + /* 60 S> */ B(Return), + B(RestoreGeneratorRegisters), R(9), R(0), U8(15), + B(LdaSmi), I8(-2), + B(Star), R(10), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1), + B(Star), R(15), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9), U8(1), + B(SwitchOnSmiNoFeedback), U8(7), U8(2), I8(0), + B(Ldar), R(15), + /* 44 E> */ B(Throw), + B(LdaZero), + B(Star), R(11), + B(Mov), R(15), R(12), + B(JumpConstant), U8(30), + /* 49 S> */ B(LdaUndefined), + B(Star), R(1), + B(LdaZero), + B(Star), R(2), + B(LdaUndefined), + B(Star), R(3), + B(LdaGlobal), U8(9), U8(5), + B(Star), R(17), + /* 56 E> */ B(CallUndefinedReceiver0), R(17), U8(3), + B(Star), R(15), + B(LdaNamedProperty), R(15), U8(10), U8(11), + B(JumpIfUndefined), U8(17), + B(JumpIfNull), U8(15), + B(Star), R(16), + B(CallProperty0), R(16), R(15), U8(13), + B(JumpIfJSReceiver), U8(23), + B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0), + B(LdaNamedProperty), R(15), U8(11), U8(7), + B(Star), R(16), + B(CallProperty0), R(16), R(15), U8(9), + B(Star), R(16), + B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(16), U8(1), + B(Star), R(4), + B(Ldar), R(10), + B(SwitchOnSmiNoFeedback), U8(12), U8(6), I8(1), + B(LdaSmi), I8(-2), + B(TestEqualStrictNoFeedback), R(10), + B(JumpIfTrue), U8(11), + B(LdaSmi), I8(81), + B(Star), R(15), + B(CallRuntime), U16(Runtime::kAbort), R(15), U8(1), + B(StackCheck), + B(LdaZero), + B(TestEqualStrict), R(2), U8(19), + B(Mov), R(2), R(15), + B(JumpIfTrue), U8(18), + B(LdaSmi), I8(1), + B(TestEqualStrict), R(15), U8(23), + B(JumpIfTrue), U8(91), + B(LdaSmi), I8(2), + B(TestEqualStrict), R(15), U8(32), + B(JumpIfTrue), U8(183), + B(JumpConstant), U8(24), + B(LdaNamedProperty), R(4), U8(18), U8(17), + B(Star), R(16), + B(CallProperty1), R(16), R(4), R(1), U8(15), + B(Star), R(16), + B(Mov), R(9), R(17), + B(Mov), R(16), R(18), + B(CallJSRuntime), U8(%async_generator_await_uncaught), R(17), U8(2), + B(Star), R(16), + B(LdaSmi), I8(1), + B(SuspendGenerator), R(9), R(0), U8(16), + B(Ldar), R(16), + /* 60 S> */ B(Return), + B(RestoreGeneratorRegisters), R(9), R(0), U8(16), + B(LdaSmi), I8(-2), + B(Star), R(10), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1), + B(Star), R(17), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9), U8(1), + B(Star), R(18), + B(LdaZero), + B(TestEqualStrictNoFeedback), R(18), + B(JumpIfTrue), U8(5), + B(Ldar), R(17), + B(ReThrow), + B(Mov), R(17), R(3), + B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), + B(JumpIfToBooleanFalse), U8(4), + B(Jump), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(3), U8(1), + B(JumpConstant), U8(25), + B(LdaNamedProperty), R(4), U8(19), U8(20), + B(Star), R(3), + B(TestUndetectable), + B(JumpIfFalse), U8(10), + B(LdaZero), + B(Star), R(11), + B(Mov), R(1), R(12), + B(JumpConstant), U8(31), + B(Mov), R(3), R(16), + B(Mov), R(4), R(17), + B(Mov), R(1), R(18), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(16), U8(3), + B(Star), R(16), + B(Mov), R(9), R(17), + B(Mov), R(16), R(18), + B(CallJSRuntime), U8(%async_generator_await_uncaught), R(17), U8(2), + B(Star), R(16), + B(LdaSmi), I8(2), + B(SuspendGenerator), R(9), R(0), U8(16), + B(Ldar), R(16), + /* 60 S> */ B(Return), + B(RestoreGeneratorRegisters), R(9), R(0), U8(16), + B(LdaSmi), I8(-2), + B(Star), R(10), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1), + B(Star), R(17), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9), U8(1), + B(Star), R(18), + B(LdaZero), + B(TestEqualStrictNoFeedback), R(18), + B(JumpIfTrue), U8(5), + B(Ldar), R(17), + B(ReThrow), + B(Mov), R(17), R(3), + B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), + B(JumpIfToBooleanFalse), U8(4), + B(Jump), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(3), U8(1), + B(JumpConstant), U8(26), + B(LdaNamedProperty), R(4), U8(20), U8(24), + B(Star), R(5), + B(TestUndetectable), + B(JumpIfFalse), U8(228), + B(LdaNamedProperty), R(4), U8(19), U8(27), + B(Star), R(6), + B(TestUndetectable), + B(JumpIfFalse), U8(4), + B(Jump), U8(201), + B(LdaZero), + B(Star), R(16), + B(LdaSmi), I8(1), + B(TestEqualStrict), R(16), U8(30), + B(JumpIfFalse), U8(114), + B(Ldar), R(6), + B(TestTypeOf), U8(5), + B(JumpIfFalse), U8(4), + B(Jump), U8(18), + B(Wide), B(LdaSmi), I16(131), + B(Star), R(16), + B(LdaConstant), U8(21), + B(Star), R(17), + B(CallRuntime), U16(Runtime::kNewTypeError), R(16), U8(2), + B(Throw), + B(Mov), R(context), R(16), + B(Mov), R(6), R(17), + B(Mov), R(4), R(18), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(17), U8(2), + B(Star), R(17), + B(Mov), R(9), R(18), + B(Mov), R(17), R(19), + B(CallJSRuntime), U8(%async_generator_await_caught), R(18), U8(2), + B(Star), R(17), + B(LdaSmi), I8(3), + B(SuspendGenerator), R(9), R(0), U8(17), + B(Ldar), R(17), + /* 60 S> */ B(Return), + B(RestoreGeneratorRegisters), R(9), R(0), U8(17), + B(LdaSmi), I8(-2), + B(Star), R(10), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1), + B(Star), R(18), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9), U8(1), + B(Star), R(19), + B(LdaZero), + B(TestEqualStrictNoFeedback), R(19), + B(JumpIfTrue), U8(5), + B(Ldar), R(18), + B(ReThrow), + B(Ldar), R(18), + B(Jump), U8(20), + B(Star), R(17), + B(Ldar), R(closure), + B(CreateCatchContext), R(17), U8(22), U8(23), + B(Star), R(16), + B(LdaTheHole), + B(SetPendingMessage), + B(Ldar), R(16), + B(PushContext), R(17), + B(PopContext), R(17), + B(Jump), U8(79), + B(Mov), R(6), R(16), + B(Mov), R(4), R(17), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(16), U8(2), + B(Star), R(16), + B(Mov), R(9), R(17), + B(Mov), R(16), R(18), + B(CallJSRuntime), U8(%async_generator_await_uncaught), R(17), U8(2), + B(Star), R(16), + B(LdaSmi), I8(4), + B(SuspendGenerator), R(9), R(0), U8(16), + B(Ldar), R(16), + /* 60 S> */ B(Return), + B(RestoreGeneratorRegisters), R(9), R(0), U8(16), + B(LdaSmi), I8(-2), + B(Star), R(10), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1), + B(Star), R(17), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9), U8(1), + B(Star), R(18), + B(LdaZero), + B(TestEqualStrictNoFeedback), R(18), + B(JumpIfTrue), U8(5), + B(Ldar), R(17), + B(ReThrow), + B(Mov), R(17), R(7), + B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(7), U8(1), + B(JumpIfToBooleanFalse), U8(4), + B(Jump), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(7), U8(1), + B(Wide), B(LdaSmi), I16(145), + B(Star), R(16), + B(LdaConstant), U8(21), + B(Star), R(17), + B(CallRuntime), U16(Runtime::kNewTypeError), R(16), U8(2), + B(Throw), + B(Mov), R(5), R(16), + B(Mov), R(4), R(17), + B(Mov), R(1), R(18), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(16), U8(3), + B(Star), R(16), + B(Mov), R(9), R(17), + B(Mov), R(16), R(18), + B(CallJSRuntime), U8(%async_generator_await_uncaught), R(17), U8(2), + B(Star), R(16), + B(LdaSmi), I8(5), + B(SuspendGenerator), R(9), R(0), U8(16), + B(Ldar), R(16), + /* 60 S> */ B(Return), + B(RestoreGeneratorRegisters), R(9), R(0), U8(16), + B(LdaSmi), I8(-2), + B(Star), R(10), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1), + B(Star), R(17), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9), U8(1), + B(Star), R(18), + B(LdaZero), + B(TestEqualStrictNoFeedback), R(18), + B(JumpIfTrue), U8(5), + B(Ldar), R(17), + B(ReThrow), + B(Mov), R(17), R(3), + B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), + B(JumpIfToBooleanFalse), U8(4), + B(Jump), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(3), U8(1), + B(Jump), U8(2), + B(LdaNamedProperty), R(3), U8(27), U8(33), + B(JumpIfToBooleanFalse), U8(4), + B(Jump), U8(61), + B(LdaNamedProperty), R(3), U8(28), U8(35), + B(Star), R(3), + B(LdaSmi), I8(6), + B(Mov), R(3), R(15), + B(SuspendGenerator), R(9), R(0), U8(15), + B(LdaFalse), + B(Star), R(18), + B(Mov), R(9), R(16), + B(Mov), R(15), R(17), + B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorResolve), R(16), U8(3), + /* 60 S> */ B(Return), + B(RestoreGeneratorRegisters), R(9), R(0), U8(15), + B(LdaSmi), I8(-2), + B(Star), R(10), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1), + B(Star), R(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), + B(Star), R(2), + B(Wide), B(JumpLoop), U16(605), I16(0), + B(LdaSmi), I8(1), + B(TestEqualStrict), R(2), U8(37), + B(JumpIfFalse), U8(13), + B(LdaNamedProperty), R(3), U8(28), U8(38), + B(Star), R(12), + B(LdaZero), + B(Star), R(11), + B(Jump), U8(67), + B(LdaNamedProperty), R(3), U8(28), U8(40), + B(Star), R(8), + B(LdaUndefined), + B(Star), R(12), + B(LdaZero), + B(Star), R(11), + B(Jump), U8(53), + B(Jump), U8(39), + B(Star), R(15), + B(Ldar), R(closure), + B(CreateCatchContext), R(15), U8(22), U8(29), + B(Star), R(14), + B(LdaTheHole), + B(SetPendingMessage), + B(Ldar), R(14), + B(PushContext), R(15), + B(LdaImmutableCurrentContextSlot), U8(4), + B(Star), R(17), + B(Mov), R(0), R(16), + B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorReject), R(16), U8(2), + B(PopContext), R(15), + B(Star), R(12), + B(LdaSmi), I8(1), + B(Star), R(11), + B(Jump), U8(14), + B(LdaSmi), I8(-1), + B(Star), R(11), + B(Jump), U8(8), + B(Star), R(12), + B(LdaSmi), I8(2), + B(Star), R(11), + B(LdaTheHole), + B(SetPendingMessage), + B(Star), R(13), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(0), U8(1), + B(Ldar), R(13), + B(SetPendingMessage), + B(Ldar), R(11), + B(SwitchOnSmiNoFeedback), U8(32), U8(3), I8(0), + B(Jump), U8(34), + B(LdaTrue), + B(Star), R(16), + B(Mov), R(0), R(14), + B(Mov), R(12), R(15), + B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorResolve), R(14), U8(3), + B(Star), R(17), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(9), U8(1), + B(Ldar), R(17), + /* 60 S> */ B(Return), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(9), U8(1), + B(Ldar), R(12), + /* 60 S> */ B(Return), + B(Ldar), R(12), + B(ReThrow), + B(LdaUndefined), + B(Star), R(11), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(9), U8(1), + B(Ldar), R(11), + /* 60 S> */ B(Return), +] +constant pool: [ + Smi [49], + Smi [140], + Smi [140], + Smi [140], + Smi [140], + Smi [140], + Smi [140], + Smi [15], + Smi [7], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["g"], + SYMBOL_TYPE, + SYMBOL_TYPE, + Smi [79], + Smi [178], + Smi [314], + Smi [399], + Smi [495], + Smi [578], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["throw"], + ONE_BYTE_INTERNALIZED_STRING_TYPE [""], + ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], + FIXED_ARRAY_TYPE, + Smi [498], + Smi [418], + Smi [319], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], + FIXED_ARRAY_TYPE, + Smi [753], + Smi [551], + Smi [6], + Smi [28], + Smi [35], +] +handlers: [ + [52, 838, 844], + [55, 799, 801], + [440, 503, 505], +] + diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/BasicBlockToBoolean.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/BasicBlockToBoolean.golden index e86b7909f9..ce91625d92 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/BasicBlockToBoolean.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/BasicBlockToBoolean.golden @@ -21,7 +21,7 @@ bytecodes: [ /* 56 E> */ B(TestLessThan), R(0), U8(3), 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(3), B(JumpIfFalse), U8(5), /* 63 S> */ B(LdaSmi), I8(1), - /* 75 S> */ B(Return), + /* 72 S> */ B(Return), B(LdaUndefined), /* 75 S> */ B(Return), ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden index 0f24178a2d..40f54aaea5 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden @@ -13,13 +13,12 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 6 +bytecode array length: 5 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaZero), B(Star), R(0), - /* 88 S> */ B(Nop), - /* 98 S> */ B(Return), + /* 97 S> */ B(Return), ] constant pool: [ ] @@ -36,13 +35,12 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 6 +bytecode array length: 5 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaZero), B(Star), R(0), - /* 77 S> */ B(Nop), - /* 87 S> */ B(Return), + /* 86 S> */ B(Return), ] constant pool: [ ] @@ -90,7 +88,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 +141,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 +186,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 +223,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 +270,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 +306,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: [ ] @@ -328,7 +326,7 @@ snippet: " " frame size: 2 parameter count: 1 -bytecode array length: 43 +bytecode array length: 42 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaZero), @@ -336,8 +334,7 @@ bytecodes: [ /* 53 S> */ B(LdaSmi), I8(1), B(Star), R(1), /* 56 E> */ B(StackCheck), - /* 63 S> */ B(Nop), - /* 69 E> */ B(MulSmi), I8(10), U8(3), + /* 69 S> */ B(MulSmi), I8(10), U8(3), B(Star), R(1), /* 77 S> */ B(LdaSmi), I8(5), /* 83 E> */ B(TestEqual), R(0), U8(4), @@ -351,7 +348,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 +392,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 +608,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 +633,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 +671,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: [ ] @@ -695,13 +692,13 @@ snippet: " " frame size: 4 parameter count: 1 -bytecode array length: 54 +bytecode array length: 52 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaZero), B(Star), R(1), /* 52 S> */ B(Ldar), R(1), - B(JumpIfToBooleanFalse), U8(46), + B(JumpIfToBooleanFalse), U8(44), /* 45 E> */ B(StackCheck), B(Ldar), R(closure), B(CreateBlockContext), U8(0), @@ -714,15 +711,14 @@ bytecodes: [ /* 73 E> */ B(StaCurrentContextSlot), U8(4), B(Mov), R(0), R(2), /* 106 S> */ B(LdaCurrentContextSlot), U8(4), - B(JumpIfToBooleanFalse), U8(8), + B(JumpIfToBooleanFalse), U8(6), /* 113 S> */ B(PopContext), R(3), - B(PopContext), R(3), B(Jump), U8(10), /* 126 S> */ B(LdaCurrentContextSlot), U8(4), B(Inc), U8(4), /* 127 E> */ B(StaCurrentContextSlot), U8(4), B(PopContext), R(3), - B(JumpLoop), U8(45), I8(0), + B(JumpLoop), U8(43), I8(0), B(LdaUndefined), /* 137 S> */ B(Return), ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/BreakableBlocks.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/BreakableBlocks.golden index 11073635cb..2f570a01bc 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/BreakableBlocks.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/BreakableBlocks.golden @@ -17,17 +17,16 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 15 +bytecode array length: 14 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaZero), B(Star), R(0), - /* 56 S> */ B(Nop), - /* 62 E> */ B(AddSmi), I8(1), U8(3), + /* 62 S> */ B(AddSmi), I8(1), U8(3), 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 +84,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: [ ] @@ -115,7 +114,7 @@ bytecodes: [ /* 53 S> */ B(LdaSmi), I8(10), /* 53 E> */ B(StaCurrentContextSlot), U8(4), B(Mov), R(0), R(1), - B(Ldar), R(0), + B(Ldar), R(1), /* 88 S> */ B(Jump), U8(2), B(PopContext), R(2), B(LdaUndefined), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallAndSpread.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallAndSpread.golden index 519d4a3e41..7a81a0d408 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallAndSpread.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallAndSpread.golden @@ -16,9 +16,9 @@ bytecodes: [ /* 30 E> */ B(StackCheck), /* 34 S> */ B(LdaGlobal), U8(0), U8(5), B(Star), R(1), - /* 38 E> */ B(LdaNamedProperty), R(1), U8(1), U8(7), + /* 39 E> */ B(LdaNamedProperty), R(1), U8(1), U8(7), B(Star), R(0), - B(CreateArrayLiteral), U8(2), U8(9), U8(17), + B(CreateArrayLiteral), U8(2), U8(9), U8(37), B(Star), R(2), /* 39 E> */ B(CallWithSpread), R(0), R(1), U8(2), B(LdaUndefined), @@ -43,11 +43,11 @@ bytecodes: [ /* 30 E> */ B(StackCheck), /* 34 S> */ B(LdaGlobal), U8(0), U8(5), B(Star), R(1), - /* 38 E> */ B(LdaNamedProperty), R(1), U8(1), U8(7), + /* 39 E> */ B(LdaNamedProperty), R(1), U8(1), U8(7), B(Star), R(0), B(LdaZero), B(Star), R(2), - B(CreateArrayLiteral), U8(2), U8(9), U8(17), + B(CreateArrayLiteral), U8(2), U8(9), U8(37), B(Star), R(3), /* 39 E> */ B(CallWithSpread), R(0), R(1), U8(3), B(LdaUndefined), @@ -78,15 +78,15 @@ bytecodes: [ B(Star), R(2), B(LdaUndefined), B(Star), R(4), - B(CreateArrayLiteral), U8(2), U8(7), U8(17), + B(CreateArrayLiteral), U8(2), U8(7), U8(37), B(Star), R(5), B(LdaUndefined), B(Star), R(6), - B(CreateArrayLiteral), U8(3), U8(8), U8(17), + B(CreateArrayLiteral), U8(3), U8(8), U8(37), B(Star), R(7), B(CallJSRuntime), U8(%spread_iterable), R(6), U8(2), B(Star), R(6), - B(CreateArrayLiteral), U8(4), U8(9), U8(17), + B(CreateArrayLiteral), U8(4), U8(9), U8(37), B(Star), R(7), B(CallJSRuntime), U8(%spread_arguments), R(4), U8(4), B(Star), R(4), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallGlobal.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallGlobal.golden index fa0a905e6f..bc87ea8638 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallGlobal.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallGlobal.golden @@ -20,7 +20,7 @@ bytecodes: [ /* 32 S> */ B(LdaGlobal), U8(0), U8(5), B(Star), R(0), /* 39 E> */ B(CallUndefinedReceiver0), R(0), U8(3), - /* 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(3), - /* 58 S> */ B(Return), + /* 57 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["t"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallLookupSlot.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallLookupSlot.golden index 3f188e1703..697255129c 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallLookupSlot.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallLookupSlot.golden @@ -11,7 +11,7 @@ snippet: " " frame size: 9 parameter count: 1 -bytecode array length: 73 +bytecode array length: 74 bytecodes: [ B(CreateFunctionContext), U8(3), B(PushContext), R(0), @@ -23,7 +23,7 @@ bytecodes: [ B(StaCurrentContextSlot), U8(5), /* 30 E> */ B(StackCheck), /* 34 S> */ B(CreateClosure), U8(0), U8(3), U8(2), - /* 36 E> */ B(StaLookupSlotSloppy), U8(1), + /* 36 E> */ B(StaLookupSlot), U8(1), U8(0), /* 52 S> */ B(LdaLookupGlobalSlot), U8(2), U8(6), U8(1), B(Star), R(1), B(LdaConstant), U8(3), @@ -43,7 +43,7 @@ bytecodes: [ /* 62 S> */ B(LdaLookupGlobalSlot), U8(1), U8(10), U8(1), B(Star), R(1), /* 69 E> */ B(CallUndefinedReceiver0), R(1), U8(8), - /* 74 S> */ B(Return), + /* 73 S> */ B(Return), ] constant pool: [ SHARED_FUNCTION_INFO_TYPE, diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallNew.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallNew.golden index 988efb4554..5dfe3080e9 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallNew.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallNew.golden @@ -20,7 +20,7 @@ bytecodes: [ /* 50 S> */ B(LdaGlobal), U8(0), U8(5), B(Star), R(0), /* 57 E> */ B(Construct), R(0), R(0), U8(0), U8(3), - /* 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(3), - /* 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(3), - /* 130 S> */ B(Return), + /* 129 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["bar"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallRuntime.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallRuntime.golden index 3741fd6a23..97ab489516 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallRuntime.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallRuntime.golden @@ -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: [ ] @@ -77,10 +77,10 @@ bytecodes: [ /* 10 E> */ B(StackCheck), /* 15 S> */ B(LdaUndefined), B(Star), R(0), - B(CreateArrayLiteral), U8(0), U8(3), U8(17), + B(CreateArrayLiteral), U8(0), U8(3), 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, diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden index 49996b8fc3..929d103110 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassAndSuperClass.golden @@ -32,11 +32,11 @@ bytecodes: [ B(LdaConstant), U8(1), B(Star), R(5), B(Mov), R(this), R(3), - B(CallRuntime), U16(Runtime::kLoadFromSuper), R(3), U8(3), + /* 117 E> */ B(CallRuntime), U16(Runtime::kLoadFromSuper), R(3), U8(3), B(Star), R(1), /* 117 E> */ B(CallAnyReceiver), R(1), R(this), U8(1), U8(3), /* 126 E> */ B(AddSmi), I8(1), U8(9), - /* 131 S> */ B(Return), + /* 130 S> */ B(Return), ] constant pool: [ SYMBOL_TYPE, @@ -81,8 +81,8 @@ bytecodes: [ B(LdaConstant), U8(1), B(Star), R(3), B(Mov), R(this), R(1), - B(CallRuntime), U16(Runtime::kLoadFromSuper), R(1), U8(3), - /* 159 S> */ B(Return), + /* 156 E> */ B(CallRuntime), U16(Runtime::kLoadFromSuper), R(1), U8(3), + /* 158 S> */ B(Return), ] constant pool: [ SYMBOL_TYPE, @@ -106,11 +106,11 @@ snippet: " " frame size: 4 parameter count: 1 -bytecode array length: 67 +bytecode array length: 45 bytecodes: [ B(Mov), R(closure), R(1), B(Mov), R(new_target), R(0), - B(Ldar), R(new_target), + B(Ldar), R(0), /* 113 E> */ B(StackCheck), /* 118 S> */ B(Ldar), R(1), B(GetSuperConstructor), R(2), @@ -120,19 +120,14 @@ bytecodes: [ /* 118 E> */ B(Construct), R(2), R(3), U8(1), U8(3), B(Star), R(2), B(Ldar), R(this), - B(JumpIfNotHole), U8(4), - B(Jump), U8(7), - /* 118 E> */ B(CallRuntime), U16(Runtime::kThrowSuperAlreadyCalledError), R(0), U8(0), + /* 118 E> */ B(ThrowSuperAlreadyCalledIfNotHole), B(Mov), R(2), R(this), /* 128 S> */ B(Ldar), R(this), - B(JumpIfNotHole), U8(7), - B(CallRuntime), U16(Runtime::kThrowSuperNotCalled), R(0), U8(0), - B(Star), R(2), + B(ThrowSuperNotCalledIfHole), B(LdaSmi), I8(2), /* 136 E> */ B(StaNamedPropertyStrict), R(2), U8(0), U8(5), B(Ldar), R(this), - B(JumpIfNotHole), U8(7), - B(CallRuntime), U16(Runtime::kThrowSuperNotCalled), R(0), U8(0), + B(ThrowSuperNotCalledIfHole), /* 141 S> */ B(Return), ] constant pool: [ @@ -156,11 +151,11 @@ snippet: " " frame size: 3 parameter count: 1 -bytecode array length: 63 +bytecode array length: 41 bytecodes: [ B(Mov), R(closure), R(1), B(Mov), R(new_target), R(0), - B(Ldar), R(new_target), + B(Ldar), R(0), /* 112 E> */ B(StackCheck), /* 117 S> */ B(Ldar), R(1), B(GetSuperConstructor), R(2), @@ -168,19 +163,14 @@ bytecodes: [ /* 117 E> */ B(Construct), R(2), R(0), U8(0), U8(3), B(Star), R(2), B(Ldar), R(this), - B(JumpIfNotHole), U8(4), - B(Jump), U8(7), - /* 117 E> */ B(CallRuntime), U16(Runtime::kThrowSuperAlreadyCalledError), R(0), U8(0), + /* 117 E> */ B(ThrowSuperAlreadyCalledIfNotHole), B(Mov), R(2), R(this), /* 126 S> */ B(Ldar), R(this), - B(JumpIfNotHole), U8(7), - B(CallRuntime), U16(Runtime::kThrowSuperNotCalled), R(0), U8(0), - B(Star), R(2), + B(ThrowSuperNotCalledIfHole), B(LdaSmi), I8(2), /* 134 E> */ B(StaNamedPropertyStrict), R(2), U8(0), U8(5), B(Ldar), R(this), - B(JumpIfNotHole), U8(7), - B(CallRuntime), U16(Runtime::kThrowSuperNotCalled), R(0), U8(0), + B(ThrowSuperNotCalledIfHole), /* 139 S> */ B(Return), ] constant pool: [ diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden index ba739ca212..81f1e901c8 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden @@ -171,7 +171,7 @@ snippet: " " frame size: 8 parameter count: 1 -bytecode array length: 56 +bytecode array length: 55 bytecodes: [ B(CreateFunctionContext), U8(1), B(PushContext), R(2), @@ -193,9 +193,8 @@ bytecodes: [ B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1), B(Star), R(0), B(Star), R(1), - /* 87 S> */ B(Nop), - /* 94 E> */ B(Construct), R(1), R(0), U8(0), U8(4), - /* 103 S> */ B(Return), + /* 94 S> */ B(Construct), R(1), R(0), U8(0), U8(4), + /* 102 S> */ B(Return), ] constant pool: [ SHARED_FUNCTION_INFO_TYPE, diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CompareNil.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CompareNil.golden index 82c42d0290..da02731ddf 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CompareNil.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CompareNil.golden @@ -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), ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CompareTypeOf.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CompareTypeOf.golden index f2295a79a9..41108b12c8 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CompareTypeOf.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CompareTypeOf.golden @@ -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: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden index 3546d96f5c..b75b326103 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden @@ -56,7 +56,7 @@ parameter count: 1 bytecode array length: 22 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(1), + /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(1), B(Mov), R(1), R(0), /* 54 S> */ B(LdaNamedProperty), R(1), U8(1), U8(4), B(MulSmi), I8(2), U8(6), @@ -80,7 +80,7 @@ parameter count: 1 bytecode array length: 25 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(1), + /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(1), B(Mov), R(1), R(0), /* 52 S> */ B(LdaSmi), I8(1), B(Star), R(2), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/Conditional.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/Conditional.golden index 42af60e152..63ea1ca01c 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/Conditional.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/Conditional.golden @@ -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: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ConstVariable.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ConstVariable.golden index 77f8da1fa5..86d9b5b2ec 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ConstVariable.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ConstVariable.golden @@ -30,13 +30,12 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 7 +bytecode array length: 6 bytecodes: [ /* 30 E> */ B(StackCheck), /* 44 S> */ B(LdaSmi), I8(10), B(Star), R(0), - /* 48 S> */ B(Nop), - /* 58 S> */ B(Return), + /* 57 S> */ B(Return), ] constant pool: [ ] @@ -47,20 +46,17 @@ handlers: [ snippet: " const x = ( x = 20); " -frame size: 3 +frame size: 2 parameter count: 1 -bytecode array length: 30 +bytecode array length: 21 bytecodes: [ B(LdaTheHole), B(Star), R(0), /* 30 E> */ B(StackCheck), - /* 48 S> */ B(LdaSmi), I8(20), + /* 44 S> */ B(LdaSmi), I8(20), B(Star), R(1), B(Ldar), R(0), - B(JumpIfNotHole), U8(11), - B(LdaConstant), U8(0), - B(Star), R(2), - /* 48 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), + /* 48 E> */ B(ThrowReferenceErrorIfHole), U8(0), B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0), B(Star), R(0), B(LdaUndefined), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ConstVariableContextSlot.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ConstVariableContextSlot.golden index 68562f6539..0e41ee147b 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ConstVariableContextSlot.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ConstVariableContextSlot.golden @@ -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, @@ -61,9 +61,9 @@ handlers: [ snippet: " const x = (x = 20); function f1() {return x;} " -frame size: 4 +frame size: 3 parameter count: 1 -bytecode array length: 40 +bytecode array length: 31 bytecodes: [ B(CreateFunctionContext), U8(1), B(PushContext), R(1), @@ -72,15 +72,12 @@ bytecodes: [ B(CreateClosure), U8(0), U8(3), U8(2), B(Star), R(0), /* 30 E> */ B(StackCheck), - /* 47 S> */ B(LdaSmi), I8(20), + /* 44 S> */ B(LdaSmi), I8(20), B(Star), R(2), B(LdaCurrentContextSlot), U8(4), - B(JumpIfNotHole), U8(11), - B(LdaConstant), U8(1), - B(Star), R(3), - /* 47 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), + /* 47 E> */ B(ThrowReferenceErrorIfHole), U8(1), B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0), - /* 47 E> */ B(StaCurrentContextSlot), U8(4), + /* 44 E> */ B(StaCurrentContextSlot), U8(4), B(LdaUndefined), /* 80 S> */ B(Return), ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ContextParameters.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ContextParameters.golden index 452e470a46..113ece821e 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ContextParameters.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ContextParameters.golden @@ -21,7 +21,7 @@ bytecodes: [ B(StaCurrentContextSlot), U8(4), /* 10 E> */ B(StackCheck), /* 19 S> */ B(CreateClosure), U8(0), U8(3), 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(3), 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(3), 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(3), U8(2), - /* 65 S> */ B(Return), + /* 64 S> */ B(Return), ] constant pool: [ SHARED_FUNCTION_INFO_TYPE, diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ContextVariables.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ContextVariables.golden index f674459590..988d331c72 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ContextVariables.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ContextVariables.golden @@ -17,7 +17,7 @@ bytecodes: [ B(PushContext), R(0), /* 30 E> */ B(StackCheck), /* 41 S> */ B(CreateClosure), U8(0), U8(3), 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(3), 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(3), 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(3), /* 68 S> */ B(LdaCurrentContextSlot), U8(4), - /* 78 S> */ B(Return), + /* 77 S> */ B(Return), ] constant pool: [ SHARED_FUNCTION_INFO_TYPE, @@ -102,7 +102,7 @@ snippet: " " frame size: 2 parameter count: 1 -bytecode array length: 32 +bytecode array length: 30 bytecodes: [ B(CreateFunctionContext), U8(1), B(PushContext), R(0), @@ -119,8 +119,7 @@ bytecodes: [ /* 69 S> */ B(LdaSmi), I8(2), /* 69 E> */ B(StaCurrentContextSlot), U8(4), /* 72 S> */ B(CreateClosure), U8(1), U8(3), U8(2), - B(PopContext), R(0), - /* 104 S> */ B(Return), + /* 101 S> */ B(Return), ] constant pool: [ FIXED_ARRAY_TYPE, @@ -905,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"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CountOperators.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CountOperators.golden index 6173d3fc36..0f9efcfdd2 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CountOperators.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CountOperators.golden @@ -18,7 +18,7 @@ bytecodes: [ B(Star), R(0), /* 45 S> */ B(Inc), U8(3), B(Star), R(0), - /* 57 S> */ B(Return), + /* 56 S> */ B(Return), ] constant pool: [ ] @@ -41,7 +41,7 @@ bytecodes: [ B(Inc), U8(3), 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(3), B(Star), R(0), - /* 57 S> */ B(Return), + /* 56 S> */ B(Return), ] constant pool: [ ] @@ -84,7 +84,7 @@ bytecodes: [ B(Dec), U8(3), B(Star), R(0), B(Ldar), R(1), - /* 57 S> */ B(Return), + /* 56 S> */ B(Return), ] constant pool: [ ] @@ -100,7 +100,7 @@ parameter count: 1 bytecode array length: 27 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(1), + /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(1), B(Mov), R(1), R(0), /* 54 S> */ B(LdaNamedProperty), R(1), U8(1), U8(4), B(ToNumber), R(2), U8(8), @@ -108,7 +108,7 @@ bytecodes: [ B(Inc), U8(8), /* 66 E> */ B(StaNamedPropertySloppy), R(1), U8(1), U8(6), B(Ldar), R(2), - /* 70 S> */ B(Return), + /* 69 S> */ B(Return), ] constant pool: [ FIXED_ARRAY_TYPE, @@ -126,12 +126,12 @@ parameter count: 1 bytecode array length: 20 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(1), + /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(1), B(Mov), R(1), R(0), /* 54 S> */ B(LdaNamedProperty), R(1), U8(1), U8(4), B(Dec), U8(8), /* 65 E> */ B(StaNamedPropertySloppy), R(1), U8(1), U8(6), - /* 70 S> */ B(Return), + /* 69 S> */ B(Return), ] constant pool: [ FIXED_ARRAY_TYPE, @@ -151,7 +151,7 @@ bytecodes: [ /* 30 E> */ B(StackCheck), /* 45 S> */ B(LdaConstant), U8(0), B(Star), R(0), - /* 60 S> */ B(CreateObjectLiteral), U8(1), U8(3), U8(1), R(2), + /* 60 S> */ B(CreateObjectLiteral), U8(1), U8(3), U8(41), R(2), B(Mov), R(2), R(1), /* 72 S> */ B(Ldar), R(0), /* 81 E> */ B(LdaKeyedProperty), R(2), U8(4), @@ -160,7 +160,7 @@ bytecodes: [ B(Dec), U8(8), /* 86 E> */ B(StaKeyedPropertySloppy), R(2), R(0), U8(6), B(Ldar), R(4), - /* 90 S> */ B(Return), + /* 89 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["var"], @@ -180,13 +180,13 @@ bytecodes: [ /* 30 E> */ B(StackCheck), /* 45 S> */ B(LdaConstant), U8(0), B(Star), R(0), - /* 60 S> */ B(CreateObjectLiteral), U8(1), U8(3), U8(1), R(2), + /* 60 S> */ B(CreateObjectLiteral), U8(1), U8(3), U8(41), R(2), B(Mov), R(2), R(1), /* 72 S> */ B(Ldar), R(0), /* 83 E> */ B(LdaKeyedProperty), R(2), U8(4), B(Inc), U8(8), /* 87 E> */ B(StaKeyedPropertySloppy), R(2), R(0), U8(6), - /* 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(4), /* 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(4), /* 86 E> */ B(StaCurrentContextSlot), U8(4), B(Ldar), R(2), - /* 90 S> */ B(Return), + /* 89 S> */ B(Return), ] constant pool: [ SHARED_FUNCTION_INFO_TYPE, @@ -261,7 +261,7 @@ bytecodes: [ /* 30 E> */ B(StackCheck), /* 44 S> */ B(LdaSmi), I8(1), B(Star), R(0), - /* 55 S> */ B(CreateArrayLiteral), U8(0), U8(3), U8(17), + /* 55 S> */ B(CreateArrayLiteral), U8(0), U8(3), U8(37), B(Star), R(1), /* 63 S> */ B(Ldar), R(0), B(ToNumber), R(3), U8(4), @@ -270,7 +270,7 @@ bytecodes: [ B(Star), R(0), B(LdaSmi), I8(2), /* 79 E> */ B(StaKeyedPropertySloppy), R(1), R(3), U8(5), - /* 84 S> */ B(Return), + /* 83 S> */ B(Return), ] constant pool: [ TUPLE2_TYPE, diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CreateArguments.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CreateArguments.golden index 53b25e5e84..b865133a7d 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CreateArguments.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CreateArguments.golden @@ -13,13 +13,12 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 6 +bytecode array length: 5 bytecodes: [ B(CreateMappedArguments), B(Star), R(0), /* 10 E> */ B(StackCheck), - /* 15 S> */ B(Nop), - /* 33 S> */ B(Return), + /* 32 S> */ B(Return), ] constant pool: [ ] @@ -40,7 +39,7 @@ bytecodes: [ /* 10 E> */ B(StackCheck), /* 15 S> */ B(LdaZero), /* 31 E> */ B(LdaKeyedProperty), R(0), U8(3), - /* 36 S> */ B(Return), + /* 35 S> */ B(Return), ] constant pool: [ ] @@ -54,13 +53,12 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 6 +bytecode array length: 5 bytecodes: [ B(CreateUnmappedArguments), B(Star), R(0), /* 10 E> */ B(StackCheck), - /* 29 S> */ B(Nop), - /* 47 S> */ B(Return), + /* 46 S> */ B(Return), ] constant pool: [ ] @@ -85,7 +83,7 @@ bytecodes: [ /* 10 E> */ B(StackCheck), /* 16 S> */ B(LdaZero), /* 32 E> */ B(LdaKeyedProperty), R(0), U8(3), - /* 37 S> */ B(Return), + /* 36 S> */ B(Return), ] constant pool: [ ] @@ -99,7 +97,7 @@ snippet: " " frame size: 2 parameter count: 4 -bytecode array length: 22 +bytecode array length: 21 bytecodes: [ B(CreateFunctionContext), U8(3), B(PushContext), R(1), @@ -112,8 +110,7 @@ bytecodes: [ B(CreateMappedArguments), B(Star), R(0), /* 10 E> */ B(StackCheck), - /* 22 S> */ B(Nop), - /* 40 S> */ B(Return), + /* 39 S> */ B(Return), ] constant pool: [ ] @@ -127,13 +124,12 @@ snippet: " " frame size: 1 parameter count: 4 -bytecode array length: 6 +bytecode array length: 5 bytecodes: [ B(CreateUnmappedArguments), B(Star), R(0), /* 10 E> */ B(StackCheck), - /* 36 S> */ B(Nop), - /* 54 S> */ B(Return), + /* 53 S> */ B(Return), ] constant pool: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CreateRestParameter.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CreateRestParameter.golden index 6e010af912..185b8b7d9d 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CreateRestParameter.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CreateRestParameter.golden @@ -13,14 +13,13 @@ snippet: " " frame size: 2 parameter count: 1 -bytecode array length: 8 +bytecode array length: 7 bytecodes: [ B(CreateRestParameter), B(Star), R(0), /* 10 E> */ B(StackCheck), B(Star), R(1), - /* 26 S> */ B(Nop), - /* 43 S> */ B(Return), + /* 42 S> */ B(Return), ] constant pool: [ ] @@ -42,7 +41,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 +64,7 @@ bytecodes: [ B(Mov), R(0), R(2), /* 29 S> */ B(LdaZero), /* 44 E> */ B(LdaKeyedProperty), R(2), U8(3), - /* 49 S> */ B(Return), + /* 48 S> */ B(Return), ] constant pool: [ ] @@ -94,7 +93,7 @@ bytecodes: [ B(LdaZero), /* 59 E> */ B(LdaKeyedProperty), R(3), U8(5), /* 48 E> */ B(Add), R(4), U8(7), - /* 64 S> */ B(Return), + /* 63 S> */ B(Return), ] constant pool: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/DeadCodeRemoval.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/DeadCodeRemoval.golden index 7e6f40a3b6..e164e29ab9 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/DeadCodeRemoval.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/DeadCodeRemoval.golden @@ -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: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/DeclareGlobals.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/DeclareGlobals.golden index dafe4f64aa..b38dcd4361 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/DeclareGlobals.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/DeclareGlobals.golden @@ -12,7 +12,7 @@ snippet: " " frame size: 4 parameter count: 1 -bytecode array length: 34 +bytecode array length: 23 bytecodes: [ B(LdaConstant), U8(0), B(Star), R(1), @@ -21,13 +21,8 @@ bytecodes: [ B(Mov), R(closure), R(3), B(CallRuntime), U16(Runtime::kDeclareGlobalsForInterpreter), R(1), U8(3), /* 0 E> */ B(StackCheck), - /* 8 S> */ B(LdaConstant), U8(1), - B(Star), R(1), - B(LdaZero), - B(Star), R(2), - B(LdaSmi), I8(1), - B(Star), R(3), - B(CallRuntime), U16(Runtime::kInitializeVarGlobal), R(1), U8(3), + /* 8 S> */ B(LdaSmi), I8(1), + /* 8 E> */ B(StaGlobalSloppy), U8(1), U8(5), B(LdaUndefined), /* 10 S> */ B(Return), ] @@ -69,7 +64,7 @@ snippet: " " frame size: 4 parameter count: 1 -bytecode array length: 40 +bytecode array length: 29 bytecodes: [ B(LdaConstant), U8(0), B(Star), R(1), @@ -78,15 +73,10 @@ bytecodes: [ B(Mov), R(closure), R(3), B(CallRuntime), U16(Runtime::kDeclareGlobalsForInterpreter), R(1), U8(3), /* 0 E> */ B(StackCheck), - /* 8 S> */ B(LdaConstant), U8(1), - B(Star), R(1), - B(LdaZero), - B(Star), R(2), - B(LdaSmi), I8(1), - B(Star), R(3), - B(CallRuntime), U16(Runtime::kInitializeVarGlobal), R(1), U8(3), + /* 8 S> */ B(LdaSmi), I8(1), + /* 8 E> */ B(StaGlobalSloppy), U8(1), U8(5), /* 11 S> */ B(LdaSmi), I8(2), - /* 12 E> */ B(StaGlobalSloppy), U8(1), U8(5), + /* 12 E> */ B(StaGlobalSloppy), U8(1), U8(7), B(Star), R(0), /* 15 S> */ B(Return), ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/Delete.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/Delete.golden index 7519af381c..03f105e868 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/Delete.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/Delete.golden @@ -14,11 +14,11 @@ parameter count: 1 bytecode array length: 14 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(1), + /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(1), 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, @@ -36,11 +36,11 @@ parameter count: 1 bytecode array length: 14 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 56 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(1), + /* 56 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(1), 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, @@ -58,11 +58,11 @@ parameter count: 1 bytecode array length: 14 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(1), + /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(1), 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: [ ] @@ -103,7 +103,7 @@ bytecodes: [ B(CreateFunctionContext), U8(1), B(PushContext), R(0), /* 30 E> */ B(StackCheck), - /* 56 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(1), + /* 56 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(1), B(Ldar), R(1), /* 56 E> */ B(StaCurrentContextSlot), U8(4), /* 64 S> */ B(CreateClosure), U8(1), U8(4), U8(2), @@ -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: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/DeleteLookupSlotInEval.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/DeleteLookupSlotInEval.golden index 6869dcfa2c..587ed9b2ba 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/DeleteLookupSlotInEval.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/DeleteLookupSlotInEval.golden @@ -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"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/DoExpression.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/DoExpression.golden index 331d7eb488..b3e22ab53d 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/DoExpression.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/DoExpression.golden @@ -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: [ ] @@ -30,7 +30,7 @@ snippet: " " frame size: 3 parameter count: 1 -bytecode array length: 12 +bytecode array length: 11 bytecodes: [ /* 30 E> */ B(StackCheck), /* 55 S> */ B(LdaSmi), I8(100), @@ -38,8 +38,7 @@ bytecodes: [ /* 42 S> */ B(LdaUndefined), B(Star), R(1), B(Star), R(2), - /* 63 S> */ B(Nop), - /* 73 S> */ B(Return), + /* 72 S> */ B(Return), ] constant pool: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/Eval.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/Eval.golden index d77537933c..23dd163118 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/Eval.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/Eval.golden @@ -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(3), - /* 53 S> */ B(Return), + /* 52 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden index 0ebdd7ea95..f808b0e0bf 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden @@ -14,436 +14,312 @@ snippet: " } f(); " -frame size: 17 +frame size: 25 parameter count: 1 -bytecode array length: 946 +bytecode array length: 646 bytecodes: [ + B(Mov), R(new_target), R(11), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(11), U8(1), + B(PushContext), R(13), + B(RestoreGeneratorState), R(11), + B(Star), R(12), B(SwitchOnSmiNoFeedback), U8(0), U8(3), I8(0), - B(LdaSmi), I8(79), - B(Star), R(2), - B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), + B(LdaSmi), I8(81), + B(Star), R(13), + B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), - B(CreateFunctionContext), U8(12), - B(PushContext), R(2), - B(Mov), R(closure), R(3), - B(Mov), R(this), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), - B(StaCurrentContextSlot), U8(4), + B(Star), R(12), + B(Mov), R(closure), R(13), + B(Mov), R(this), R(14), + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(13), U8(2), + B(Star), R(2), /* 16 E> */ B(StackCheck), B(LdaUndefined), - B(Star), R(3), - B(CallJSRuntime), U8(%async_function_promise_create), R(3), U8(1), - B(StaCurrentContextSlot), U8(10), - B(Mov), R(context), R(5), - B(Mov), R(context), R(6), - B(Ldar), R(closure), - B(CreateBlockContext), U8(3), - B(PushContext), R(7), + B(Star), R(13), + B(CallJSRuntime), U8(%async_function_promise_create), R(13), U8(1), + B(Star), R(10), + B(Mov), R(2), R(11), + B(Mov), R(context), R(15), + B(Mov), R(context), R(16), B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), + B(Star), R(1), B(LdaZero), - B(StaContextSlot), R(7), U8(8), U8(0), - B(Mov), R(context), R(10), - B(Mov), R(context), R(11), - /* 43 S> */ B(CreateArrayLiteral), U8(4), U8(3), U8(17), - B(Star), R(12), - B(LdaNamedProperty), R(12), U8(5), U8(8), + B(Star), R(6), + B(Mov), R(context), R(19), + B(Mov), R(context), R(20), + /* 43 S> */ B(CreateArrayLiteral), U8(3), U8(3), U8(37), + B(Star), R(21), + B(LdaNamedProperty), R(21), U8(4), U8(8), B(JumpIfUndefined), U8(17), B(JumpIfNull), U8(15), - B(Star), R(13), - B(CallProperty0), R(13), R(12), U8(10), + B(Star), R(22), + B(CallProperty0), R(22), R(21), U8(10), B(JumpIfJSReceiver), U8(23), B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0), - B(LdaNamedProperty), R(12), U8(6), U8(4), - B(Star), R(13), - B(CallProperty0), R(13), R(12), U8(6), - B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(13), U8(1), - /* 43 E> */ B(StaContextSlot), R(7), U8(6), U8(0), - B(Ldar), R(0), - B(SwitchOnSmiNoFeedback), U8(7), U8(1), I8(0), + B(LdaNamedProperty), R(21), U8(5), U8(4), + B(Star), R(22), + B(CallProperty0), R(22), R(21), U8(6), + B(Star), R(22), + B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(22), U8(1), + B(Star), R(4), + B(Ldar), R(12), + B(SwitchOnSmiNoFeedback), U8(6), U8(1), I8(0), B(LdaSmi), I8(-2), - B(TestEqualStrictNoFeedback), R(0), + /* 43 E> */ B(TestEqualStrictNoFeedback), R(12), B(JumpIfTrue), U8(11), - B(LdaSmi), I8(79), - B(Star), R(12), - B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1), - /* 40 S> */ B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(12), - /* 40 S> */ B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(14), - B(LdaNamedProperty), R(14), U8(8), U8(14), - B(Star), R(13), - /* 40 E> */ B(CallProperty0), R(13), R(14), U8(12), - B(StaContextSlot), R(7), U8(9), U8(0), - /* 40 S> */ B(LdaUndefined), - B(Star), R(13), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(14), - B(LdaContextSlot), R(7), U8(9), U8(0), - B(Star), R(15), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(16), - B(CallJSRuntime), U8(%async_function_await_uncaught), R(13), U8(4), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(13), + B(LdaSmi), I8(81), + B(Star), R(21), + B(CallRuntime), U16(Runtime::kAbort), R(21), U8(1), + /* 40 S> */ B(LdaNamedProperty), R(4), U8(7), U8(14), + B(Star), R(21), + B(CallProperty0), R(21), R(4), U8(12), + B(Star), R(21), + B(Mov), R(11), R(22), + B(Mov), R(21), R(23), + B(Mov), R(10), R(24), + B(CallJSRuntime), U8(%async_function_await_uncaught), R(22), U8(3), + B(Star), R(21), B(LdaZero), - B(SuspendGenerator), R(12), U8(2), - B(Ldar), R(13), + B(SuspendGenerator), R(11), R(0), U8(21), + B(Ldar), R(21), /* 57 S> */ B(Return), + B(RestoreGeneratorRegisters), R(11), R(0), U8(21), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1), - B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1), - B(Star), R(14), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(28), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(19), - B(LdaTrue), - B(Star), R(16), - B(Mov), R(13), R(15), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15), U8(2), - B(Star), R(9), + B(Star), R(12), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), + B(Star), R(22), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11), U8(1), + B(Star), R(23), B(LdaZero), - B(Star), R(8), - B(Jump), U8(155), - B(Ldar), R(13), - B(ReThrow), - B(Ldar), R(13), - /* 40 E> */ B(StaContextSlot), R(7), U8(7), U8(0), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(13), U8(1), + B(TestEqualStrictNoFeedback), R(23), + B(JumpIfTrue), U8(5), + B(Ldar), R(22), + /* 40 E> */ B(ReThrow), + B(Mov), R(22), R(5), + /* 40 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(5), U8(1), B(ToBooleanLogicalNot), - B(JumpIfFalse), U8(13), - B(LdaContextSlot), R(7), U8(7), U8(0), - B(Star), R(12), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1), - B(LdaContextSlot), R(7), U8(7), U8(0), - B(Star), R(12), - B(LdaNamedProperty), R(12), U8(9), U8(16), - B(JumpIfToBooleanTrue), U8(56), - B(LdaContextSlot), R(7), U8(7), U8(0), - B(Star), R(12), - B(LdaNamedProperty), R(12), U8(10), U8(18), - B(StaContextSlot), R(7), U8(11), U8(0), + B(JumpIfFalse), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1), + B(LdaNamedProperty), R(5), U8(8), U8(16), + B(JumpIfToBooleanTrue), U8(25), + B(LdaNamedProperty), R(5), U8(9), U8(18), + B(Star), R(7), B(LdaSmi), I8(2), - B(StaContextSlot), R(7), U8(8), U8(0), - B(LdaContextSlot), R(7), U8(11), U8(0), - B(StaContextSlot), R(7), U8(5), U8(0), + B(Star), R(6), + B(Mov), R(7), R(3), /* 23 E> */ B(StackCheck), - B(Ldar), R(closure), - B(CreateBlockContext), U8(11), - B(PushContext), R(12), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(7), U8(5), U8(0), - B(StaCurrentContextSlot), U8(4), - B(PopContext), R(12), + B(Mov), R(3), R(0), B(LdaZero), - B(StaContextSlot), R(7), U8(8), U8(0), - B(JumpLoop), U8(219), I8(0), - B(Jump), U8(48), - B(Star), R(12), + B(Star), R(6), + B(JumpLoop), U8(125), I8(0), + B(Jump), U8(40), + B(Star), R(21), B(Ldar), R(closure), - B(CreateCatchContext), R(12), U8(12), U8(13), - B(Star), R(11), + B(CreateCatchContext), R(21), U8(10), U8(11), + B(Star), R(20), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(11), - B(PushContext), R(12), - B(LdaContextSlot), R(7), U8(8), U8(0), - B(Star), R(13), + B(Ldar), R(20), + B(PushContext), R(21), B(LdaSmi), I8(2), - B(TestEqualStrict), R(13), U8(20), - B(JumpIfFalse), U8(8), + B(TestEqualStrict), R(6), U8(20), + B(JumpIfFalse), U8(6), B(LdaSmi), I8(1), - B(StaContextSlot), R(7), U8(8), U8(0), + B(Star), R(6), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(13), - B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), - B(PopContext), R(12), + B(Star), R(22), + B(CallRuntime), U16(Runtime::kReThrow), R(22), U8(1), + B(PopContext), R(21), B(LdaSmi), I8(-1), - B(Star), R(8), - B(Jump), U8(8), - B(Star), R(9), - B(LdaSmi), I8(1), - B(Star), R(8), + B(Star), R(17), + B(Jump), U8(7), + B(Star), R(18), + B(LdaZero), + B(Star), R(17), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(10), - B(LdaContextSlot), R(7), U8(8), U8(0), - B(Star), R(11), + B(Star), R(19), B(LdaZero), - B(TestEqualStrict), R(11), U8(21), - B(JumpIfTrueConstant), U8(18), - B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(11), - B(LdaNamedProperty), R(11), U8(14), U8(22), - B(StaContextSlot), R(7), U8(12), U8(0), - B(LdaContextSlot), R(7), U8(12), U8(0), + B(TestEqualStrict), R(6), U8(21), + B(JumpIfTrue), U8(215), + B(LdaNamedProperty), R(4), U8(12), U8(22), + B(Star), R(8), B(TestUndetectable), B(JumpIfFalse), U8(4), - B(JumpConstant), U8(17), - B(LdaContextSlot), R(7), U8(8), U8(0), - B(Star), R(11), + B(Jump), U8(204), B(LdaSmi), I8(1), - B(TestEqualStrict), R(11), U8(25), - B(JumpIfFalse), U8(175), - B(LdaContextSlot), R(7), U8(12), U8(0), + B(TestEqualStrict), R(6), U8(25), + B(JumpIfFalse), U8(117), + B(Ldar), R(8), B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), - B(Star), R(11), - B(LdaConstant), U8(15), - B(Star), R(12), - B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2), + B(Wide), B(LdaSmi), I16(131), + B(Star), R(20), + B(LdaConstant), U8(13), + B(Star), R(21), + B(CallRuntime), U16(Runtime::kNewTypeError), R(20), U8(2), B(Throw), - B(Mov), R(context), R(11), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(12), - B(LdaContextSlot), R(7), U8(12), U8(0), - B(Star), R(13), - B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(14), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2), - B(StaContextSlot), R(7), U8(13), U8(0), - B(LdaUndefined), - B(Star), R(13), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(14), - B(LdaContextSlot), R(7), U8(13), U8(0), - B(Star), R(15), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(16), - B(CallJSRuntime), U8(%async_function_await_caught), R(13), U8(4), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(13), + B(Mov), R(context), R(20), + B(Mov), R(8), R(21), + B(Mov), R(4), R(22), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(21), U8(2), + B(Star), R(21), + B(Mov), R(11), R(22), + B(Mov), R(21), R(23), + B(Mov), R(10), R(24), + B(CallJSRuntime), U8(%async_function_await_caught), R(22), U8(3), + B(Star), R(21), B(LdaSmi), I8(1), - B(SuspendGenerator), R(12), U8(2), - B(Ldar), R(13), + B(SuspendGenerator), R(11), R(0), U8(21), + B(Ldar), R(21), /* 57 S> */ B(Return), + B(RestoreGeneratorRegisters), R(11), R(0), U8(21), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1), - B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1), - B(Star), R(14), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(36), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(27), - B(LdaTrue), - B(Star), R(16), - B(Mov), R(13), R(15), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15), U8(2), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(Star), R(4), + B(Star), R(12), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), + B(Star), R(22), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11), U8(1), + B(Star), R(23), B(LdaZero), - B(Star), R(3), - B(JumpConstant), U8(22), - B(Ldar), R(13), + B(TestEqualStrictNoFeedback), R(23), + B(JumpIfTrue), U8(5), + B(Ldar), R(22), B(ReThrow), - B(Ldar), R(13), + B(Ldar), R(22), B(Jump), U8(20), - B(Star), R(12), + B(Star), R(21), B(Ldar), R(closure), - B(CreateCatchContext), R(12), U8(12), U8(16), - B(Star), R(11), + B(CreateCatchContext), R(21), U8(10), U8(14), + B(Star), R(20), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(11), - B(PushContext), R(12), - B(PopContext), R(12), - B(Jump), U8(153), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(11), - B(LdaContextSlot), R(7), U8(12), U8(0), - B(Star), R(12), - B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), - B(StaContextSlot), R(7), U8(15), U8(0), - B(LdaUndefined), - B(Star), R(12), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(13), - B(LdaContextSlot), R(7), U8(15), U8(0), - B(Star), R(14), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(15), - B(CallJSRuntime), U8(%async_function_await_uncaught), R(12), U8(4), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(12), + B(Ldar), R(20), + B(PushContext), R(21), + B(PopContext), R(21), + B(Jump), U8(82), + B(Mov), R(8), R(20), + B(Mov), R(4), R(21), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(20), U8(2), + B(Star), R(20), + B(Mov), R(11), R(21), + B(Mov), R(20), R(22), + B(Mov), R(10), R(23), + B(CallJSRuntime), U8(%async_function_await_uncaught), R(21), U8(3), + B(Star), R(20), B(LdaSmi), I8(2), - B(SuspendGenerator), R(11), U8(2), - B(Ldar), R(12), + B(SuspendGenerator), R(11), R(0), U8(20), + B(Ldar), R(20), /* 57 S> */ B(Return), + B(RestoreGeneratorRegisters), R(11), R(0), U8(20), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), B(Star), R(12), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), + B(Star), R(21), B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11), U8(1), - B(Star), R(13), + B(Star), R(22), B(LdaZero), - B(TestEqualStrictNoFeedback), R(13), - B(JumpIfTrue), U8(36), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(13), - B(JumpIfTrue), U8(27), - B(LdaTrue), - B(Star), R(15), - B(Mov), R(12), R(14), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(14), U8(2), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(Star), R(4), - B(LdaZero), - B(Star), R(3), - B(Jump), U8(160), - B(Ldar), R(12), + B(TestEqualStrictNoFeedback), R(22), + B(JumpIfTrue), U8(5), + B(Ldar), R(21), B(ReThrow), - B(Ldar), R(12), - B(StaContextSlot), R(7), U8(14), U8(0), - B(LdaContextSlot), R(7), U8(14), U8(0), - B(Star), R(11), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1), + B(Mov), R(21), R(9), + B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(9), U8(1), B(JumpIfToBooleanFalse), U8(4), - B(Jump), U8(13), - B(LdaContextSlot), R(7), U8(14), U8(0), - B(Star), R(11), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1), - B(Ldar), R(10), + B(Jump), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1), + B(Ldar), R(19), B(SetPendingMessage), - B(Ldar), R(8), - B(SwitchOnSmiNoFeedback), U8(19), U8(2), I8(0), - B(Jump), U8(25), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), B(LdaZero), - B(Star), R(3), - B(Mov), R(9), R(4), - B(Jump), U8(99), - B(PopContext), R(7), - B(PopContext), R(7), - B(Ldar), R(9), + B(TestEqualStrictNoFeedback), R(17), + B(JumpIfFalse), U8(5), + B(Ldar), R(18), B(ReThrow), - B(PopContext), R(7), B(LdaUndefined), - B(Star), R(7), - B(LdaCurrentContextSlot), U8(10), - B(Star), R(8), + B(Star), R(17), B(LdaUndefined), - B(Star), R(9), - B(CallJSRuntime), U8(%promise_resolve), R(7), U8(3), - B(LdaCurrentContextSlot), U8(10), - B(Star), R(4), + B(Star), R(19), + B(Mov), R(10), R(18), + B(CallJSRuntime), U8(%promise_resolve), R(17), U8(3), B(LdaZero), - B(Star), R(3), - B(Jump), U8(67), - B(Jump), U8(53), - B(Star), R(7), + B(Star), R(13), + B(Mov), R(10), R(14), + B(Jump), U8(59), + B(Jump), U8(45), + B(Star), R(17), B(Ldar), R(closure), - B(CreateCatchContext), R(7), U8(12), U8(21), - B(Star), R(6), + B(CreateCatchContext), R(17), U8(10), U8(15), + B(Star), R(16), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(6), - B(PushContext), R(7), + B(Ldar), R(16), + B(PushContext), R(17), B(LdaUndefined), - B(Star), R(8), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(9), + B(Star), R(18), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(10), + B(Star), R(20), B(LdaFalse), - B(Star), R(11), - B(CallJSRuntime), U8(%promise_internal_reject), R(8), U8(4), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(PopContext), R(7), - B(PopContext), R(7), - B(Star), R(4), + B(Star), R(21), + B(Mov), R(10), R(19), + B(CallJSRuntime), U8(%promise_internal_reject), R(18), U8(4), + B(PopContext), R(17), B(LdaZero), - B(Star), R(3), + B(Star), R(13), + B(Mov), R(10), R(14), B(Jump), U8(14), B(LdaSmi), I8(-1), - B(Star), R(3), + B(Star), R(13), B(Jump), U8(8), - B(Star), R(4), + B(Star), R(14), B(LdaSmi), I8(1), - B(Star), R(3), + B(Star), R(13), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(5), + B(Star), R(15), B(LdaUndefined), - B(Star), R(6), - B(LdaCurrentContextSlot), U8(10), - B(Star), R(7), - B(CallJSRuntime), U8(%async_function_promise_release), R(6), U8(2), - B(Ldar), R(5), + B(Star), R(16), + B(Mov), R(10), R(17), + B(CallJSRuntime), U8(%async_function_promise_release), R(16), U8(2), + B(Ldar), R(15), B(SetPendingMessage), - B(Ldar), R(3), - B(SwitchOnSmiNoFeedback), U8(23), U8(2), I8(0), + B(Ldar), R(13), + B(SwitchOnSmiNoFeedback), U8(16), U8(2), I8(0), B(Jump), U8(8), - B(Ldar), R(4), + B(Ldar), R(14), /* 57 S> */ B(Return), - B(Ldar), R(4), + B(Ldar), R(14), B(ReThrow), B(LdaUndefined), /* 57 S> */ B(Return), ] constant pool: [ - Smi [116], - Smi [544], - Smi [688], - FIXED_ARRAY_TYPE, + Smi [105], + Smi [375], + Smi [463], TUPLE2_TYPE, SYMBOL_TYPE, SYMBOL_TYPE, - Smi [83], + Smi [54], ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], - FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], ONE_BYTE_INTERNALIZED_STRING_TYPE [""], FIXED_ARRAY_TYPE, - Smi [339], - Smi [362], - Smi [6], - Smi [22], FIXED_ARRAY_TYPE, - Smi [304], Smi [6], Smi [9], ] handlers: [ - [60, 900, 906], - [63, 847, 849], - [80, 400, 406], - [83, 352, 354], - [493, 615, 617], + [62, 601, 607], + [65, 556, 558], + [74, 290, 296], + [77, 250, 252], + [356, 422, 424], ] --- @@ -453,461 +329,327 @@ snippet: " } f(); " -frame size: 17 +frame size: 25 parameter count: 1 -bytecode array length: 992 +bytecode array length: 678 bytecodes: [ + B(Mov), R(new_target), R(11), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(11), U8(1), + B(PushContext), R(13), + B(RestoreGeneratorState), R(11), + B(Star), R(12), B(SwitchOnSmiNoFeedback), U8(0), U8(3), I8(0), - B(LdaSmi), I8(79), - B(Star), R(2), - B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), + B(LdaSmi), I8(81), + B(Star), R(13), + B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), - B(CreateFunctionContext), U8(12), - B(PushContext), R(2), - B(Mov), R(closure), R(3), - B(Mov), R(this), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), - B(StaCurrentContextSlot), U8(4), + B(Star), R(12), + B(Mov), R(closure), R(13), + B(Mov), R(this), R(14), + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(13), U8(2), + B(Star), R(2), /* 16 E> */ B(StackCheck), B(LdaUndefined), - B(Star), R(3), - B(CallJSRuntime), U8(%async_function_promise_create), R(3), U8(1), - B(StaCurrentContextSlot), U8(10), - B(Mov), R(context), R(5), - B(Mov), R(context), R(6), - B(Ldar), R(closure), - B(CreateBlockContext), U8(3), - B(PushContext), R(7), + B(Star), R(13), + B(CallJSRuntime), U8(%async_function_promise_create), R(13), U8(1), + B(Star), R(10), + B(Mov), R(2), R(11), + B(Mov), R(context), R(15), + B(Mov), R(context), R(16), B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), + B(Star), R(1), B(LdaZero), - B(StaContextSlot), R(7), U8(8), U8(0), - B(Mov), R(context), R(10), - B(Mov), R(context), R(11), - /* 43 S> */ B(CreateArrayLiteral), U8(4), U8(3), U8(17), - B(Star), R(12), - B(LdaNamedProperty), R(12), U8(5), U8(8), + B(Star), R(6), + B(Mov), R(context), R(19), + B(Mov), R(context), R(20), + /* 43 S> */ B(CreateArrayLiteral), U8(3), U8(3), U8(37), + B(Star), R(21), + B(LdaNamedProperty), R(21), U8(4), U8(8), B(JumpIfUndefined), U8(17), B(JumpIfNull), U8(15), - B(Star), R(13), - B(CallProperty0), R(13), R(12), U8(10), + B(Star), R(22), + B(CallProperty0), R(22), R(21), U8(10), B(JumpIfJSReceiver), U8(23), B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0), - B(LdaNamedProperty), R(12), U8(6), U8(4), - B(Star), R(13), - B(CallProperty0), R(13), R(12), U8(6), - B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(13), U8(1), - /* 43 E> */ B(StaContextSlot), R(7), U8(6), U8(0), - B(Ldar), R(0), - B(SwitchOnSmiNoFeedback), U8(7), U8(1), I8(0), + B(LdaNamedProperty), R(21), U8(5), U8(4), + B(Star), R(22), + B(CallProperty0), R(22), R(21), U8(6), + B(Star), R(22), + B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(22), U8(1), + B(Star), R(4), + B(Ldar), R(12), + B(SwitchOnSmiNoFeedback), U8(6), U8(1), I8(0), B(LdaSmi), I8(-2), - B(TestEqualStrictNoFeedback), R(0), + /* 43 E> */ B(TestEqualStrictNoFeedback), R(12), B(JumpIfTrue), U8(11), - B(LdaSmi), I8(79), - B(Star), R(12), - B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1), - /* 40 S> */ B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(12), - /* 40 S> */ B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(14), - B(LdaNamedProperty), R(14), U8(8), U8(14), - B(Star), R(13), - /* 40 E> */ B(CallProperty0), R(13), R(14), U8(12), - B(StaContextSlot), R(7), U8(9), U8(0), - /* 40 S> */ B(LdaUndefined), - B(Star), R(13), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(14), - B(LdaContextSlot), R(7), U8(9), U8(0), - B(Star), R(15), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(16), - B(CallJSRuntime), U8(%async_function_await_uncaught), R(13), U8(4), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(13), + B(LdaSmi), I8(81), + B(Star), R(21), + B(CallRuntime), U16(Runtime::kAbort), R(21), U8(1), + /* 40 S> */ B(LdaNamedProperty), R(4), U8(7), U8(14), + B(Star), R(21), + B(CallProperty0), R(21), R(4), U8(12), + B(Star), R(21), + B(Mov), R(11), R(22), + B(Mov), R(21), R(23), + B(Mov), R(10), R(24), + B(CallJSRuntime), U8(%async_function_await_uncaught), R(22), U8(3), + B(Star), R(21), B(LdaZero), - B(SuspendGenerator), R(12), U8(2), - B(Ldar), R(13), + B(SuspendGenerator), R(11), R(0), U8(21), + B(Ldar), R(21), /* 68 S> */ B(Return), + B(RestoreGeneratorRegisters), R(11), R(0), U8(21), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1), - B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1), - B(Star), R(14), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(28), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(19), - B(LdaTrue), - B(Star), R(16), - B(Mov), R(13), R(15), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15), U8(2), - B(Star), R(9), + B(Star), R(12), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), + B(Star), R(22), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11), U8(1), + B(Star), R(23), B(LdaZero), - B(Star), R(8), - B(Jump), U8(167), - B(Ldar), R(13), - B(ReThrow), - B(Ldar), R(13), - /* 40 E> */ B(StaContextSlot), R(7), U8(7), U8(0), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(13), U8(1), + B(TestEqualStrictNoFeedback), R(23), + B(JumpIfTrue), U8(5), + B(Ldar), R(22), + /* 40 E> */ B(ReThrow), + B(Mov), R(22), R(5), + /* 40 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(5), U8(1), B(ToBooleanLogicalNot), - B(JumpIfFalse), U8(13), - B(LdaContextSlot), R(7), U8(7), U8(0), - B(Star), R(12), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1), - B(LdaContextSlot), R(7), U8(7), U8(0), - B(Star), R(12), - B(LdaNamedProperty), R(12), U8(9), U8(16), - B(JumpIfToBooleanTrue), U8(68), - B(LdaContextSlot), R(7), U8(7), U8(0), - B(Star), R(12), - B(LdaNamedProperty), R(12), U8(10), U8(18), - B(StaContextSlot), R(7), U8(11), U8(0), + B(JumpIfFalse), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1), + B(LdaNamedProperty), R(5), U8(8), U8(16), + B(JumpIfToBooleanTrue), U8(27), + B(LdaNamedProperty), R(5), U8(9), U8(18), + B(Star), R(7), B(LdaSmi), I8(2), - B(StaContextSlot), R(7), U8(8), U8(0), - B(LdaContextSlot), R(7), U8(11), U8(0), - B(StaContextSlot), R(7), U8(5), U8(0), + B(Star), R(6), + B(Mov), R(7), R(3), /* 23 E> */ B(StackCheck), + B(Mov), R(3), R(0), + /* 56 S> */ B(LdaZero), + B(Star), R(17), + B(Mov), R(7), R(18), + B(Jump), U8(54), + B(Jump), U8(40), + B(Star), R(21), B(Ldar), R(closure), - B(CreateBlockContext), U8(11), - B(PushContext), R(12), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(7), U8(5), U8(0), - B(StaCurrentContextSlot), U8(4), - /* 56 S> */ B(LdaImmutableCurrentContextSlot), U8(4), - B(PopContext), R(12), - B(PopContext), R(12), - B(PopContext), R(12), - B(PopContext), R(12), - B(PopContext), R(12), - B(PopContext), R(12), - B(Star), R(9), - B(LdaSmi), I8(1), - B(Star), R(8), - B(Jump), U8(62), - B(Jump), U8(48), - B(Star), R(12), - B(Ldar), R(closure), - B(CreateCatchContext), R(12), U8(12), U8(13), - B(Star), R(11), + B(CreateCatchContext), R(21), U8(10), U8(11), + B(Star), R(20), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(11), - B(PushContext), R(12), - B(LdaContextSlot), R(7), U8(8), U8(0), - B(Star), R(13), + B(Ldar), R(20), + B(PushContext), R(21), B(LdaSmi), I8(2), - B(TestEqualStrict), R(13), U8(20), - B(JumpIfFalse), U8(8), + B(TestEqualStrict), R(6), U8(20), + B(JumpIfFalse), U8(6), B(LdaSmi), I8(1), - B(StaContextSlot), R(7), U8(8), U8(0), + B(Star), R(6), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(13), - B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), - B(PopContext), R(12), + B(Star), R(22), + B(CallRuntime), U16(Runtime::kReThrow), R(22), U8(1), + B(PopContext), R(21), B(LdaSmi), I8(-1), - B(Star), R(8), + B(Star), R(17), B(Jump), U8(8), - B(Star), R(9), - B(LdaSmi), I8(2), - B(Star), R(8), + B(Star), R(18), + B(LdaSmi), I8(1), + B(Star), R(17), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(10), - B(LdaContextSlot), R(7), U8(8), U8(0), - B(Star), R(11), + B(Star), R(19), B(LdaZero), - B(TestEqualStrict), R(11), U8(21), - B(JumpIfTrueConstant), U8(18), - B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(11), - B(LdaNamedProperty), R(11), U8(14), U8(22), - B(StaContextSlot), R(7), U8(12), U8(0), - B(LdaContextSlot), R(7), U8(12), U8(0), + B(TestEqualStrict), R(6), U8(21), + B(JumpIfTrue), U8(215), + B(LdaNamedProperty), R(4), U8(12), U8(22), + B(Star), R(8), B(TestUndetectable), B(JumpIfFalse), U8(4), - B(JumpConstant), U8(17), - B(LdaContextSlot), R(7), U8(8), U8(0), - B(Star), R(11), + B(Jump), U8(204), B(LdaSmi), I8(1), - B(TestEqualStrict), R(11), U8(25), - B(JumpIfFalse), U8(175), - B(LdaContextSlot), R(7), U8(12), U8(0), + B(TestEqualStrict), R(6), U8(25), + B(JumpIfFalse), U8(117), + B(Ldar), R(8), B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), - B(Star), R(11), - B(LdaConstant), U8(15), - B(Star), R(12), - B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2), + B(Wide), B(LdaSmi), I16(131), + B(Star), R(20), + B(LdaConstant), U8(13), + B(Star), R(21), + B(CallRuntime), U16(Runtime::kNewTypeError), R(20), U8(2), B(Throw), - B(Mov), R(context), R(11), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(12), - B(LdaContextSlot), R(7), U8(12), U8(0), - B(Star), R(13), - B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(14), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2), - B(StaContextSlot), R(7), U8(13), U8(0), - B(LdaUndefined), - B(Star), R(13), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(14), - B(LdaContextSlot), R(7), U8(13), U8(0), - B(Star), R(15), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(16), - B(CallJSRuntime), U8(%async_function_await_caught), R(13), U8(4), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(13), + B(Mov), R(context), R(20), + B(Mov), R(8), R(21), + B(Mov), R(4), R(22), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(21), U8(2), + B(Star), R(21), + B(Mov), R(11), R(22), + B(Mov), R(21), R(23), + B(Mov), R(10), R(24), + B(CallJSRuntime), U8(%async_function_await_caught), R(22), U8(3), + B(Star), R(21), B(LdaSmi), I8(1), - B(SuspendGenerator), R(12), U8(2), - B(Ldar), R(13), + B(SuspendGenerator), R(11), R(0), U8(21), + B(Ldar), R(21), /* 68 S> */ B(Return), + B(RestoreGeneratorRegisters), R(11), R(0), U8(21), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1), - B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1), - B(Star), R(14), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(36), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(27), - B(LdaTrue), - B(Star), R(16), - B(Mov), R(13), R(15), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15), U8(2), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(Star), R(4), + B(Star), R(12), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), + B(Star), R(22), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11), U8(1), + B(Star), R(23), B(LdaZero), - B(Star), R(3), - B(JumpConstant), U8(23), - B(Ldar), R(13), + B(TestEqualStrictNoFeedback), R(23), + B(JumpIfTrue), U8(5), + B(Ldar), R(22), B(ReThrow), - B(Ldar), R(13), + B(Ldar), R(22), B(Jump), U8(20), - B(Star), R(12), + B(Star), R(21), B(Ldar), R(closure), - B(CreateCatchContext), R(12), U8(12), U8(16), - B(Star), R(11), + B(CreateCatchContext), R(21), U8(10), U8(14), + B(Star), R(20), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(11), - B(PushContext), R(12), - B(PopContext), R(12), - B(Jump), U8(153), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(11), - B(LdaContextSlot), R(7), U8(12), U8(0), - B(Star), R(12), - B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), - B(StaContextSlot), R(7), U8(15), U8(0), - B(LdaUndefined), - B(Star), R(12), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(13), - B(LdaContextSlot), R(7), U8(15), U8(0), - B(Star), R(14), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(15), - B(CallJSRuntime), U8(%async_function_await_uncaught), R(12), U8(4), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(12), + B(Ldar), R(20), + B(PushContext), R(21), + B(PopContext), R(21), + B(Jump), U8(82), + B(Mov), R(8), R(20), + B(Mov), R(4), R(21), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(20), U8(2), + B(Star), R(20), + B(Mov), R(11), R(21), + B(Mov), R(20), R(22), + B(Mov), R(10), R(23), + B(CallJSRuntime), U8(%async_function_await_uncaught), R(21), U8(3), + B(Star), R(20), B(LdaSmi), I8(2), - B(SuspendGenerator), R(11), U8(2), - B(Ldar), R(12), + B(SuspendGenerator), R(11), R(0), U8(20), + B(Ldar), R(20), /* 68 S> */ B(Return), + B(RestoreGeneratorRegisters), R(11), R(0), U8(20), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), B(Star), R(12), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), + B(Star), R(21), B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11), U8(1), - B(Star), R(13), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(13), - B(JumpIfTrue), U8(36), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(13), - B(JumpIfTrue), U8(27), - B(LdaTrue), - B(Star), R(15), - B(Mov), R(12), R(14), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(14), U8(2), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(Star), R(4), + B(Star), R(22), B(LdaZero), - B(Star), R(3), - B(Jump), U8(177), - B(Ldar), R(12), + B(TestEqualStrictNoFeedback), R(22), + B(JumpIfTrue), U8(5), + B(Ldar), R(21), B(ReThrow), - B(Ldar), R(12), - B(StaContextSlot), R(7), U8(14), U8(0), - B(LdaContextSlot), R(7), U8(14), U8(0), - B(Star), R(11), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1), + B(Mov), R(21), R(9), + B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(9), U8(1), B(JumpIfToBooleanFalse), U8(4), - B(Jump), U8(13), - B(LdaContextSlot), R(7), U8(14), U8(0), - B(Star), R(11), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1), - B(Ldar), R(10), + B(Jump), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1), + B(Ldar), R(19), B(SetPendingMessage), - B(Ldar), R(8), - B(SwitchOnSmiNoFeedback), U8(19), U8(3), I8(0), - B(Jump), U8(42), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), + B(Ldar), R(17), + B(SwitchOnSmiNoFeedback), U8(15), U8(2), I8(0), + B(Jump), U8(13), B(LdaZero), - B(Star), R(3), - B(Mov), R(9), R(4), - B(Jump), U8(116), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(LdaSmi), I8(1), - B(Star), R(3), - B(Mov), R(9), R(4), - B(Jump), U8(99), - B(PopContext), R(7), - B(PopContext), R(7), - B(Ldar), R(9), + B(Star), R(13), + B(Mov), R(18), R(14), + B(Jump), U8(85), + B(Ldar), R(18), B(ReThrow), - B(PopContext), R(7), B(LdaUndefined), - B(Star), R(7), - B(LdaCurrentContextSlot), U8(10), - B(Star), R(8), + B(Star), R(17), B(LdaUndefined), - B(Star), R(9), - B(CallJSRuntime), U8(%promise_resolve), R(7), U8(3), - B(LdaCurrentContextSlot), U8(10), - B(Star), R(4), - B(LdaZero), - B(Star), R(3), - B(Jump), U8(67), - B(Jump), U8(53), - B(Star), R(7), + B(Star), R(19), + B(Mov), R(10), R(18), + B(CallJSRuntime), U8(%promise_resolve), R(17), U8(3), + B(LdaSmi), I8(1), + B(Star), R(13), + B(Mov), R(10), R(14), + B(Jump), U8(60), + B(Jump), U8(46), + B(Star), R(17), B(Ldar), R(closure), - B(CreateCatchContext), R(7), U8(12), U8(22), - B(Star), R(6), + B(CreateCatchContext), R(17), U8(10), U8(17), + B(Star), R(16), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(6), - B(PushContext), R(7), + B(Ldar), R(16), + B(PushContext), R(17), B(LdaUndefined), - B(Star), R(8), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(9), + B(Star), R(18), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(10), + B(Star), R(20), B(LdaFalse), - B(Star), R(11), - B(CallJSRuntime), U8(%promise_internal_reject), R(8), U8(4), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(PopContext), R(7), - B(PopContext), R(7), - B(Star), R(4), - B(LdaZero), - B(Star), R(3), + B(Star), R(21), + B(Mov), R(10), R(19), + B(CallJSRuntime), U8(%promise_internal_reject), R(18), U8(4), + B(PopContext), R(17), + B(LdaSmi), I8(1), + B(Star), R(13), + B(Mov), R(10), R(14), B(Jump), U8(14), B(LdaSmi), I8(-1), - B(Star), R(3), + B(Star), R(13), B(Jump), U8(8), - B(Star), R(4), + B(Star), R(14), B(LdaSmi), I8(2), - B(Star), R(3), + B(Star), R(13), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(5), + B(Star), R(15), B(LdaUndefined), - B(Star), R(6), - B(LdaCurrentContextSlot), U8(10), - B(Star), R(7), - B(CallJSRuntime), U8(%async_function_promise_release), R(6), U8(2), - B(Ldar), R(5), + B(Star), R(16), + B(Mov), R(10), R(17), + B(CallJSRuntime), U8(%async_function_promise_release), R(16), U8(2), + B(Ldar), R(15), B(SetPendingMessage), - B(Ldar), R(3), - B(SwitchOnSmiNoFeedback), U8(24), U8(3), I8(0), - B(Jump), U8(25), - B(Ldar), R(4), - /* 68 S> */ B(Return), - B(LdaCurrentContextSlot), U8(10), - B(Star), R(7), + B(Ldar), R(13), + B(SwitchOnSmiNoFeedback), U8(18), U8(3), I8(0), + B(Jump), U8(24), B(LdaUndefined), - B(Star), R(6), - B(Mov), R(4), R(8), - B(CallJSRuntime), U8(%promise_resolve), R(6), U8(3), - B(Ldar), R(7), + B(Star), R(16), + B(Mov), R(10), R(17), + B(Mov), R(14), R(18), + B(CallJSRuntime), U8(%promise_resolve), R(16), U8(3), + B(Ldar), R(10), + /* 68 S> */ B(Return), + B(Ldar), R(14), /* 68 S> */ B(Return), - B(Ldar), R(4), + B(Ldar), R(14), B(ReThrow), B(LdaUndefined), /* 68 S> */ B(Return), ] constant pool: [ - Smi [116], - Smi [556], - Smi [700], - FIXED_ARRAY_TYPE, + Smi [105], + Smi [378], + Smi [466], TUPLE2_TYPE, SYMBOL_TYPE, SYMBOL_TYPE, - Smi [83], + Smi [54], ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], - FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], ONE_BYTE_INTERNALIZED_STRING_TYPE [""], FIXED_ARRAY_TYPE, - Smi [339], - Smi [362], Smi [6], - Smi [22], - Smi [39], + Smi [14], FIXED_ARRAY_TYPE, - Smi [321], Smi [6], - Smi [9], - Smi [26], + Smi [22], + Smi [25], ] handlers: [ - [60, 929, 935], - [63, 876, 878], - [80, 412, 418], - [83, 364, 366], - [505, 627, 629], + [62, 617, 623], + [65, 571, 573], + [74, 292, 298], + [77, 252, 254], + [359, 425, 427], ] --- @@ -920,452 +662,320 @@ snippet: " } f(); " -frame size: 17 +frame size: 25 parameter count: 1 -bytecode array length: 980 +bytecode array length: 664 bytecodes: [ + B(Mov), R(new_target), R(11), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(11), U8(1), + B(PushContext), R(13), + B(RestoreGeneratorState), R(11), + B(Star), R(12), B(SwitchOnSmiNoFeedback), U8(0), U8(3), I8(0), - B(LdaSmi), I8(79), - B(Star), R(2), - B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), + B(LdaSmi), I8(81), + B(Star), R(13), + B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), - B(CreateFunctionContext), U8(12), - B(PushContext), R(2), - B(Mov), R(closure), R(3), - B(Mov), R(this), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), - B(StaCurrentContextSlot), U8(4), + B(Star), R(12), + B(Mov), R(closure), R(13), + B(Mov), R(this), R(14), + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(13), U8(2), + B(Star), R(2), /* 16 E> */ B(StackCheck), B(LdaUndefined), - B(Star), R(3), - B(CallJSRuntime), U8(%async_function_promise_create), R(3), U8(1), - B(StaCurrentContextSlot), U8(10), - B(Mov), R(context), R(5), - B(Mov), R(context), R(6), - B(Ldar), R(closure), - B(CreateBlockContext), U8(3), - B(PushContext), R(7), + B(Star), R(13), + B(CallJSRuntime), U8(%async_function_promise_create), R(13), U8(1), + B(Star), R(10), + B(Mov), R(2), R(11), + B(Mov), R(context), R(15), + B(Mov), R(context), R(16), B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), + B(Star), R(1), B(LdaZero), - B(StaContextSlot), R(7), U8(8), U8(0), - B(Mov), R(context), R(10), - B(Mov), R(context), R(11), - /* 43 S> */ B(CreateArrayLiteral), U8(4), U8(3), U8(17), - B(Star), R(12), - B(LdaNamedProperty), R(12), U8(5), U8(8), + B(Star), R(6), + B(Mov), R(context), R(19), + B(Mov), R(context), R(20), + /* 43 S> */ B(CreateArrayLiteral), U8(3), U8(3), U8(37), + B(Star), R(21), + B(LdaNamedProperty), R(21), U8(4), U8(8), B(JumpIfUndefined), U8(17), B(JumpIfNull), U8(15), - B(Star), R(13), - B(CallProperty0), R(13), R(12), U8(10), + B(Star), R(22), + B(CallProperty0), R(22), R(21), U8(10), B(JumpIfJSReceiver), U8(23), B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0), - B(LdaNamedProperty), R(12), U8(6), U8(4), - B(Star), R(13), - B(CallProperty0), R(13), R(12), U8(6), - B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(13), U8(1), - /* 43 E> */ B(StaContextSlot), R(7), U8(6), U8(0), - B(Ldar), R(0), - B(SwitchOnSmiNoFeedback), U8(7), U8(1), I8(0), + B(LdaNamedProperty), R(21), U8(5), U8(4), + B(Star), R(22), + B(CallProperty0), R(22), R(21), U8(6), + B(Star), R(22), + B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(22), U8(1), + B(Star), R(4), + B(Ldar), R(12), + B(SwitchOnSmiNoFeedback), U8(6), U8(1), I8(0), B(LdaSmi), I8(-2), - B(TestEqualStrictNoFeedback), R(0), + /* 43 E> */ B(TestEqualStrictNoFeedback), R(12), B(JumpIfTrue), U8(11), - B(LdaSmi), I8(79), - B(Star), R(12), - B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1), - /* 40 S> */ B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(12), - /* 40 S> */ B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(14), - B(LdaNamedProperty), R(14), U8(8), U8(14), - B(Star), R(13), - /* 40 E> */ B(CallProperty0), R(13), R(14), U8(12), - B(StaContextSlot), R(7), U8(9), U8(0), - /* 40 S> */ B(LdaUndefined), - B(Star), R(13), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(14), - B(LdaContextSlot), R(7), U8(9), U8(0), - B(Star), R(15), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(16), - B(CallJSRuntime), U8(%async_function_await_uncaught), R(13), U8(4), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(13), + B(LdaSmi), I8(81), + B(Star), R(21), + B(CallRuntime), U16(Runtime::kAbort), R(21), U8(1), + /* 40 S> */ B(LdaNamedProperty), R(4), U8(7), U8(14), + B(Star), R(21), + B(CallProperty0), R(21), R(4), U8(12), + B(Star), R(21), + B(Mov), R(11), R(22), + B(Mov), R(21), R(23), + B(Mov), R(10), R(24), + B(CallJSRuntime), U8(%async_function_await_uncaught), R(22), U8(3), + B(Star), R(21), B(LdaZero), - B(SuspendGenerator), R(12), U8(2), - B(Ldar), R(13), + B(SuspendGenerator), R(11), R(0), U8(21), + B(Ldar), R(21), /* 114 S> */ B(Return), + B(RestoreGeneratorRegisters), R(11), R(0), U8(21), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1), - B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1), - B(Star), R(14), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(28), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(19), - B(LdaTrue), - B(Star), R(16), - B(Mov), R(13), R(15), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15), U8(2), - B(Star), R(9), + B(Star), R(12), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), + B(Star), R(22), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11), U8(1), + B(Star), R(23), B(LdaZero), - B(Star), R(8), - B(Jump), U8(189), - B(Ldar), R(13), - B(ReThrow), - B(Ldar), R(13), - /* 40 E> */ B(StaContextSlot), R(7), U8(7), U8(0), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(13), U8(1), + B(TestEqualStrictNoFeedback), R(23), + B(JumpIfTrue), U8(5), + B(Ldar), R(22), + /* 40 E> */ B(ReThrow), + B(Mov), R(22), R(5), + /* 40 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(5), U8(1), B(ToBooleanLogicalNot), - B(JumpIfFalse), U8(13), - B(LdaContextSlot), R(7), U8(7), U8(0), - B(Star), R(12), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1), - B(LdaContextSlot), R(7), U8(7), U8(0), - B(Star), R(12), - B(LdaNamedProperty), R(12), U8(9), U8(16), - B(JumpIfToBooleanTrue), U8(90), - B(LdaContextSlot), R(7), U8(7), U8(0), - B(Star), R(12), - B(LdaNamedProperty), R(12), U8(10), U8(18), - B(StaContextSlot), R(7), U8(11), U8(0), + B(JumpIfFalse), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1), + B(LdaNamedProperty), R(5), U8(8), U8(16), + B(JumpIfToBooleanTrue), U8(43), + B(LdaNamedProperty), R(5), U8(9), U8(18), + B(Star), R(7), B(LdaSmi), I8(2), - B(StaContextSlot), R(7), U8(8), U8(0), - B(LdaContextSlot), R(7), U8(11), U8(0), - B(StaContextSlot), R(7), U8(5), U8(0), + B(Star), R(6), + B(Mov), R(7), R(3), /* 23 E> */ B(StackCheck), - B(Ldar), R(closure), - B(CreateBlockContext), U8(11), - B(PushContext), R(12), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(7), U8(5), U8(0), - B(StaCurrentContextSlot), U8(4), - /* 63 S> */ B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(13), - B(LdaSmi), I8(10), - /* 69 E> */ B(TestEqual), R(13), U8(20), - B(JumpIfFalse), U8(8), - /* 76 S> */ B(PopContext), R(12), - B(PopContext), R(12), - B(Jump), U8(26), - /* 90 S> */ B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(13), - B(LdaSmi), I8(20), - /* 96 E> */ B(TestEqual), R(13), U8(21), - B(JumpIfFalse), U8(8), - /* 103 S> */ B(PopContext), R(12), - B(PopContext), R(12), - B(Jump), U8(12), - B(PopContext), R(12), + B(Mov), R(3), R(0), + /* 63 S> */ B(LdaSmi), I8(10), + /* 69 E> */ B(TestEqual), R(0), U8(20), + B(JumpIfFalse), U8(4), + /* 76 S> */ B(Jump), U8(14), + /* 90 S> */ B(LdaSmi), I8(20), + /* 96 E> */ B(TestEqual), R(0), U8(21), + B(JumpIfFalse), U8(4), + /* 103 S> */ B(Jump), U8(8), B(LdaZero), - B(StaContextSlot), R(7), U8(8), U8(0), - B(JumpLoop), U8(253), I8(0), - B(Jump), U8(48), - B(Star), R(12), + B(Star), R(6), + B(JumpLoop), U8(143), I8(0), + B(Jump), U8(40), + B(Star), R(21), B(Ldar), R(closure), - B(CreateCatchContext), R(12), U8(12), U8(13), - B(Star), R(11), + B(CreateCatchContext), R(21), U8(10), U8(11), + B(Star), R(20), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(11), - B(PushContext), R(12), - B(LdaContextSlot), R(7), U8(8), U8(0), - B(Star), R(13), + B(Ldar), R(20), + B(PushContext), R(21), B(LdaSmi), I8(2), - B(TestEqualStrict), R(13), U8(22), - B(JumpIfFalse), U8(8), + B(TestEqualStrict), R(6), U8(22), + B(JumpIfFalse), U8(6), B(LdaSmi), I8(1), - B(StaContextSlot), R(7), U8(8), U8(0), + B(Star), R(6), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(13), - B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), - B(PopContext), R(12), + B(Star), R(22), + B(CallRuntime), U16(Runtime::kReThrow), R(22), U8(1), + B(PopContext), R(21), B(LdaSmi), I8(-1), - B(Star), R(8), - B(Jump), U8(8), - B(Star), R(9), - B(LdaSmi), I8(1), - B(Star), R(8), + B(Star), R(17), + B(Jump), U8(7), + B(Star), R(18), + B(LdaZero), + B(Star), R(17), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(10), - B(LdaContextSlot), R(7), U8(8), U8(0), - B(Star), R(11), + B(Star), R(19), B(LdaZero), - B(TestEqualStrict), R(11), U8(23), - B(JumpIfTrueConstant), U8(18), - B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(11), - B(LdaNamedProperty), R(11), U8(14), U8(24), - B(StaContextSlot), R(7), U8(12), U8(0), - B(LdaContextSlot), R(7), U8(12), U8(0), + B(TestEqualStrict), R(6), U8(23), + B(JumpIfTrue), U8(215), + B(LdaNamedProperty), R(4), U8(12), U8(24), + B(Star), R(8), B(TestUndetectable), B(JumpIfFalse), U8(4), - B(JumpConstant), U8(17), - B(LdaContextSlot), R(7), U8(8), U8(0), - B(Star), R(11), + B(Jump), U8(204), B(LdaSmi), I8(1), - B(TestEqualStrict), R(11), U8(27), - B(JumpIfFalse), U8(175), - B(LdaContextSlot), R(7), U8(12), U8(0), + B(TestEqualStrict), R(6), U8(27), + B(JumpIfFalse), U8(117), + B(Ldar), R(8), B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), - B(Star), R(11), - B(LdaConstant), U8(15), - B(Star), R(12), - B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2), + B(Wide), B(LdaSmi), I16(131), + B(Star), R(20), + B(LdaConstant), U8(13), + B(Star), R(21), + B(CallRuntime), U16(Runtime::kNewTypeError), R(20), U8(2), B(Throw), - B(Mov), R(context), R(11), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(12), - B(LdaContextSlot), R(7), U8(12), U8(0), - B(Star), R(13), - B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(14), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2), - B(StaContextSlot), R(7), U8(13), U8(0), - B(LdaUndefined), - B(Star), R(13), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(14), - B(LdaContextSlot), R(7), U8(13), U8(0), - B(Star), R(15), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(16), - B(CallJSRuntime), U8(%async_function_await_caught), R(13), U8(4), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(13), + B(Mov), R(context), R(20), + B(Mov), R(8), R(21), + B(Mov), R(4), R(22), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(21), U8(2), + B(Star), R(21), + B(Mov), R(11), R(22), + B(Mov), R(21), R(23), + B(Mov), R(10), R(24), + B(CallJSRuntime), U8(%async_function_await_caught), R(22), U8(3), + B(Star), R(21), B(LdaSmi), I8(1), - B(SuspendGenerator), R(12), U8(2), - B(Ldar), R(13), + B(SuspendGenerator), R(11), R(0), U8(21), + B(Ldar), R(21), /* 114 S> */ B(Return), + B(RestoreGeneratorRegisters), R(11), R(0), U8(21), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1), - B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1), - B(Star), R(14), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(36), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(27), - B(LdaTrue), - B(Star), R(16), - B(Mov), R(13), R(15), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15), U8(2), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(Star), R(4), + B(Star), R(12), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), + B(Star), R(22), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11), U8(1), + B(Star), R(23), B(LdaZero), - B(Star), R(3), - B(JumpConstant), U8(22), - B(Ldar), R(13), + B(TestEqualStrictNoFeedback), R(23), + B(JumpIfTrue), U8(5), + B(Ldar), R(22), B(ReThrow), - B(Ldar), R(13), + B(Ldar), R(22), B(Jump), U8(20), - B(Star), R(12), + B(Star), R(21), B(Ldar), R(closure), - B(CreateCatchContext), R(12), U8(12), U8(16), - B(Star), R(11), + B(CreateCatchContext), R(21), U8(10), U8(14), + B(Star), R(20), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(11), - B(PushContext), R(12), - B(PopContext), R(12), - B(Jump), U8(153), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(11), - B(LdaContextSlot), R(7), U8(12), U8(0), - B(Star), R(12), - B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), - B(StaContextSlot), R(7), U8(15), U8(0), - B(LdaUndefined), - B(Star), R(12), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(13), - B(LdaContextSlot), R(7), U8(15), U8(0), - B(Star), R(14), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(15), - B(CallJSRuntime), U8(%async_function_await_uncaught), R(12), U8(4), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(12), + B(Ldar), R(20), + B(PushContext), R(21), + B(PopContext), R(21), + B(Jump), U8(82), + B(Mov), R(8), R(20), + B(Mov), R(4), R(21), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(20), U8(2), + B(Star), R(20), + B(Mov), R(11), R(21), + B(Mov), R(20), R(22), + B(Mov), R(10), R(23), + B(CallJSRuntime), U8(%async_function_await_uncaught), R(21), U8(3), + B(Star), R(20), B(LdaSmi), I8(2), - B(SuspendGenerator), R(11), U8(2), - B(Ldar), R(12), + B(SuspendGenerator), R(11), R(0), U8(20), + B(Ldar), R(20), /* 114 S> */ B(Return), + B(RestoreGeneratorRegisters), R(11), R(0), U8(20), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), B(Star), R(12), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), + B(Star), R(21), B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11), U8(1), - B(Star), R(13), + B(Star), R(22), B(LdaZero), - B(TestEqualStrictNoFeedback), R(13), - B(JumpIfTrue), U8(36), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(13), - B(JumpIfTrue), U8(27), - B(LdaTrue), - B(Star), R(15), - B(Mov), R(12), R(14), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(14), U8(2), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(Star), R(4), - B(LdaZero), - B(Star), R(3), - B(Jump), U8(160), - B(Ldar), R(12), + B(TestEqualStrictNoFeedback), R(22), + B(JumpIfTrue), U8(5), + B(Ldar), R(21), B(ReThrow), - B(Ldar), R(12), - B(StaContextSlot), R(7), U8(14), U8(0), - B(LdaContextSlot), R(7), U8(14), U8(0), - B(Star), R(11), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1), + B(Mov), R(21), R(9), + B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(9), U8(1), B(JumpIfToBooleanFalse), U8(4), - B(Jump), U8(13), - B(LdaContextSlot), R(7), U8(14), U8(0), - B(Star), R(11), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1), - B(Ldar), R(10), + B(Jump), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1), + B(Ldar), R(19), B(SetPendingMessage), - B(Ldar), R(8), - B(SwitchOnSmiNoFeedback), U8(19), U8(2), I8(0), - B(Jump), U8(25), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), B(LdaZero), - B(Star), R(3), - B(Mov), R(9), R(4), - B(Jump), U8(99), - B(PopContext), R(7), - B(PopContext), R(7), - B(Ldar), R(9), + B(TestEqualStrictNoFeedback), R(17), + B(JumpIfFalse), U8(5), + B(Ldar), R(18), B(ReThrow), - B(PopContext), R(7), B(LdaUndefined), - B(Star), R(7), - B(LdaCurrentContextSlot), U8(10), - B(Star), R(8), + B(Star), R(17), B(LdaUndefined), - B(Star), R(9), - B(CallJSRuntime), U8(%promise_resolve), R(7), U8(3), - B(LdaCurrentContextSlot), U8(10), - B(Star), R(4), + B(Star), R(19), + B(Mov), R(10), R(18), + B(CallJSRuntime), U8(%promise_resolve), R(17), U8(3), B(LdaZero), - B(Star), R(3), - B(Jump), U8(67), - B(Jump), U8(53), - B(Star), R(7), + B(Star), R(13), + B(Mov), R(10), R(14), + B(Jump), U8(59), + B(Jump), U8(45), + B(Star), R(17), B(Ldar), R(closure), - B(CreateCatchContext), R(7), U8(12), U8(21), - B(Star), R(6), + B(CreateCatchContext), R(17), U8(10), U8(15), + B(Star), R(16), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(6), - B(PushContext), R(7), + B(Ldar), R(16), + B(PushContext), R(17), B(LdaUndefined), - B(Star), R(8), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(9), + B(Star), R(18), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(10), + B(Star), R(20), B(LdaFalse), - B(Star), R(11), - B(CallJSRuntime), U8(%promise_internal_reject), R(8), U8(4), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(PopContext), R(7), - B(PopContext), R(7), - B(Star), R(4), + B(Star), R(21), + B(Mov), R(10), R(19), + B(CallJSRuntime), U8(%promise_internal_reject), R(18), U8(4), + B(PopContext), R(17), B(LdaZero), - B(Star), R(3), + B(Star), R(13), + B(Mov), R(10), R(14), B(Jump), U8(14), B(LdaSmi), I8(-1), - B(Star), R(3), + B(Star), R(13), B(Jump), U8(8), - B(Star), R(4), + B(Star), R(14), B(LdaSmi), I8(1), - B(Star), R(3), + B(Star), R(13), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(5), + B(Star), R(15), B(LdaUndefined), - B(Star), R(6), - B(LdaCurrentContextSlot), U8(10), - B(Star), R(7), - B(CallJSRuntime), U8(%async_function_promise_release), R(6), U8(2), - B(Ldar), R(5), + B(Star), R(16), + B(Mov), R(10), R(17), + B(CallJSRuntime), U8(%async_function_promise_release), R(16), U8(2), + B(Ldar), R(15), B(SetPendingMessage), - B(Ldar), R(3), - B(SwitchOnSmiNoFeedback), U8(23), U8(2), I8(0), + B(Ldar), R(13), + B(SwitchOnSmiNoFeedback), U8(16), U8(2), I8(0), B(Jump), U8(8), - B(Ldar), R(4), + B(Ldar), R(14), /* 114 S> */ B(Return), - B(Ldar), R(4), + B(Ldar), R(14), B(ReThrow), B(LdaUndefined), /* 114 S> */ B(Return), ] constant pool: [ - Smi [116], - Smi [578], - Smi [722], - FIXED_ARRAY_TYPE, + Smi [105], + Smi [393], + Smi [481], TUPLE2_TYPE, SYMBOL_TYPE, SYMBOL_TYPE, - Smi [83], + Smi [54], ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], - FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], ONE_BYTE_INTERNALIZED_STRING_TYPE [""], FIXED_ARRAY_TYPE, - Smi [339], - Smi [362], - Smi [6], - Smi [22], FIXED_ARRAY_TYPE, - Smi [304], Smi [6], Smi [9], ] handlers: [ - [60, 934, 940], - [63, 881, 883], - [80, 434, 440], - [83, 386, 388], - [527, 649, 651], + [62, 619, 625], + [65, 574, 576], + [74, 308, 314], + [77, 268, 270], + [374, 440, 442], ] --- @@ -1376,235 +986,195 @@ snippet: " } f(); " -frame size: 11 +frame size: 19 parameter count: 1 -bytecode array length: 508 +bytecode array length: 431 bytecodes: [ - B(CreateFunctionContext), U8(9), - B(PushContext), R(0), /* 16 E> */ B(StackCheck), B(LdaUndefined), - B(Star), R(1), - B(CallJSRuntime), U8(%async_function_promise_create), R(1), U8(1), - B(StaCurrentContextSlot), U8(12), - B(Mov), R(context), R(3), - B(Mov), R(context), R(4), - /* 31 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(5), - B(Ldar), R(5), - /* 31 E> */ B(StaCurrentContextSlot), U8(5), - B(LdaZero), - B(StaCurrentContextSlot), U8(8), - B(Mov), R(context), R(7), - B(Mov), R(context), R(8), - /* 68 S> */ B(CreateArrayLiteral), U8(1), U8(4), U8(17), B(Star), R(9), - B(LdaNamedProperty), R(9), U8(2), U8(5), - B(Star), R(10), - B(CallProperty0), R(10), R(9), U8(7), + B(CallJSRuntime), U8(%async_function_promise_create), R(9), U8(1), + B(Star), R(8), + B(Mov), R(context), R(11), + B(Mov), R(context), R(12), + /* 31 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(13), + B(Mov), R(13), R(1), + B(LdaZero), + B(Star), R(4), + B(Mov), R(context), R(15), + B(Mov), R(context), R(16), + /* 68 S> */ B(CreateArrayLiteral), U8(1), U8(4), U8(37), + B(Star), R(17), + B(LdaNamedProperty), R(17), U8(2), U8(5), + B(Star), R(18), + B(CallProperty0), R(18), R(17), U8(7), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), - /* 68 E> */ B(StaCurrentContextSlot), U8(6), - /* 65 S> */ B(LdaCurrentContextSlot), U8(6), - B(Star), R(10), - B(LdaNamedProperty), R(10), U8(3), U8(11), - B(Star), R(9), - /* 65 E> */ B(CallProperty0), R(9), R(10), U8(9), - /* 65 E> */ B(StaCurrentContextSlot), U8(7), - B(Star), R(9), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(9), U8(1), + B(Star), R(2), + /* 59 S> */ B(LdaNamedProperty), R(2), U8(3), U8(11), + B(Star), R(17), + B(CallProperty0), R(17), R(2), U8(9), + B(Star), R(3), + /* 59 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), B(ToBooleanLogicalNot), - B(JumpIfFalse), U8(11), - B(LdaCurrentContextSlot), U8(7), - B(Star), R(9), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1), - B(LdaCurrentContextSlot), U8(7), - B(Star), R(9), - B(LdaNamedProperty), R(9), U8(4), U8(13), - B(JumpIfToBooleanTrue), U8(42), - B(LdaImmutableCurrentContextSlot), U8(5), - B(Star), R(9), - B(LdaCurrentContextSlot), U8(7), - B(Star), R(10), - /* 58 E> */ B(LdaNamedProperty), R(10), U8(5), U8(15), - B(StaCurrentContextSlot), U8(9), + B(JumpIfFalse), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(3), U8(1), + B(LdaNamedProperty), R(3), U8(4), U8(13), + B(JumpIfToBooleanTrue), U8(30), + /* 58 E> */ B(LdaNamedProperty), R(3), U8(5), U8(15), + B(Star), R(5), B(LdaSmi), I8(2), - B(StaCurrentContextSlot), U8(8), - B(LdaCurrentContextSlot), U8(9), - B(StaNamedPropertySloppy), R(9), U8(6), U8(17), + B(Star), R(4), + B(Ldar), R(5), + B(StaNamedPropertySloppy), R(1), U8(6), U8(17), /* 53 E> */ B(StackCheck), - /* 79 S> */ B(LdaImmutableCurrentContextSlot), U8(5), - B(Star), R(9), - /* 87 E> */ B(LdaNamedProperty), R(9), U8(6), U8(19), - B(Star), R(6), + /* 87 S> */ B(LdaNamedProperty), R(1), U8(6), U8(19), + B(Star), R(14), B(LdaZero), - B(Star), R(5), - B(Jump), U8(62), - B(Jump), U8(48), - B(Star), R(9), + B(Star), R(13), + B(Jump), U8(54), + B(Jump), U8(40), + B(Star), R(17), B(Ldar), R(closure), - B(CreateCatchContext), R(9), U8(7), U8(8), - B(Star), R(8), + B(CreateCatchContext), R(17), U8(7), U8(8), + B(Star), R(16), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(8), - B(PushContext), R(9), - B(LdaContextSlot), R(9), U8(8), U8(0), - B(Star), R(10), + B(Ldar), R(16), + B(PushContext), R(17), B(LdaSmi), I8(2), - B(TestEqualStrict), R(10), U8(21), - B(JumpIfFalse), U8(8), + B(TestEqualStrict), R(4), U8(21), + B(JumpIfFalse), U8(6), B(LdaSmi), I8(1), - B(StaContextSlot), R(9), U8(8), U8(0), + B(Star), R(4), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(10), - B(CallRuntime), U16(Runtime::kReThrow), R(10), U8(1), - B(PopContext), R(9), + B(Star), R(18), + B(CallRuntime), U16(Runtime::kReThrow), R(18), U8(1), + B(PopContext), R(17), B(LdaSmi), I8(-1), - B(Star), R(5), + B(Star), R(13), B(Jump), U8(8), - B(Star), R(6), + B(Star), R(14), B(LdaSmi), I8(1), - B(Star), R(5), + B(Star), R(13), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(7), - B(LdaCurrentContextSlot), U8(8), - B(Star), R(8), + B(Star), R(15), B(LdaZero), - B(TestEqualStrict), R(8), U8(22), - B(JumpIfTrue), U8(126), - B(LdaCurrentContextSlot), U8(6), - B(Star), R(8), - B(LdaNamedProperty), R(8), U8(9), U8(23), - B(StaCurrentContextSlot), U8(10), - B(LdaCurrentContextSlot), U8(10), + B(TestEqualStrict), R(4), U8(22), + B(JumpIfTrue), U8(104), + B(LdaNamedProperty), R(2), U8(9), U8(23), + B(Star), R(6), B(TestUndetectable), B(JumpIfFalse), U8(4), - B(Jump), U8(109), - B(LdaCurrentContextSlot), U8(8), - B(Star), R(8), + B(Jump), U8(93), B(LdaSmi), I8(1), - B(TestEqualStrict), R(8), U8(26), - B(JumpIfFalse), U8(63), - B(LdaCurrentContextSlot), U8(10), + B(TestEqualStrict), R(4), U8(26), + B(JumpIfFalse), U8(61), + B(Ldar), R(6), B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), - B(Star), R(8), + B(Wide), B(LdaSmi), I16(131), + B(Star), R(16), B(LdaConstant), U8(10), - B(Star), R(9), - B(CallRuntime), U16(Runtime::kNewTypeError), R(8), U8(2), + B(Star), R(17), + B(CallRuntime), U16(Runtime::kNewTypeError), R(16), U8(2), B(Throw), - B(Mov), R(context), R(8), - B(LdaCurrentContextSlot), U8(10), - B(Star), R(9), - B(LdaCurrentContextSlot), U8(6), - B(Star), R(10), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(9), U8(2), + B(Mov), R(context), R(16), + B(Mov), R(6), R(17), + B(Mov), R(2), R(18), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(17), U8(2), B(Jump), U8(20), - B(Star), R(9), + B(Star), R(17), B(Ldar), R(closure), - B(CreateCatchContext), R(9), U8(7), U8(11), - B(Star), R(8), + B(CreateCatchContext), R(17), U8(7), U8(11), + B(Star), R(16), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(8), - B(PushContext), R(9), - B(PopContext), R(9), - B(Jump), U8(37), - B(LdaCurrentContextSlot), U8(10), - B(Star), R(8), - B(LdaCurrentContextSlot), U8(6), - B(Star), R(9), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(8), U8(2), - B(StaCurrentContextSlot), U8(11), - B(LdaCurrentContextSlot), U8(11), - B(Star), R(8), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(8), U8(1), + B(Ldar), R(16), + B(PushContext), R(17), + B(PopContext), R(17), + B(Jump), U8(27), + B(Mov), R(6), R(16), + B(Mov), R(2), R(17), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(16), U8(2), + B(Star), R(7), + B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(7), U8(1), B(JumpIfToBooleanFalse), U8(4), - B(Jump), U8(11), - B(LdaCurrentContextSlot), U8(11), - B(Star), R(8), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(8), U8(1), - B(Ldar), R(7), + B(Jump), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(7), U8(1), + B(Ldar), R(15), B(SetPendingMessage), - B(Ldar), R(5), + B(Ldar), R(13), B(SwitchOnSmiNoFeedback), U8(12), U8(2), I8(0), B(Jump), U8(13), B(LdaZero), - B(Star), R(1), - B(Mov), R(6), R(2), - B(Jump), U8(95), - B(Ldar), R(6), + B(Star), R(9), + B(Mov), R(14), R(10), + B(Jump), U8(85), + B(Ldar), R(14), B(ReThrow), B(LdaUndefined), - B(Star), R(5), - B(LdaCurrentContextSlot), U8(12), - B(Star), R(6), + B(Star), R(13), B(LdaUndefined), - B(Star), R(7), - B(CallJSRuntime), U8(%promise_resolve), R(5), U8(3), - B(LdaCurrentContextSlot), U8(12), - B(Star), R(2), + B(Star), R(15), + B(Mov), R(8), R(14), + B(CallJSRuntime), U8(%promise_resolve), R(13), U8(3), B(LdaSmi), I8(1), - B(Star), R(1), - B(Jump), U8(68), - B(Jump), U8(54), - B(Star), R(5), + B(Star), R(9), + B(Mov), R(8), R(10), + B(Jump), U8(60), + B(Jump), U8(46), + B(Star), R(13), B(Ldar), R(closure), - B(CreateCatchContext), R(5), U8(7), U8(14), - B(Star), R(4), + B(CreateCatchContext), R(13), U8(7), U8(14), + B(Star), R(12), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(4), - B(PushContext), R(5), + B(Ldar), R(12), + B(PushContext), R(13), B(LdaUndefined), - B(Star), R(6), - B(LdaContextSlot), R(5), U8(12), U8(0), - B(Star), R(7), + B(Star), R(14), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(8), + B(Star), R(16), B(LdaFalse), - B(Star), R(9), - B(CallJSRuntime), U8(%promise_internal_reject), R(6), U8(4), - B(LdaContextSlot), R(5), U8(12), U8(0), - B(PopContext), R(5), - B(PopContext), R(5), - B(Star), R(2), + B(Star), R(17), + B(Mov), R(8), R(15), + B(CallJSRuntime), U8(%promise_internal_reject), R(14), U8(4), + B(PopContext), R(13), B(LdaSmi), I8(1), - B(Star), R(1), + B(Star), R(9), + B(Mov), R(8), R(10), B(Jump), U8(14), B(LdaSmi), I8(-1), - B(Star), R(1), + B(Star), R(9), B(Jump), U8(8), - B(Star), R(2), + B(Star), R(10), B(LdaSmi), I8(2), - B(Star), R(1), + B(Star), R(9), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(3), + B(Star), R(11), B(LdaUndefined), - B(Star), R(4), - B(LdaCurrentContextSlot), U8(12), - B(Star), R(5), - B(CallJSRuntime), U8(%async_function_promise_release), R(4), U8(2), - B(Ldar), R(3), + B(Star), R(12), + B(Mov), R(8), R(13), + B(CallJSRuntime), U8(%async_function_promise_release), R(12), U8(2), + B(Ldar), R(11), B(SetPendingMessage), - B(Ldar), R(1), + B(Ldar), R(9), B(SwitchOnSmiNoFeedback), U8(15), U8(3), I8(0), - B(Jump), U8(25), - B(LdaCurrentContextSlot), U8(12), - B(Star), R(5), + B(Jump), U8(24), B(LdaUndefined), - B(Star), R(4), - B(Mov), R(2), R(6), - B(CallJSRuntime), U8(%promise_resolve), R(4), U8(3), - B(Ldar), R(5), + B(Star), R(12), + B(Mov), R(8), R(13), + B(Mov), R(10), R(14), + B(CallJSRuntime), U8(%promise_resolve), R(12), U8(3), + B(Ldar), R(8), /* 96 S> */ B(Return), - B(Ldar), R(2), + B(Ldar), R(10), /* 96 S> */ B(Return), - B(Ldar), R(2), + B(Ldar), R(10), B(ReThrow), B(LdaUndefined), /* 96 S> */ B(Return), @@ -1626,14 +1196,14 @@ constant pool: [ Smi [14], FIXED_ARRAY_TYPE, Smi [6], - Smi [23], - Smi [26], + Smi [22], + Smi [25], ] handlers: [ - [17, 445, 451], - [20, 391, 393], - [35, 195, 201], - [38, 147, 149], - [276, 288, 290], + [13, 370, 376], + [16, 324, 326], + [30, 156, 162], + [33, 116, 118], + [223, 233, 235], ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForIn.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForIn.golden index 21a9c5c471..60eba25c0d 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForIn.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForIn.golden @@ -63,29 +63,28 @@ snippet: " " frame size: 8 parameter count: 1 -bytecode array length: 45 +bytecode array length: 44 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaConstant), U8(0), B(Star), R(0), - /* 68 S> */ B(JumpIfUndefined), U8(38), - B(JumpIfNull), U8(36), + /* 68 S> */ B(JumpIfUndefined), U8(37), + B(JumpIfNull), U8(35), B(ToObject), R(3), B(ForInPrepare), R(3), R(4), B(LdaZero), B(Star), R(7), /* 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(JumpIfUndefined), U8(9), + B(JumpIfUndefined), U8(8), B(Star), R(1), /* 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), + B(JumpLoop), U8(22), I8(0), B(LdaUndefined), /* 85 S> */ B(Return), ] @@ -107,7 +106,7 @@ bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaZero), B(Star), R(0), - /* 59 S> */ B(CreateArrayLiteral), U8(0), U8(3), U8(17), + /* 59 S> */ B(CreateArrayLiteral), U8(0), U8(3), U8(37), B(JumpIfUndefined), U8(46), B(JumpIfNull), U8(44), B(ToObject), R(3), @@ -147,35 +146,33 @@ snippet: " " frame size: 7 parameter count: 1 -bytecode array length: 87 +bytecode array length: 85 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(1), + /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(1), B(Mov), R(1), R(0), - /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(4), U8(17), - B(JumpIfUndefined), U8(72), - B(JumpIfNull), U8(70), + /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(4), U8(37), + B(JumpIfUndefined), U8(70), + B(JumpIfNull), U8(68), B(ToObject), R(1), B(ForInPrepare), R(1), R(2), B(LdaZero), B(Star), R(5), /* 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(JumpIfUndefined), U8(43), + B(JumpIfUndefined), U8(41), B(Star), R(6), B(Ldar), R(6), /* 67 E> */ B(StaNamedPropertySloppy), R(0), U8(2), U8(13), /* 62 E> */ B(StackCheck), - /* 95 S> */ B(Nop), - /* 100 E> */ B(LdaNamedProperty), R(0), U8(2), U8(7), + /* 100 S> */ B(LdaNamedProperty), R(0), U8(2), U8(7), B(Star), R(6), B(LdaSmi), I8(10), /* 106 E> */ B(TestEqual), R(6), U8(9), B(JumpIfFalse), U8(4), - /* 113 S> */ B(Jump), U8(18), - /* 125 S> */ B(Nop), - /* 130 E> */ B(LdaNamedProperty), R(0), U8(2), U8(10), + /* 113 S> */ B(Jump), U8(17), + /* 130 S> */ B(LdaNamedProperty), R(0), U8(2), U8(10), B(Star), R(6), B(LdaSmi), I8(20), /* 136 E> */ B(TestEqual), R(6), U8(12), @@ -183,7 +180,7 @@ bytecodes: [ /* 143 S> */ B(Jump), U8(9), B(ForInStep), R(5), B(Star), R(5), - B(JumpLoop), U8(57), I8(0), + B(JumpLoop), U8(55), I8(0), B(LdaUndefined), /* 152 S> */ B(Return), ] @@ -205,9 +202,9 @@ parameter count: 1 bytecode array length: 62 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 42 S> */ B(CreateArrayLiteral), U8(0), U8(3), U8(17), + /* 42 S> */ B(CreateArrayLiteral), U8(0), U8(3), U8(37), B(Star), R(0), - /* 72 S> */ B(CreateArrayLiteral), U8(1), U8(4), U8(17), + /* 72 S> */ B(CreateArrayLiteral), U8(1), U8(4), U8(37), B(JumpIfUndefined), U8(49), B(JumpIfNull), U8(47), B(ToObject), R(1), @@ -226,7 +223,7 @@ bytecodes: [ /* 59 E> */ B(StackCheck), /* 83 S> */ B(LdaSmi), I8(3), /* 91 E> */ B(LdaKeyedProperty), R(0), U8(7), - /* 98 S> */ B(Return), + /* 95 S> */ B(Return), B(ForInStep), R(5), B(Star), R(5), B(JumpLoop), U8(34), I8(0), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOf.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOf.golden index 6f592ba4d6..f2782e482f 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOf.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOf.golden @@ -18,7 +18,7 @@ bytecodes: [ B(Star), R(4), B(Mov), R(context), R(10), B(Mov), R(context), R(11), - /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(3), U8(17), + /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(3), U8(37), B(Star), R(12), B(LdaNamedProperty), R(12), U8(1), U8(4), B(Star), R(13), @@ -26,11 +26,11 @@ bytecodes: [ B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), B(Star), R(2), - /* 45 S> */ B(LdaNamedProperty), R(2), U8(2), U8(10), + /* 43 S> */ B(LdaNamedProperty), R(2), U8(2), U8(10), B(Star), R(12), - /* 45 E> */ B(CallProperty0), R(12), R(2), U8(8), + B(CallProperty0), R(12), R(2), U8(8), B(Star), R(3), - /* 45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), + /* 43 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(7), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(3), U8(1), @@ -85,7 +85,7 @@ bytecodes: [ B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), + B(Wide), B(LdaSmi), I16(131), B(Star), R(11), B(LdaConstant), U8(8), B(Star), R(12), @@ -165,11 +165,11 @@ bytecodes: [ B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), B(Star), R(3), - /* 65 S> */ B(LdaNamedProperty), R(3), U8(2), U8(9), + /* 63 S> */ B(LdaNamedProperty), R(3), U8(2), U8(9), B(Star), R(13), - /* 65 E> */ B(CallProperty0), R(13), R(3), U8(7), + B(CallProperty0), R(13), R(3), U8(7), B(Star), R(4), - /* 65 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(4), U8(1), + /* 63 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(4), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(7), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(4), U8(1), @@ -184,7 +184,7 @@ bytecodes: [ B(Mov), R(1), R(2), /* 73 S> */ B(LdaZero), B(Star), R(9), - B(Mov), R(1), R(10), + B(Mov), R(6), R(10), B(Jump), U8(50), B(Jump), U8(36), B(Star), R(13), @@ -225,7 +225,7 @@ bytecodes: [ B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), + B(Wide), B(LdaSmi), I16(131), B(Star), R(12), B(LdaConstant), U8(8), B(Star), R(13), @@ -302,7 +302,7 @@ bytecodes: [ B(Star), R(4), B(Mov), R(context), R(10), B(Mov), R(context), R(11), - /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(3), U8(17), + /* 48 S> */ B(CreateArrayLiteral), U8(0), U8(3), U8(37), B(Star), R(12), B(LdaNamedProperty), R(12), U8(1), U8(4), B(Star), R(13), @@ -310,11 +310,11 @@ bytecodes: [ B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), B(Star), R(2), - /* 45 S> */ B(LdaNamedProperty), R(2), U8(2), U8(10), + /* 43 S> */ B(LdaNamedProperty), R(2), U8(2), U8(10), B(Star), R(12), - /* 45 E> */ B(CallProperty0), R(12), R(2), U8(8), + B(CallProperty0), R(12), R(2), U8(8), B(Star), R(3), - /* 45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), + /* 43 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(7), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(3), U8(1), @@ -377,7 +377,7 @@ bytecodes: [ B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), + B(Wide), B(LdaSmi), I16(131), B(Star), R(11), B(LdaConstant), U8(8), B(Star), R(12), @@ -441,16 +441,16 @@ snippet: " " frame size: 13 parameter count: 1 -bytecode array length: 281 +bytecode array length: 280 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(7), + /* 42 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(7), B(Mov), R(7), R(0), B(LdaZero), B(Star), R(3), B(Mov), R(context), R(9), B(Mov), R(context), R(10), - /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(4), U8(17), + /* 77 S> */ B(CreateArrayLiteral), U8(1), U8(4), U8(37), B(Star), R(11), B(LdaNamedProperty), R(11), U8(2), U8(5), B(Star), R(12), @@ -458,16 +458,16 @@ bytecodes: [ B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), B(Star), R(1), - /* 74 S> */ B(LdaNamedProperty), R(1), U8(3), U8(11), + /* 68 S> */ B(LdaNamedProperty), R(1), U8(3), U8(11), B(Star), R(11), - /* 74 E> */ B(CallProperty0), R(11), R(1), U8(9), + B(CallProperty0), R(11), R(1), U8(9), B(Star), R(2), - /* 74 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(2), U8(1), + /* 68 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(2), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(7), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(2), U8(1), 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), B(Star), R(4), B(LdaSmi), I8(2), @@ -475,8 +475,7 @@ bytecodes: [ B(Ldar), R(4), B(StaNamedPropertySloppy), R(0), U8(6), U8(17), /* 62 E> */ B(StackCheck), - /* 88 S> */ B(Nop), - /* 96 E> */ B(LdaNamedProperty), R(0), U8(6), U8(19), + /* 96 S> */ B(LdaNamedProperty), R(0), U8(6), U8(19), B(Star), R(8), B(LdaZero), B(Star), R(7), @@ -520,7 +519,7 @@ bytecodes: [ B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), + B(Wide), B(LdaSmi), I16(131), B(Star), R(10), B(LdaConstant), U8(10), B(Star), R(11), @@ -578,8 +577,8 @@ constant pool: [ Smi [9], ] handlers: [ - [15, 138, 144], - [18, 102, 104], - [205, 215, 217], + [15, 137, 143], + [18, 101, 103], + [204, 214, 216], ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden index 0b57c48309..c344f7b714 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden @@ -15,9 +15,11 @@ snippet: " " frame size: 16 parameter count: 2 -bytecode array length: 260 +bytecode array length: 263 bytecodes: [ /* 10 E> */ B(StackCheck), + B(LdaTheHole), + B(Star), R(2), B(LdaZero), B(Star), R(6), B(Mov), R(context), R(12), @@ -29,11 +31,11 @@ bytecodes: [ B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), B(Star), R(4), - /* 31 S> */ B(LdaNamedProperty), R(4), U8(1), U8(9), + /* 29 S> */ B(LdaNamedProperty), R(4), U8(1), U8(9), B(Star), R(14), - /* 31 E> */ B(CallProperty0), R(14), R(4), U8(7), + B(CallProperty0), R(14), R(4), U8(7), B(Star), R(5), - /* 31 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(5), U8(1), + /* 29 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(5), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(7), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1), @@ -89,7 +91,7 @@ bytecodes: [ B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), + B(Wide), B(LdaSmi), I16(131), B(Star), R(13), B(LdaConstant), U8(7), B(Star), R(14), @@ -140,9 +142,9 @@ constant pool: [ FIXED_ARRAY_TYPE, ] handlers: [ - [7, 124, 130], - [10, 88, 90], - [190, 200, 202], + [10, 127, 133], + [13, 91, 93], + [193, 203, 205], ] --- @@ -154,7 +156,7 @@ snippet: " " frame size: 22 parameter count: 2 -bytecode array length: 345 +bytecode array length: 343 bytecodes: [ B(CreateFunctionContext), U8(4), B(PushContext), R(7), @@ -184,11 +186,11 @@ bytecodes: [ B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), B(Star), R(1), - /* 31 S> */ B(LdaNamedProperty), R(1), U8(2), U8(9), + /* 29 S> */ B(LdaNamedProperty), R(1), U8(2), U8(9), B(Star), R(13), - /* 31 E> */ B(CallProperty0), R(13), R(1), U8(7), + B(CallProperty0), R(13), R(1), U8(7), B(Star), R(2), - /* 31 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(2), U8(1), + /* 29 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(2), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(7), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(2), U8(1), @@ -266,7 +268,7 @@ bytecodes: [ B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), + B(Wide), B(LdaSmi), I16(131), B(Star), R(12), B(LdaConstant), U8(11), B(Star), R(13), @@ -299,8 +301,7 @@ bytecodes: [ B(SetPendingMessage), B(LdaZero), B(TestEqualStrictNoFeedback), R(9), - B(JumpIfFalse), U8(7), - B(PopContext), R(7), + B(JumpIfFalse), U8(5), B(Ldar), R(10), B(ReThrow), B(PopContext), R(8), @@ -337,9 +338,11 @@ snippet: " " frame size: 14 parameter count: 2 -bytecode array length: 278 +bytecode array length: 281 bytecodes: [ /* 10 E> */ B(StackCheck), + B(LdaTheHole), + B(Star), R(0), B(LdaZero), B(Star), R(4), B(Mov), R(context), R(10), @@ -351,11 +354,11 @@ bytecodes: [ B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), B(Star), R(2), - /* 31 S> */ B(LdaNamedProperty), R(2), U8(1), U8(9), + /* 29 S> */ B(LdaNamedProperty), R(2), U8(1), U8(9), B(Star), R(12), - /* 31 E> */ B(CallProperty0), R(12), R(2), U8(7), + B(CallProperty0), R(12), R(2), U8(7), B(Star), R(3), - /* 31 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), + /* 29 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(3), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(7), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(3), U8(1), @@ -420,7 +423,7 @@ bytecodes: [ B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), + B(Wide), B(LdaSmi), I16(131), B(Star), R(11), B(LdaConstant), U8(9), B(Star), R(12), @@ -473,9 +476,9 @@ constant pool: [ FIXED_ARRAY_TYPE, ] handlers: [ - [7, 142, 148], - [10, 106, 108], - [208, 218, 220], + [10, 145, 151], + [13, 109, 111], + [211, 221, 223], ] --- @@ -487,9 +490,13 @@ snippet: " " frame size: 19 parameter count: 2 -bytecode array length: 298 +bytecode array length: 304 bytecodes: [ /* 10 E> */ B(StackCheck), + B(LdaTheHole), + B(Star), R(3), + B(LdaTheHole), + B(Star), R(4), B(LdaZero), B(Star), R(9), B(Mov), R(context), R(15), @@ -501,11 +508,11 @@ bytecodes: [ B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), B(Star), R(7), - /* 38 S> */ B(LdaNamedProperty), R(7), U8(1), U8(9), + /* 36 S> */ B(LdaNamedProperty), R(7), U8(1), U8(9), B(Star), R(17), - /* 38 E> */ B(CallProperty0), R(17), R(7), U8(7), + B(CallProperty0), R(17), R(7), U8(7), B(Star), R(8), - /* 38 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(8), U8(1), + /* 36 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(8), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(7), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(8), U8(1), @@ -518,21 +525,21 @@ bytecodes: [ B(Mov), R(10), R(5), /* 20 E> */ B(StackCheck), B(Mov), R(5), R(6), - B(Ldar), R(5), + B(Ldar), R(6), B(JumpIfUndefined), U8(6), B(Ldar), R(6), B(JumpIfNotNull), U8(16), - B(LdaSmi), I8(61), + B(LdaSmi), I8(62), B(Star), R(17), B(LdaConstant), U8(4), B(Star), R(18), B(CallRuntime), U16(Runtime::kNewTypeError), R(17), U8(2), - B(Throw), - /* 31 S> */ B(LdaNamedProperty), R(6), U8(5), U8(17), + /* 31 E> */ B(Throw), + /* 31 S> */ B(LdaNamedProperty), R(6), U8(4), U8(17), B(Star), R(1), - /* 34 S> */ B(LdaNamedProperty), R(6), U8(6), U8(19), + /* 34 S> */ B(LdaNamedProperty), R(6), U8(5), U8(19), B(Star), R(2), - /* 58 S> */ B(Ldar), R(2), + /* 56 S> */ B(Ldar), R(2), /* 58 E> */ B(Add), R(1), U8(21), B(Star), R(0), B(LdaZero), @@ -541,7 +548,7 @@ bytecodes: [ B(Jump), U8(36), B(Star), R(17), B(Ldar), R(closure), - /* 58 E> */ B(CreateCatchContext), R(17), U8(7), U8(8), + /* 56 E> */ B(CreateCatchContext), R(17), U8(6), U8(7), B(PushContext), R(17), B(Star), R(16), B(LdaSmi), I8(2), @@ -565,7 +572,7 @@ bytecodes: [ B(LdaZero), B(TestEqualStrict), R(9), U8(23), B(JumpIfTrue), U8(104), - B(LdaNamedProperty), R(7), U8(9), U8(24), + B(LdaNamedProperty), R(7), U8(8), U8(24), B(Star), R(11), B(TestUndetectable), B(JumpIfFalse), U8(4), @@ -577,9 +584,9 @@ bytecodes: [ B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), + B(Wide), B(LdaSmi), I16(131), B(Star), R(16), - B(LdaConstant), U8(4), + B(LdaConstant), U8(9), B(Star), R(17), B(CallRuntime), U16(Runtime::kNewTypeError), R(16), U8(2), B(Throw), @@ -590,7 +597,7 @@ bytecodes: [ B(Jump), U8(20), B(Star), R(17), B(Ldar), R(closure), - B(CreateCatchContext), R(17), U8(7), U8(10), + B(CreateCatchContext), R(17), U8(6), U8(10), B(Star), R(16), B(LdaTheHole), B(SetPendingMessage), @@ -621,18 +628,18 @@ constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], - ONE_BYTE_INTERNALIZED_STRING_TYPE [""], ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"], ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], + ONE_BYTE_INTERNALIZED_STRING_TYPE [""], FIXED_ARRAY_TYPE, ] handlers: [ - [7, 162, 168], - [10, 126, 128], - [228, 238, 240], + [13, 168, 174], + [16, 132, 134], + [234, 244, 246], ] --- @@ -642,277 +649,180 @@ snippet: " } f([1, 2, 3]); " -frame size: 13 +frame size: 20 parameter count: 2 -bytecode array length: 589 +bytecode array length: 360 bytecodes: [ + B(Mov), R(new_target), R(11), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(11), U8(1), + B(PushContext), R(13), + B(RestoreGeneratorState), R(11), + B(Star), R(12), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), - B(Star), R(2), - B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), + B(LdaSmi), I8(81), + B(Star), R(13), + B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), - B(CreateFunctionContext), U8(9), - B(PushContext), R(2), + B(Star), R(12), + B(CreateFunctionContext), U8(1), + B(PushContext), R(13), B(Ldar), R(arg0), B(StaCurrentContextSlot), U8(4), - B(Mov), R(closure), R(3), - B(Mov), R(this), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), - B(StaCurrentContextSlot), U8(5), + B(Mov), R(closure), R(14), + B(Mov), R(this), R(15), + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(14), U8(2), + B(Star), R(3), /* 11 E> */ B(StackCheck), - B(Mov), R(context), R(5), - B(LdaImmutableCurrentContextSlot), U8(5), - B(Star), R(6), - B(LdaImmutableCurrentContextSlot), U8(5), - B(Star), R(7), B(LdaZero), - /* 11 E> */ B(SuspendGenerator), R(6), U8(0), - B(Ldar), R(7), + B(Mov), R(3), R(11), + B(Mov), R(3), R(14), + /* 11 E> */ B(SuspendGenerator), R(11), R(0), U8(14), + B(Ldar), R(14), /* 55 S> */ B(Return), + B(RestoreGeneratorRegisters), R(11), R(0), U8(14), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1), - B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1), - B(Star), R(8), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(28), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(19), - B(LdaTrue), - B(Star), R(10), - B(Mov), R(7), R(9), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9), U8(2), - B(Star), R(4), - B(LdaZero), - B(Star), R(3), - B(JumpConstant), U8(13), - B(Ldar), R(7), + B(Star), R(12), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), + B(Star), R(14), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11), U8(1), + B(SwitchOnSmiNoFeedback), U8(1), U8(2), I8(0), + B(Ldar), R(14), /* 11 E> */ B(Throw), - B(Ldar), R(closure), - B(CreateBlockContext), U8(1), - B(PushContext), R(6), + B(Ldar), R(14), + /* 55 S> */ B(Return), B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), + B(Star), R(2), B(LdaZero), - B(StaContextSlot), R(6), U8(9), U8(0), - B(Mov), R(context), R(9), - B(Mov), R(context), R(10), - /* 35 S> */ B(LdaImmutableContextSlot), R(6), U8(4), U8(0), - B(Star), R(11), - B(LdaNamedProperty), R(11), U8(2), U8(3), - B(Star), R(12), - B(CallProperty0), R(12), R(11), U8(5), + B(Star), R(7), + B(Mov), R(context), R(16), + B(Mov), R(context), R(17), + /* 35 S> */ B(LdaImmutableCurrentContextSlot), U8(4), + B(Star), R(18), + B(LdaNamedProperty), R(18), U8(3), U8(3), + B(Star), R(19), + B(CallProperty0), R(19), R(18), U8(5), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), - /* 35 E> */ B(StaContextSlot), R(6), U8(7), U8(0), - /* 32 S> */ B(LdaContextSlot), R(6), U8(7), U8(0), - B(Star), R(12), - B(LdaNamedProperty), R(12), U8(3), U8(9), - B(Star), R(11), - /* 32 E> */ B(CallProperty0), R(11), R(12), U8(7), - /* 32 E> */ B(StaContextSlot), R(6), U8(8), U8(0), - B(Star), R(11), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1), + B(Star), R(5), + /* 30 S> */ B(LdaNamedProperty), R(5), U8(4), U8(9), + B(Star), R(18), + B(CallProperty0), R(18), R(5), U8(7), + B(Star), R(6), + /* 30 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(6), U8(1), B(ToBooleanLogicalNot), - B(JumpIfFalse), U8(13), - B(LdaContextSlot), R(6), U8(8), U8(0), - B(Star), R(11), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1), - B(LdaContextSlot), R(6), U8(8), U8(0), - B(Star), R(11), - B(LdaNamedProperty), R(11), U8(4), U8(11), - B(JumpIfToBooleanTrue), U8(73), - B(LdaContextSlot), R(6), U8(8), U8(0), - B(Star), R(11), - B(LdaNamedProperty), R(11), U8(5), U8(13), - B(StaContextSlot), R(6), U8(10), U8(0), + B(JumpIfFalse), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(6), U8(1), + B(LdaNamedProperty), R(6), U8(5), U8(11), + B(JumpIfToBooleanTrue), U8(28), + B(LdaNamedProperty), R(6), U8(6), U8(13), + B(Star), R(8), B(LdaSmi), I8(2), - B(StaContextSlot), R(6), U8(9), U8(0), - B(LdaContextSlot), R(6), U8(10), U8(0), - B(StaContextSlot), R(6), U8(6), U8(0), + B(Star), R(7), + B(Mov), R(8), R(4), /* 21 E> */ B(StackCheck), - B(Ldar), R(closure), - B(CreateBlockContext), U8(6), - B(PushContext), R(11), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(6), U8(6), U8(0), - B(StaCurrentContextSlot), U8(4), - B(Ldar), R(closure), - B(CreateBlockContext), U8(7), - B(PushContext), R(12), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - /* 50 S> */ B(LdaImmutableContextSlot), R(12), U8(4), U8(0), - /* 50 E> */ B(StaCurrentContextSlot), U8(4), - B(PopContext), R(12), - B(PopContext), R(11), + B(Mov), R(4), R(1), + /* 50 S> */ B(Mov), R(1), R(0), B(LdaZero), - B(StaContextSlot), R(6), U8(9), U8(0), - B(JumpLoop), U8(120), I8(0), - B(Jump), U8(44), - B(Star), R(11), + B(Star), R(7), + B(JumpLoop), U8(53), I8(0), + B(Jump), U8(36), + B(Star), R(18), B(Ldar), R(closure), - B(CreateCatchContext), R(11), U8(8), U8(9), - B(PushContext), R(11), - B(Star), R(10), - B(LdaContextSlot), R(6), U8(9), U8(0), - B(Star), R(12), + /* 50 E> */ B(CreateCatchContext), R(18), U8(7), U8(8), + B(PushContext), R(18), + B(Star), R(17), B(LdaSmi), I8(2), - B(TestEqualStrict), R(12), U8(15), - B(JumpIfFalse), U8(8), + B(TestEqualStrict), R(7), U8(15), + B(JumpIfFalse), U8(6), B(LdaSmi), I8(1), - B(StaContextSlot), R(6), U8(9), U8(0), + B(Star), R(7), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(12), - B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1), - B(PopContext), R(11), + B(Star), R(19), + B(CallRuntime), U16(Runtime::kReThrow), R(19), U8(1), + B(PopContext), R(18), B(LdaSmi), I8(-1), - B(Star), R(7), + B(Star), R(14), B(Jump), U8(7), - B(Star), R(8), + B(Star), R(15), B(LdaZero), - B(Star), R(7), + B(Star), R(14), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(9), - B(LdaContextSlot), R(6), U8(9), U8(0), - B(Star), R(10), + B(Star), R(16), B(LdaZero), - B(TestEqualStrict), R(10), U8(16), - B(JumpIfTrue), U8(150), - B(LdaContextSlot), R(6), U8(7), U8(0), - B(Star), R(10), - B(LdaNamedProperty), R(10), U8(10), U8(17), - B(StaContextSlot), R(6), U8(11), U8(0), - B(LdaContextSlot), R(6), U8(11), U8(0), + B(TestEqualStrict), R(7), U8(16), + B(JumpIfTrue), U8(104), + B(LdaNamedProperty), R(5), U8(9), U8(17), + B(Star), R(9), B(TestUndetectable), B(JumpIfFalse), U8(4), - B(Jump), U8(127), - B(LdaContextSlot), R(6), U8(9), U8(0), - B(Star), R(10), + B(Jump), U8(93), B(LdaSmi), I8(1), - B(TestEqualStrict), R(10), U8(20), - B(JumpIfFalse), U8(69), - B(LdaContextSlot), R(6), U8(11), U8(0), + B(TestEqualStrict), R(7), U8(20), + B(JumpIfFalse), U8(61), + B(Ldar), R(9), B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), - B(Star), R(10), - B(LdaConstant), U8(11), - B(Star), R(11), - B(CallRuntime), U16(Runtime::kNewTypeError), R(10), U8(2), + B(Wide), B(LdaSmi), I16(131), + B(Star), R(17), + B(LdaConstant), U8(10), + B(Star), R(18), + B(CallRuntime), U16(Runtime::kNewTypeError), R(17), U8(2), B(Throw), - B(Mov), R(context), R(10), - B(LdaContextSlot), R(6), U8(11), U8(0), - B(Star), R(11), - B(LdaContextSlot), R(6), U8(7), U8(0), - B(Star), R(12), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2), + B(Mov), R(context), R(17), + B(Mov), R(9), R(18), + B(Mov), R(5), R(19), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(18), U8(2), B(Jump), U8(20), - B(Star), R(11), + B(Star), R(18), B(Ldar), R(closure), - B(CreateCatchContext), R(11), U8(8), U8(12), - B(Star), R(10), + B(CreateCatchContext), R(18), U8(7), U8(11), + B(Star), R(17), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(10), - B(PushContext), R(11), - B(PopContext), R(11), - B(Jump), U8(47), - B(LdaContextSlot), R(6), U8(11), U8(0), - B(Star), R(10), - B(LdaContextSlot), R(6), U8(7), U8(0), - B(Star), R(11), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(10), U8(2), - B(StaContextSlot), R(6), U8(12), U8(0), - B(LdaContextSlot), R(6), U8(12), U8(0), + B(Ldar), R(17), + B(PushContext), R(18), + B(PopContext), R(18), + B(Jump), U8(27), + B(Mov), R(9), R(17), + B(Mov), R(5), R(18), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(17), U8(2), B(Star), R(10), B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(10), U8(1), B(JumpIfToBooleanFalse), U8(4), - B(Jump), U8(13), - B(LdaContextSlot), R(6), U8(12), U8(0), - B(Star), R(10), + B(Jump), U8(7), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1), - B(Ldar), R(9), + B(Ldar), R(16), B(SetPendingMessage), B(LdaZero), - B(TestEqualStrictNoFeedback), R(7), - B(JumpIfFalse), U8(15), - B(PopContext), R(6), - B(PopContext), R(6), - B(LdaSmi), I8(1), - B(Star), R(3), - B(Mov), R(8), R(4), - B(Jump), U8(33), - B(PopContext), R(6), - B(LdaUndefined), - B(Star), R(6), - B(LdaTrue), - B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - B(Star), R(4), - B(LdaZero), - B(Star), R(3), - B(Jump), U8(14), - B(LdaSmi), I8(-1), - B(Star), R(3), - B(Jump), U8(8), - B(Star), R(4), - B(LdaSmi), I8(1), - B(Star), R(3), - B(LdaTheHole), - B(SetPendingMessage), - B(Star), R(5), - B(LdaImmutableCurrentContextSlot), U8(5), - B(Star), R(6), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(6), U8(1), - B(Ldar), R(5), - B(SetPendingMessage), - B(Ldar), R(3), - B(SwitchOnSmiNoFeedback), U8(14), U8(2), I8(0), - B(Jump), U8(8), - B(Ldar), R(4), - /* 55 S> */ B(Return), - B(Ldar), R(4), + B(TestEqualStrictNoFeedback), R(14), + B(JumpIfFalse), U8(5), + B(Ldar), R(15), B(ReThrow), B(LdaUndefined), /* 55 S> */ B(Return), ] constant pool: [ - Smi [56], - FIXED_ARRAY_TYPE, + Smi [52], + Smi [10], + Smi [7], SYMBOL_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], - FIXED_ARRAY_TYPE, - FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], ONE_BYTE_INTERNALIZED_STRING_TYPE [""], FIXED_ARRAY_TYPE, - Smi [446], - Smi [6], - Smi [9], ] handlers: [ - [55, 546, 552], - [134, 331, 337], - [137, 287, 289], - [423, 439, 441], + [106, 224, 230], + [109, 188, 190], + [290, 300, 302], ] --- @@ -922,326 +832,216 @@ snippet: " } f([1, 2, 3]); " -frame size: 17 +frame size: 20 parameter count: 2 -bytecode array length: 695 +bytecode array length: 438 bytecodes: [ + B(Mov), R(new_target), R(10), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(10), U8(1), + B(PushContext), R(12), + B(RestoreGeneratorState), R(10), + B(Star), R(11), B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0), - B(LdaSmi), I8(79), - B(Star), R(2), - B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), + B(LdaSmi), I8(81), + B(Star), R(12), + B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), - B(CreateFunctionContext), U8(9), - B(PushContext), R(2), + B(Star), R(11), + B(CreateFunctionContext), U8(1), + B(PushContext), R(12), B(Ldar), R(arg0), B(StaCurrentContextSlot), U8(4), - B(Mov), R(closure), R(3), - B(Mov), R(this), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), - B(StaCurrentContextSlot), U8(5), + B(Mov), R(closure), R(13), + B(Mov), R(this), R(14), + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(13), U8(2), + B(Star), R(2), /* 11 E> */ B(StackCheck), - B(Mov), R(context), R(5), - B(LdaImmutableCurrentContextSlot), U8(5), - B(Star), R(6), - B(LdaImmutableCurrentContextSlot), U8(5), - B(Star), R(7), B(LdaZero), - /* 11 E> */ B(SuspendGenerator), R(6), U8(0), - B(Ldar), R(7), + B(Mov), R(2), R(10), + B(Mov), R(2), R(13), + /* 11 E> */ B(SuspendGenerator), R(10), R(0), U8(13), + B(Ldar), R(13), /* 49 S> */ B(Return), + B(RestoreGeneratorRegisters), R(10), R(0), U8(13), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1), - B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1), - B(Star), R(8), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(28), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(19), - B(LdaTrue), - B(Star), R(10), - B(Mov), R(7), R(9), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9), U8(2), - B(Star), R(4), - B(LdaZero), - B(Star), R(3), - B(JumpConstant), U8(16), - B(Ldar), R(7), + B(Star), R(11), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(10), U8(1), + B(Star), R(13), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(10), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(13), /* 11 E> */ B(Throw), - B(Ldar), R(closure), - B(CreateBlockContext), U8(2), - B(PushContext), R(6), + B(Ldar), R(13), + /* 49 S> */ B(Return), B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), + B(Star), R(1), B(LdaZero), - B(StaContextSlot), R(6), U8(9), U8(0), - B(Mov), R(context), R(9), - B(Mov), R(context), R(10), - /* 35 S> */ B(LdaImmutableContextSlot), R(6), U8(4), U8(0), - B(Star), R(11), - B(LdaNamedProperty), R(11), U8(3), U8(3), - B(Star), R(12), - B(CallProperty0), R(12), R(11), U8(5), + B(Star), R(6), + B(Mov), R(context), R(15), + B(Mov), R(context), R(16), + /* 35 S> */ B(LdaImmutableCurrentContextSlot), U8(4), + B(Star), R(17), + B(LdaNamedProperty), R(17), U8(4), U8(3), + B(Star), R(18), + B(CallProperty0), R(18), R(17), U8(5), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), - /* 35 E> */ B(StaContextSlot), R(6), U8(7), U8(0), - B(Ldar), R(0), - B(SwitchOnSmiNoFeedback), U8(4), U8(1), I8(1), + B(Star), R(4), + B(Ldar), R(11), + B(SwitchOnSmiNoFeedback), U8(5), U8(1), I8(1), B(LdaSmi), I8(-2), - B(TestEqualStrictNoFeedback), R(0), + /* 35 E> */ B(TestEqualStrictNoFeedback), R(11), B(JumpIfTrue), U8(11), - B(LdaSmi), I8(79), - B(Star), R(11), - B(CallRuntime), U16(Runtime::kAbort), R(11), U8(1), - /* 32 S> */ B(LdaContextSlot), R(6), U8(7), U8(0), - B(Star), R(12), - B(LdaNamedProperty), R(12), U8(5), U8(9), - B(Star), R(11), - /* 32 E> */ B(CallProperty0), R(11), R(12), U8(7), - /* 32 E> */ B(StaContextSlot), R(6), U8(8), U8(0), - B(Star), R(11), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1), + B(LdaSmi), I8(81), + B(Star), R(17), + B(CallRuntime), U16(Runtime::kAbort), R(17), U8(1), + /* 30 S> */ B(LdaNamedProperty), R(4), U8(6), U8(9), + B(Star), R(17), + B(CallProperty0), R(17), R(4), U8(7), + B(Star), R(5), + /* 30 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(5), U8(1), B(ToBooleanLogicalNot), - B(JumpIfFalse), U8(13), - B(LdaContextSlot), R(6), U8(8), U8(0), - B(Star), R(11), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1), - B(LdaContextSlot), R(6), U8(8), U8(0), - B(Star), R(11), - B(LdaNamedProperty), R(11), U8(6), U8(11), - B(JumpIfToBooleanTrue), U8(142), - B(LdaContextSlot), R(6), U8(8), U8(0), - B(Star), R(11), - B(LdaNamedProperty), R(11), U8(7), U8(13), - B(StaContextSlot), R(6), U8(10), U8(0), + B(JumpIfFalse), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1), + B(LdaNamedProperty), R(5), U8(7), U8(11), + B(JumpIfToBooleanTrue), U8(78), + B(LdaNamedProperty), R(5), U8(8), U8(13), + B(Star), R(7), B(LdaSmi), I8(2), - B(StaContextSlot), R(6), U8(9), U8(0), - B(LdaContextSlot), R(6), U8(10), U8(0), - B(StaContextSlot), R(6), U8(6), U8(0), + B(Star), R(6), + B(Mov), R(7), R(3), /* 21 E> */ B(StackCheck), - B(Ldar), R(closure), - B(CreateBlockContext), U8(8), - B(PushContext), R(11), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(6), U8(6), U8(0), - B(StaCurrentContextSlot), U8(4), - /* 40 S> */ B(LdaImmutableContextSlot), R(6), U8(5), U8(0), - B(Star), R(12), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(13), + B(Mov), R(3), R(0), + /* 40 S> */ B(LdaSmi), I8(1), + B(Mov), R(0), R(17), + B(SuspendGenerator), R(10), R(0), U8(17), B(LdaFalse), - B(Star), R(14), - /* 46 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(13), U8(2), - B(Star), R(13), - B(LdaSmi), I8(1), - B(SuspendGenerator), R(12), U8(0), - B(Ldar), R(13), + B(Star), R(19), + B(Mov), R(17), R(18), + B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(18), U8(2), /* 49 S> */ B(Return), + B(RestoreGeneratorRegisters), R(10), R(0), U8(17), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1), - B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1), - B(Star), R(14), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(40), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(31), - B(LdaTrue), - B(Star), R(16), - B(Mov), R(13), R(15), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15), U8(2), - B(PopContext), R(11), - B(PopContext), R(11), - B(PopContext), R(11), - B(PopContext), R(11), - B(PopContext), R(11), - B(PopContext), R(11), - B(Star), R(8), - B(LdaZero), - B(Star), R(7), - B(Jump), U8(71), - B(Ldar), R(13), + B(Star), R(11), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(10), U8(1), + B(Star), R(17), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(10), U8(1), + B(SwitchOnSmiNoFeedback), U8(9), U8(2), I8(0), + B(Ldar), R(17), /* 40 E> */ B(Throw), - B(PopContext), R(11), B(LdaZero), - B(StaContextSlot), R(6), U8(9), U8(0), - B(JumpLoop), U8(210), I8(0), - B(Jump), U8(44), - B(Star), R(11), + B(Star), R(13), + B(Mov), R(17), R(14), + B(Jump), U8(56), + B(LdaZero), + B(Star), R(6), + B(JumpLoop), U8(124), I8(0), + B(Jump), U8(36), + B(Star), R(17), B(Ldar), R(closure), - B(CreateCatchContext), R(11), U8(9), U8(10), - B(PushContext), R(11), - B(Star), R(10), - B(LdaContextSlot), R(6), U8(9), U8(0), - B(Star), R(12), + B(CreateCatchContext), R(17), U8(11), U8(12), + B(PushContext), R(17), + B(Star), R(16), B(LdaSmi), I8(2), - B(TestEqualStrict), R(12), U8(15), - B(JumpIfFalse), U8(8), + B(TestEqualStrict), R(6), U8(15), + B(JumpIfFalse), U8(6), B(LdaSmi), I8(1), - B(StaContextSlot), R(6), U8(9), U8(0), + B(Star), R(6), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(12), - B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1), - B(PopContext), R(11), + B(Star), R(18), + B(CallRuntime), U16(Runtime::kReThrow), R(18), U8(1), + B(PopContext), R(17), B(LdaSmi), I8(-1), - B(Star), R(7), + B(Star), R(13), B(Jump), U8(8), - B(Star), R(8), + B(Star), R(14), B(LdaSmi), I8(1), - B(Star), R(7), + B(Star), R(13), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(9), - B(LdaContextSlot), R(6), U8(9), U8(0), - B(Star), R(10), + B(Star), R(15), B(LdaZero), - B(TestEqualStrict), R(10), U8(16), - B(JumpIfTrue), U8(150), - B(LdaContextSlot), R(6), U8(7), U8(0), - B(Star), R(10), - B(LdaNamedProperty), R(10), U8(11), U8(17), - B(StaContextSlot), R(6), U8(11), U8(0), - B(LdaContextSlot), R(6), U8(11), U8(0), + B(TestEqualStrict), R(6), U8(16), + B(JumpIfTrue), U8(104), + B(LdaNamedProperty), R(4), U8(13), U8(17), + B(Star), R(8), B(TestUndetectable), B(JumpIfFalse), U8(4), - B(Jump), U8(127), - B(LdaContextSlot), R(6), U8(9), U8(0), - B(Star), R(10), + B(Jump), U8(93), B(LdaSmi), I8(1), - B(TestEqualStrict), R(10), U8(20), - B(JumpIfFalse), U8(69), - B(LdaContextSlot), R(6), U8(11), U8(0), + B(TestEqualStrict), R(6), U8(20), + B(JumpIfFalse), U8(61), + B(Ldar), R(8), B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), - B(Star), R(10), - B(LdaConstant), U8(12), - B(Star), R(11), - B(CallRuntime), U16(Runtime::kNewTypeError), R(10), U8(2), + B(Wide), B(LdaSmi), I16(131), + B(Star), R(16), + B(LdaConstant), U8(14), + B(Star), R(17), + B(CallRuntime), U16(Runtime::kNewTypeError), R(16), U8(2), B(Throw), - B(Mov), R(context), R(10), - B(LdaContextSlot), R(6), U8(11), U8(0), - B(Star), R(11), - B(LdaContextSlot), R(6), U8(7), U8(0), - B(Star), R(12), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2), + B(Mov), R(context), R(16), + B(Mov), R(8), R(17), + B(Mov), R(4), R(18), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(17), U8(2), B(Jump), U8(20), - B(Star), R(11), + B(Star), R(17), B(Ldar), R(closure), - B(CreateCatchContext), R(11), U8(9), U8(13), - B(Star), R(10), + B(CreateCatchContext), R(17), U8(11), U8(15), + B(Star), R(16), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(10), - B(PushContext), R(11), - B(PopContext), R(11), - B(Jump), U8(47), - B(LdaContextSlot), R(6), U8(11), U8(0), - B(Star), R(10), - B(LdaContextSlot), R(6), U8(7), U8(0), - B(Star), R(11), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(10), U8(2), - B(StaContextSlot), R(6), U8(12), U8(0), - B(LdaContextSlot), R(6), U8(12), U8(0), - B(Star), R(10), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(10), U8(1), - B(JumpIfToBooleanFalse), U8(4), - B(Jump), U8(13), - B(LdaContextSlot), R(6), U8(12), U8(0), - B(Star), R(10), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1), - B(Ldar), R(9), - B(SetPendingMessage), - B(Ldar), R(7), - B(SwitchOnSmiNoFeedback), U8(14), U8(2), I8(0), + B(Ldar), R(16), + B(PushContext), R(17), + B(PopContext), R(17), B(Jump), U8(27), - B(PopContext), R(6), - B(PopContext), R(6), - B(LdaZero), - B(Star), R(3), - B(Mov), R(8), R(4), - B(Jump), U8(46), - B(PopContext), R(6), - B(PopContext), R(6), - B(LdaSmi), I8(1), - B(Star), R(3), - B(Mov), R(8), R(4), - B(Jump), U8(33), - B(PopContext), R(6), - B(LdaUndefined), - B(Star), R(6), - B(LdaTrue), - B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - B(Star), R(4), - B(LdaZero), - B(Star), R(3), - B(Jump), U8(14), - B(LdaSmi), I8(-1), - B(Star), R(3), - B(Jump), U8(8), - B(Star), R(4), - B(LdaSmi), I8(1), - B(Star), R(3), - B(LdaTheHole), - B(SetPendingMessage), - B(Star), R(5), - B(LdaImmutableCurrentContextSlot), U8(5), - B(Star), R(6), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(6), U8(1), - B(Ldar), R(5), + B(Mov), R(8), R(16), + B(Mov), R(4), R(17), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(16), U8(2), + B(Star), R(9), + B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(9), U8(1), + B(JumpIfToBooleanFalse), U8(4), + B(Jump), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1), + B(Ldar), R(15), B(SetPendingMessage), - B(Ldar), R(3), - B(SwitchOnSmiNoFeedback), U8(17), U8(2), I8(0), + B(Ldar), R(13), + B(SwitchOnSmiNoFeedback), U8(16), U8(2), I8(0), B(Jump), U8(8), - B(Ldar), R(4), + B(Ldar), R(14), /* 49 S> */ B(Return), - B(Ldar), R(4), + B(Ldar), R(14), B(ReThrow), B(LdaUndefined), /* 49 S> */ B(Return), ] constant pool: [ - Smi [56], - Smi [150], - FIXED_ARRAY_TYPE, + Smi [52], + Smi [115], + Smi [10], + Smi [7], SYMBOL_TYPE, - Smi [142], + Smi [86], ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], - FIXED_ARRAY_TYPE, + Smi [15], + Smi [7], ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], ONE_BYTE_INTERNALIZED_STRING_TYPE [""], FIXED_ARRAY_TYPE, Smi [6], - Smi [18], - Smi [552], - Smi [6], Smi [9], ] handlers: [ - [55, 652, 658], - [134, 421, 427], - [137, 377, 379], - [514, 530, 532], + [106, 295, 301], + [109, 259, 261], + [362, 372, 374], ] --- @@ -1251,252 +1051,196 @@ snippet: " } f([1, 2, 3]); " -frame size: 12 +frame size: 23 parameter count: 2 -bytecode array length: 556 +bytecode array length: 400 bytecodes: [ - B(CreateFunctionContext), U8(10), - B(PushContext), R(0), + B(CreateFunctionContext), U8(1), + B(PushContext), R(12), B(Ldar), R(arg0), B(StaCurrentContextSlot), U8(4), /* 16 E> */ B(StackCheck), B(LdaUndefined), - B(Star), R(1), - B(CallJSRuntime), U8(%async_function_promise_create), R(1), U8(1), - B(StaCurrentContextSlot), U8(13), - B(Mov), R(context), R(3), - B(Mov), R(context), R(4), - B(Ldar), R(closure), - B(CreateBlockContext), U8(0), - B(PushContext), R(5), + B(Star), R(13), + B(CallJSRuntime), U8(%async_function_promise_create), R(13), U8(1), + B(Star), R(11), + B(Mov), R(context), R(15), + B(Mov), R(context), R(16), B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), + B(Star), R(2), B(LdaZero), - B(StaContextSlot), R(5), U8(9), U8(0), - B(Mov), R(context), R(8), - B(Mov), R(context), R(9), - /* 40 S> */ B(LdaImmutableContextSlot), R(5), U8(4), U8(0), - B(Star), R(10), - B(LdaNamedProperty), R(10), U8(1), U8(3), - B(Star), R(11), - B(CallProperty0), R(11), R(10), U8(5), + B(Star), R(7), + B(Mov), R(context), R(19), + B(Mov), R(context), R(20), + /* 40 S> */ B(LdaImmutableCurrentContextSlot), U8(4), + B(Star), R(21), + B(LdaNamedProperty), R(21), U8(0), U8(3), + B(Star), R(22), + B(CallProperty0), R(22), R(21), U8(5), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), - /* 40 E> */ B(StaContextSlot), R(5), U8(7), U8(0), - /* 37 S> */ B(LdaContextSlot), R(5), U8(7), U8(0), - B(Star), R(11), - B(LdaNamedProperty), R(11), U8(2), U8(9), - B(Star), R(10), - /* 37 E> */ B(CallProperty0), R(10), R(11), U8(7), - /* 37 E> */ B(StaContextSlot), R(5), U8(8), U8(0), - B(Star), R(10), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(10), U8(1), + B(Star), R(5), + /* 35 S> */ B(LdaNamedProperty), R(5), U8(1), U8(9), + B(Star), R(21), + B(CallProperty0), R(21), R(5), U8(7), + B(Star), R(6), + /* 35 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(6), U8(1), B(ToBooleanLogicalNot), - B(JumpIfFalse), U8(13), - B(LdaContextSlot), R(5), U8(8), U8(0), - B(Star), R(10), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1), - B(LdaContextSlot), R(5), U8(8), U8(0), - B(Star), R(10), - B(LdaNamedProperty), R(10), U8(3), U8(11), - B(JumpIfToBooleanTrue), U8(73), - B(LdaContextSlot), R(5), U8(8), U8(0), - B(Star), R(10), - B(LdaNamedProperty), R(10), U8(4), U8(13), - B(StaContextSlot), R(5), U8(10), U8(0), + B(JumpIfFalse), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(6), U8(1), + B(LdaNamedProperty), R(6), U8(2), U8(11), + B(JumpIfToBooleanTrue), U8(28), + B(LdaNamedProperty), R(6), U8(3), U8(13), + B(Star), R(8), B(LdaSmi), I8(2), - B(StaContextSlot), R(5), U8(9), U8(0), - B(LdaContextSlot), R(5), U8(10), U8(0), - B(StaContextSlot), R(5), U8(6), U8(0), + B(Star), R(7), + B(Mov), R(8), R(4), /* 26 E> */ B(StackCheck), - B(Ldar), R(closure), - B(CreateBlockContext), U8(5), - B(PushContext), R(10), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(5), U8(6), U8(0), - B(StaCurrentContextSlot), U8(4), - B(Ldar), R(closure), - B(CreateBlockContext), U8(6), - B(PushContext), R(11), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - /* 55 S> */ B(LdaImmutableContextSlot), R(11), U8(4), U8(0), - /* 55 E> */ B(StaCurrentContextSlot), U8(4), - B(PopContext), R(11), - B(PopContext), R(10), + B(Mov), R(4), R(1), + /* 55 S> */ B(Mov), R(1), R(0), B(LdaZero), - B(StaContextSlot), R(5), U8(9), U8(0), - B(JumpLoop), U8(120), I8(0), - B(Jump), U8(48), - B(Star), R(10), + B(Star), R(7), + B(JumpLoop), U8(53), I8(0), + B(Jump), U8(40), + B(Star), R(21), B(Ldar), R(closure), - B(CreateCatchContext), R(10), U8(7), U8(8), - B(Star), R(9), + /* 55 E> */ B(CreateCatchContext), R(21), U8(4), U8(5), + B(Star), R(20), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(9), - B(PushContext), R(10), - B(LdaContextSlot), R(5), U8(9), U8(0), - B(Star), R(11), + B(Ldar), R(20), + B(PushContext), R(21), B(LdaSmi), I8(2), - B(TestEqualStrict), R(11), U8(15), - B(JumpIfFalse), U8(8), + B(TestEqualStrict), R(7), U8(15), + B(JumpIfFalse), U8(6), B(LdaSmi), I8(1), - B(StaContextSlot), R(5), U8(9), U8(0), + B(Star), R(7), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(11), - B(CallRuntime), U16(Runtime::kReThrow), R(11), U8(1), - B(PopContext), R(10), + B(Star), R(22), + B(CallRuntime), U16(Runtime::kReThrow), R(22), U8(1), + B(PopContext), R(21), B(LdaSmi), I8(-1), - B(Star), R(6), + B(Star), R(17), B(Jump), U8(7), - B(Star), R(7), + B(Star), R(18), B(LdaZero), - B(Star), R(6), + B(Star), R(17), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(8), - B(LdaContextSlot), R(5), U8(9), U8(0), - B(Star), R(9), + B(Star), R(19), B(LdaZero), - B(TestEqualStrict), R(9), U8(16), - B(JumpIfTrue), U8(150), - B(LdaContextSlot), R(5), U8(7), U8(0), + B(TestEqualStrict), R(7), U8(16), + B(JumpIfTrue), U8(104), + B(LdaNamedProperty), R(5), U8(6), U8(17), B(Star), R(9), - B(LdaNamedProperty), R(9), U8(9), U8(17), - B(StaContextSlot), R(5), U8(11), U8(0), - B(LdaContextSlot), R(5), U8(11), U8(0), B(TestUndetectable), B(JumpIfFalse), U8(4), - B(Jump), U8(127), - B(LdaContextSlot), R(5), U8(9), U8(0), - B(Star), R(9), + B(Jump), U8(93), B(LdaSmi), I8(1), - B(TestEqualStrict), R(9), U8(20), - B(JumpIfFalse), U8(69), - B(LdaContextSlot), R(5), U8(11), U8(0), + B(TestEqualStrict), R(7), U8(20), + B(JumpIfFalse), U8(61), + B(Ldar), R(9), B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), - B(Star), R(9), - B(LdaConstant), U8(10), - B(Star), R(10), - B(CallRuntime), U16(Runtime::kNewTypeError), R(9), U8(2), + B(Wide), B(LdaSmi), I16(131), + B(Star), R(20), + B(LdaConstant), U8(7), + B(Star), R(21), + B(CallRuntime), U16(Runtime::kNewTypeError), R(20), U8(2), B(Throw), - B(Mov), R(context), R(9), - B(LdaContextSlot), R(5), U8(11), U8(0), - B(Star), R(10), - B(LdaContextSlot), R(5), U8(7), U8(0), - B(Star), R(11), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(10), U8(2), + B(Mov), R(context), R(20), + B(Mov), R(9), R(21), + B(Mov), R(5), R(22), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(21), U8(2), B(Jump), U8(20), - B(Star), R(10), + B(Star), R(21), B(Ldar), R(closure), - B(CreateCatchContext), R(10), U8(7), U8(11), - B(Star), R(9), + B(CreateCatchContext), R(21), U8(4), U8(8), + B(Star), R(20), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(9), - B(PushContext), R(10), - B(PopContext), R(10), - B(Jump), U8(47), - B(LdaContextSlot), R(5), U8(11), U8(0), - B(Star), R(9), - B(LdaContextSlot), R(5), U8(7), U8(0), + B(Ldar), R(20), + B(PushContext), R(21), + B(PopContext), R(21), + B(Jump), U8(27), + B(Mov), R(9), R(20), + B(Mov), R(5), R(21), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(20), U8(2), B(Star), R(10), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(9), U8(2), - B(StaContextSlot), R(5), U8(12), U8(0), - B(LdaContextSlot), R(5), U8(12), U8(0), - B(Star), R(9), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(9), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(10), U8(1), B(JumpIfToBooleanFalse), U8(4), - B(Jump), U8(13), - B(LdaContextSlot), R(5), U8(12), U8(0), - B(Star), R(9), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1), - B(Ldar), R(8), + B(Jump), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1), + B(Ldar), R(19), B(SetPendingMessage), B(LdaZero), - B(TestEqualStrictNoFeedback), R(6), - B(JumpIfFalse), U8(9), - B(PopContext), R(5), - B(PopContext), R(5), - B(Ldar), R(7), + B(TestEqualStrictNoFeedback), R(17), + B(JumpIfFalse), U8(5), + B(Ldar), R(18), B(ReThrow), - B(PopContext), R(5), B(LdaUndefined), - B(Star), R(5), - B(LdaCurrentContextSlot), U8(13), - B(Star), R(6), + B(Star), R(17), B(LdaUndefined), - B(Star), R(7), - B(CallJSRuntime), U8(%promise_resolve), R(5), U8(3), - B(LdaCurrentContextSlot), U8(13), - B(Star), R(2), + B(Star), R(19), + B(Mov), R(11), R(18), + B(CallJSRuntime), U8(%promise_resolve), R(17), U8(3), B(LdaZero), - B(Star), R(1), - B(Jump), U8(67), - B(Jump), U8(53), - B(Star), R(5), + B(Star), R(13), + B(Mov), R(11), R(14), + B(Jump), U8(59), + B(Jump), U8(45), + B(Star), R(17), B(Ldar), R(closure), - B(CreateCatchContext), R(5), U8(7), U8(12), - B(Star), R(4), + B(CreateCatchContext), R(17), U8(4), U8(9), + B(Star), R(16), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(4), - B(PushContext), R(5), + B(Ldar), R(16), + B(PushContext), R(17), B(LdaUndefined), - B(Star), R(6), - B(LdaContextSlot), R(5), U8(13), U8(0), - B(Star), R(7), + B(Star), R(18), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(8), + B(Star), R(20), B(LdaFalse), - B(Star), R(9), - B(CallJSRuntime), U8(%promise_internal_reject), R(6), U8(4), - B(LdaContextSlot), R(5), U8(13), U8(0), - B(PopContext), R(5), - B(PopContext), R(5), - B(Star), R(2), + B(Star), R(21), + B(Mov), R(11), R(19), + B(CallJSRuntime), U8(%promise_internal_reject), R(18), U8(4), + B(PopContext), R(17), B(LdaZero), - B(Star), R(1), + B(Star), R(13), + B(Mov), R(11), R(14), B(Jump), U8(14), B(LdaSmi), I8(-1), - B(Star), R(1), + B(Star), R(13), B(Jump), U8(8), - B(Star), R(2), + B(Star), R(14), B(LdaSmi), I8(1), - B(Star), R(1), + B(Star), R(13), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(3), + B(Star), R(15), B(LdaUndefined), - B(Star), R(4), - B(LdaCurrentContextSlot), U8(13), - B(Star), R(5), - B(CallJSRuntime), U8(%async_function_promise_release), R(4), U8(2), - B(Ldar), R(3), + B(Star), R(16), + B(Mov), R(11), R(17), + B(CallJSRuntime), U8(%async_function_promise_release), R(16), U8(2), + B(Ldar), R(15), B(SetPendingMessage), - B(Ldar), R(1), - B(SwitchOnSmiNoFeedback), U8(13), U8(2), I8(0), + B(Ldar), R(13), + B(SwitchOnSmiNoFeedback), U8(10), U8(2), I8(0), B(Jump), U8(8), - B(Ldar), R(2), + B(Ldar), R(14), /* 60 S> */ B(Return), - B(Ldar), R(2), + B(Ldar), R(14), B(ReThrow), B(LdaUndefined), /* 60 S> */ B(Return), ] constant pool: [ - FIXED_ARRAY_TYPE, SYMBOL_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], - FIXED_ARRAY_TYPE, - FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], @@ -1507,11 +1251,11 @@ constant pool: [ Smi [9], ] handlers: [ - [21, 510, 516], - [24, 457, 459], - [41, 242, 248], - [44, 194, 196], - [334, 350, 352], + [21, 355, 361], + [24, 310, 312], + [33, 155, 161], + [36, 115, 117], + [221, 231, 233], ] --- @@ -1521,340 +1265,258 @@ snippet: " } f([1, 2, 3]); " -frame size: 18 +frame size: 26 parameter count: 2 -bytecode array length: 732 +bytecode array length: 518 bytecodes: [ + B(Mov), R(new_target), R(11), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(11), U8(1), + B(PushContext), R(13), + B(RestoreGeneratorState), R(11), + B(Star), R(12), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), - B(Star), R(2), - B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), + B(LdaSmi), I8(81), + B(Star), R(13), + B(CallRuntime), U16(Runtime::kAbort), R(13), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), - B(CreateFunctionContext), U8(11), - B(PushContext), R(2), + B(Star), R(12), + B(CreateFunctionContext), U8(1), + B(PushContext), R(13), B(Ldar), R(arg0), B(StaCurrentContextSlot), U8(4), - B(Mov), R(closure), R(3), - B(Mov), R(this), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), - B(StaCurrentContextSlot), U8(5), + B(Mov), R(closure), R(14), + B(Mov), R(this), R(15), + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(14), U8(2), + B(Star), R(2), /* 16 E> */ B(StackCheck), B(LdaUndefined), - B(Star), R(3), - B(CallJSRuntime), U8(%async_function_promise_create), R(3), U8(1), - B(StaCurrentContextSlot), U8(7), - B(Mov), R(context), R(5), - B(Mov), R(context), R(6), - B(Ldar), R(closure), - B(CreateBlockContext), U8(1), - B(PushContext), R(7), + B(Star), R(14), + B(CallJSRuntime), U8(%async_function_promise_create), R(14), U8(1), + B(Star), R(10), + B(Mov), R(2), R(11), + B(Mov), R(context), R(16), + B(Mov), R(context), R(17), B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), + B(Star), R(1), B(LdaZero), - B(StaContextSlot), R(7), U8(11), U8(0), - B(Mov), R(context), R(10), - B(Mov), R(context), R(11), - /* 40 S> */ B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(12), - B(LdaNamedProperty), R(12), U8(2), U8(3), - B(Star), R(13), - B(CallProperty0), R(13), R(12), U8(5), + B(Star), R(6), + B(Mov), R(context), R(20), + B(Mov), R(context), R(21), + /* 40 S> */ B(LdaImmutableCurrentContextSlot), U8(4), + B(Star), R(22), + B(LdaNamedProperty), R(22), U8(1), U8(3), + B(Star), R(23), + B(CallProperty0), R(23), R(22), U8(5), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), - /* 40 E> */ B(StaContextSlot), R(7), U8(9), U8(0), - B(Ldar), R(0), - B(SwitchOnSmiNoFeedback), U8(3), U8(1), I8(0), + B(Star), R(4), + B(Ldar), R(12), + B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(0), B(LdaSmi), I8(-2), - B(TestEqualStrictNoFeedback), R(0), + /* 40 E> */ B(TestEqualStrictNoFeedback), R(12), B(JumpIfTrue), U8(11), - B(LdaSmi), I8(79), - B(Star), R(12), - B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1), - /* 37 S> */ B(LdaContextSlot), R(7), U8(9), U8(0), - B(Star), R(13), - B(LdaNamedProperty), R(13), U8(4), U8(9), - B(Star), R(12), - /* 37 E> */ B(CallProperty0), R(12), R(13), U8(7), - /* 37 E> */ B(StaContextSlot), R(7), U8(10), U8(0), - B(Star), R(12), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1), + B(LdaSmi), I8(81), + B(Star), R(22), + B(CallRuntime), U16(Runtime::kAbort), R(22), U8(1), + /* 35 S> */ B(LdaNamedProperty), R(4), U8(3), U8(9), + B(Star), R(22), + B(CallProperty0), R(22), R(4), U8(7), + B(Star), R(5), + /* 35 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(5), U8(1), B(ToBooleanLogicalNot), - B(JumpIfFalse), U8(13), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(12), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(12), - B(LdaNamedProperty), R(12), U8(5), U8(11), - B(JumpIfToBooleanTrue), U8(165), - B(LdaContextSlot), R(7), U8(10), U8(0), - B(Star), R(12), - B(LdaNamedProperty), R(12), U8(6), U8(13), - B(StaContextSlot), R(7), U8(12), U8(0), + B(JumpIfFalse), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1), + B(LdaNamedProperty), R(5), U8(4), U8(11), + B(JumpIfToBooleanTrue), U8(76), + B(LdaNamedProperty), R(5), U8(5), U8(13), + B(Star), R(7), B(LdaSmi), I8(2), - B(StaContextSlot), R(7), U8(11), U8(0), - B(LdaContextSlot), R(7), U8(12), U8(0), - B(StaContextSlot), R(7), U8(8), U8(0), + B(Star), R(6), + B(Mov), R(7), R(3), /* 26 E> */ B(StackCheck), - B(Ldar), R(closure), - B(CreateBlockContext), U8(7), - B(PushContext), R(12), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(7), U8(8), U8(0), - B(StaCurrentContextSlot), U8(4), - /* 45 S> */ B(LdaImmutableContextSlot), R(7), U8(5), U8(0), - B(Star), R(13), - /* 51 S> */ B(LdaImmutableCurrentContextSlot), U8(4), - B(StaContextSlot), R(7), U8(6), U8(0), - /* 45 S> */ B(LdaUndefined), - B(Star), R(14), - B(LdaImmutableContextSlot), R(7), U8(5), U8(0), - B(Star), R(15), - B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(16), - B(LdaContextSlot), R(7), U8(7), U8(0), - B(Star), R(17), - B(CallJSRuntime), U8(%async_function_await_uncaught), R(14), U8(4), - B(LdaContextSlot), R(7), U8(7), U8(0), - B(Star), R(14), + B(Mov), R(3), R(0), + /* 45 S> */ B(Mov), R(11), R(23), + B(Mov), R(0), R(24), + B(Mov), R(10), R(25), + B(CallJSRuntime), U8(%async_function_await_uncaught), R(23), U8(3), + B(Star), R(22), B(LdaZero), - B(SuspendGenerator), R(13), U8(2), - B(Ldar), R(14), + B(SuspendGenerator), R(11), R(0), U8(22), + B(Ldar), R(22), /* 54 S> */ B(Return), + B(RestoreGeneratorRegisters), R(11), R(0), U8(22), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(13), U8(1), - B(Star), R(14), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(13), U8(1), - B(Star), R(15), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(15), - B(JumpIfTrue), U8(40), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(15), - B(JumpIfTrue), U8(31), - B(LdaTrue), - B(Star), R(17), - B(Mov), R(14), R(16), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(16), U8(2), - B(PopContext), R(12), - B(PopContext), R(12), - B(PopContext), R(12), - B(PopContext), R(12), - B(PopContext), R(12), - B(PopContext), R(12), - B(Star), R(9), + B(Star), R(12), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(11), U8(1), + B(Star), R(23), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(11), U8(1), + B(Star), R(24), B(LdaZero), - B(Star), R(8), - B(Jump), U8(75), - B(Ldar), R(14), - B(ReThrow), - B(PopContext), R(12), + B(TestEqualStrictNoFeedback), R(24), + B(JumpIfTrue), U8(5), + B(Ldar), R(23), + /* 45 E> */ B(ReThrow), B(LdaZero), - B(StaContextSlot), R(7), U8(11), U8(0), - B(JumpLoop), U8(233), I8(0), - B(Jump), U8(48), - B(Star), R(12), + B(Star), R(6), + B(JumpLoop), U8(122), I8(0), + B(Jump), U8(40), + B(Star), R(22), B(Ldar), R(closure), - B(CreateCatchContext), R(12), U8(8), U8(9), - B(Star), R(11), + B(CreateCatchContext), R(22), U8(6), U8(7), + B(Star), R(21), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(11), - B(PushContext), R(12), - B(LdaContextSlot), R(7), U8(11), U8(0), - B(Star), R(13), + B(Ldar), R(21), + B(PushContext), R(22), B(LdaSmi), I8(2), - B(TestEqualStrict), R(13), U8(15), - B(JumpIfFalse), U8(8), + B(TestEqualStrict), R(6), U8(15), + B(JumpIfFalse), U8(6), B(LdaSmi), I8(1), - B(StaContextSlot), R(7), U8(11), U8(0), + B(Star), R(6), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(13), - B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1), - B(PopContext), R(12), + B(Star), R(23), + B(CallRuntime), U16(Runtime::kReThrow), R(23), U8(1), + B(PopContext), R(22), B(LdaSmi), I8(-1), - B(Star), R(8), - B(Jump), U8(8), - B(Star), R(9), - B(LdaSmi), I8(1), - B(Star), R(8), + B(Star), R(18), + B(Jump), U8(7), + B(Star), R(19), + B(LdaZero), + B(Star), R(18), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(10), - B(LdaContextSlot), R(7), U8(11), U8(0), - B(Star), R(11), + B(Star), R(20), B(LdaZero), - B(TestEqualStrict), R(11), U8(16), - B(JumpIfTrue), U8(150), - B(LdaContextSlot), R(7), U8(9), U8(0), - B(Star), R(11), - B(LdaNamedProperty), R(11), U8(10), U8(17), - B(StaContextSlot), R(7), U8(13), U8(0), - B(LdaContextSlot), R(7), U8(13), U8(0), + B(TestEqualStrict), R(6), U8(16), + B(JumpIfTrue), U8(104), + B(LdaNamedProperty), R(4), U8(8), U8(17), + B(Star), R(8), B(TestUndetectable), B(JumpIfFalse), U8(4), - B(Jump), U8(127), - B(LdaContextSlot), R(7), U8(11), U8(0), - B(Star), R(11), + B(Jump), U8(93), B(LdaSmi), I8(1), - B(TestEqualStrict), R(11), U8(20), - B(JumpIfFalse), U8(69), - B(LdaContextSlot), R(7), U8(13), U8(0), + B(TestEqualStrict), R(6), U8(20), + B(JumpIfFalse), U8(61), + B(Ldar), R(8), B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), - B(Star), R(11), - B(LdaConstant), U8(11), - B(Star), R(12), - B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2), + B(Wide), B(LdaSmi), I16(131), + B(Star), R(21), + B(LdaConstant), U8(9), + B(Star), R(22), + B(CallRuntime), U16(Runtime::kNewTypeError), R(21), U8(2), B(Throw), - B(Mov), R(context), R(11), - B(LdaContextSlot), R(7), U8(13), U8(0), - B(Star), R(12), - B(LdaContextSlot), R(7), U8(9), U8(0), - B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2), + B(Mov), R(context), R(21), + B(Mov), R(8), R(22), + B(Mov), R(4), R(23), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(22), U8(2), B(Jump), U8(20), - B(Star), R(12), + B(Star), R(22), B(Ldar), R(closure), - B(CreateCatchContext), R(12), U8(8), U8(12), - B(Star), R(11), + B(CreateCatchContext), R(22), U8(6), U8(10), + B(Star), R(21), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(11), - B(PushContext), R(12), - B(PopContext), R(12), - B(Jump), U8(47), - B(LdaContextSlot), R(7), U8(13), U8(0), - B(Star), R(11), - B(LdaContextSlot), R(7), U8(9), U8(0), - B(Star), R(12), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2), - B(StaContextSlot), R(7), U8(14), U8(0), - B(LdaContextSlot), R(7), U8(14), U8(0), - B(Star), R(11), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1), + B(Ldar), R(21), + B(PushContext), R(22), + B(PopContext), R(22), + B(Jump), U8(27), + B(Mov), R(8), R(21), + B(Mov), R(4), R(22), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(21), U8(2), + B(Star), R(9), + B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(9), U8(1), B(JumpIfToBooleanFalse), U8(4), - B(Jump), U8(13), - B(LdaContextSlot), R(7), U8(14), U8(0), - B(Star), R(11), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1), - B(Ldar), R(10), + B(Jump), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1), + B(Ldar), R(20), B(SetPendingMessage), - B(Ldar), R(8), - B(SwitchOnSmiNoFeedback), U8(13), U8(2), I8(0), - B(Jump), U8(25), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), B(LdaZero), - B(Star), R(3), - B(Mov), R(9), R(4), - B(Jump), U8(99), - B(PopContext), R(7), - B(PopContext), R(7), - B(Ldar), R(9), + B(TestEqualStrictNoFeedback), R(18), + B(JumpIfFalse), U8(5), + B(Ldar), R(19), B(ReThrow), - B(PopContext), R(7), B(LdaUndefined), - B(Star), R(7), - B(LdaCurrentContextSlot), U8(7), - B(Star), R(8), + B(Star), R(18), B(LdaUndefined), - B(Star), R(9), - B(CallJSRuntime), U8(%promise_resolve), R(7), U8(3), - B(LdaCurrentContextSlot), U8(7), - B(Star), R(4), + B(Star), R(20), + B(Mov), R(10), R(19), + B(CallJSRuntime), U8(%promise_resolve), R(18), U8(3), B(LdaZero), - B(Star), R(3), - B(Jump), U8(67), - B(Jump), U8(53), - B(Star), R(7), + B(Star), R(14), + B(Mov), R(10), R(15), + B(Jump), U8(59), + B(Jump), U8(45), + B(Star), R(18), B(Ldar), R(closure), - B(CreateCatchContext), R(7), U8(8), U8(15), - B(Star), R(6), + B(CreateCatchContext), R(18), U8(6), U8(11), + B(Star), R(17), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(6), - B(PushContext), R(7), + B(Ldar), R(17), + B(PushContext), R(18), B(LdaUndefined), - B(Star), R(8), - B(LdaContextSlot), R(7), U8(7), U8(0), - B(Star), R(9), + B(Star), R(19), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(10), + B(Star), R(21), B(LdaFalse), - B(Star), R(11), - B(CallJSRuntime), U8(%promise_internal_reject), R(8), U8(4), - B(LdaContextSlot), R(7), U8(7), U8(0), - B(PopContext), R(7), - B(PopContext), R(7), - B(Star), R(4), + B(Star), R(22), + B(Mov), R(10), R(20), + B(CallJSRuntime), U8(%promise_internal_reject), R(19), U8(4), + B(PopContext), R(18), B(LdaZero), - B(Star), R(3), + B(Star), R(14), + B(Mov), R(10), R(15), B(Jump), U8(14), B(LdaSmi), I8(-1), - B(Star), R(3), + B(Star), R(14), B(Jump), U8(8), - B(Star), R(4), + B(Star), R(15), B(LdaSmi), I8(1), - B(Star), R(3), + B(Star), R(14), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(5), + B(Star), R(16), B(LdaUndefined), - B(Star), R(6), - B(LdaCurrentContextSlot), U8(7), - B(Star), R(7), - B(CallJSRuntime), U8(%async_function_promise_release), R(6), U8(2), - B(Ldar), R(5), + B(Star), R(17), + B(Mov), R(10), R(18), + B(CallJSRuntime), U8(%async_function_promise_release), R(17), U8(2), + B(Ldar), R(16), B(SetPendingMessage), - B(Ldar), R(3), - B(SwitchOnSmiNoFeedback), U8(16), U8(2), I8(0), + B(Ldar), R(14), + B(SwitchOnSmiNoFeedback), U8(12), U8(2), I8(0), B(Jump), U8(8), - B(Ldar), R(4), + B(Ldar), R(15), /* 54 S> */ B(Return), - B(Ldar), R(4), + B(Ldar), R(15), B(ReThrow), B(LdaUndefined), /* 54 S> */ B(Return), ] constant pool: [ - Smi [100], - FIXED_ARRAY_TYPE, + Smi [91], SYMBOL_TYPE, - Smi [165], + Smi [89], ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], - FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], ONE_BYTE_INTERNALIZED_STRING_TYPE [""], FIXED_ARRAY_TYPE, - Smi [6], - Smi [22], FIXED_ARRAY_TYPE, Smi [6], Smi [9], ] handlers: [ - [64, 686, 692], - [67, 633, 635], - [84, 398, 404], - [87, 350, 352], - [491, 507, 509], + [70, 473, 479], + [73, 428, 430], + [82, 273, 279], + [85, 233, 235], + [339, 349, 351], ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/FunctionLiterals.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/FunctionLiterals.golden index 8fc6222588..f2ecd24b29 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/FunctionLiterals.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/FunctionLiterals.golden @@ -15,7 +15,7 @@ bytecode array length: 6 bytecodes: [ /* 30 E> */ B(StackCheck), /* 34 S> */ B(CreateClosure), U8(0), U8(3), 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(5), U8(2), B(Star), R(0), /* 56 E> */ B(CallUndefinedReceiver0), R(0), U8(3), - /* 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(3), - /* 71 S> */ B(Return), + /* 70 S> */ B(Return), ] constant pool: [ SHARED_FUNCTION_INFO_TYPE, diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/GenerateTestUndetectable.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/GenerateTestUndetectable.golden index 48f9afaa27..8d7b8966d4 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/GenerateTestUndetectable.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/GenerateTestUndetectable.golden @@ -17,7 +17,7 @@ parameter count: 1 bytecode array length: 25 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(2), + /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(2), B(Mov), R(2), R(0), /* 63 S> */ B(LdaSmi), I8(10), B(Star), R(1), @@ -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, @@ -47,7 +47,7 @@ parameter count: 1 bytecode array length: 25 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(2), + /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(2), B(Mov), R(2), R(0), /* 63 S> */ B(LdaSmi), I8(10), B(Star), R(1), @@ -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, @@ -77,7 +77,7 @@ parameter count: 1 bytecode array length: 25 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(2), + /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(2), B(Mov), R(2), R(0), /* 63 S> */ B(LdaSmi), I8(10), B(Star), R(1), @@ -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, @@ -107,7 +107,7 @@ parameter count: 1 bytecode array length: 25 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(2), + /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(2), B(Mov), R(2), R(0), /* 63 S> */ B(LdaSmi), I8(10), B(Star), R(1), @@ -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, @@ -137,7 +137,7 @@ parameter count: 1 bytecode array length: 24 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(2), + /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(2), B(Mov), R(2), R(0), /* 63 S> */ B(LdaSmi), I8(10), B(Star), R(1), @@ -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, @@ -166,7 +166,7 @@ parameter count: 1 bytecode array length: 24 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(2), + /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(2), B(Mov), R(2), R(0), /* 63 S> */ B(LdaSmi), I8(10), B(Star), R(1), @@ -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, @@ -195,7 +195,7 @@ parameter count: 1 bytecode array length: 24 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(2), + /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(2), B(Mov), R(2), R(0), /* 63 S> */ B(LdaSmi), I8(10), B(Star), R(1), @@ -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, @@ -224,7 +224,7 @@ parameter count: 1 bytecode array length: 24 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(2), + /* 46 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(2), B(Mov), R(2), R(0), /* 63 S> */ B(LdaSmi), I8(10), B(Star), R(1), @@ -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, diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/Generators.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/Generators.golden index 125e7b6502..94d192666d 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/Generators.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/Generators.golden @@ -11,100 +11,54 @@ snippet: " function* f() { } f(); " -frame size: 11 +frame size: 5 parameter count: 1 -bytecode array length: 173 +bytecode array length: 91 bytecodes: [ + B(Mov), R(new_target), R(1), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), - B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(1), U8(1), + B(PushContext), R(3), + B(RestoreGeneratorState), R(1), B(Star), R(2), - B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), + B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), + B(LdaSmi), I8(81), + B(Star), R(3), + B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), - B(CreateFunctionContext), U8(1), - B(PushContext), R(2), + B(Star), R(2), B(Mov), R(closure), R(3), B(Mov), R(this), R(4), B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), - B(StaCurrentContextSlot), U8(4), + B(Star), R(0), /* 11 E> */ B(StackCheck), - B(Mov), R(context), R(5), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(6), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(7), B(LdaZero), - /* 11 E> */ B(SuspendGenerator), R(6), U8(0), - B(Ldar), R(7), + B(Mov), R(0), R(1), + B(Mov), R(0), R(3), + /* 11 E> */ B(SuspendGenerator), R(1), R(0), U8(3), + B(Ldar), R(3), /* 16 S> */ B(Return), + B(RestoreGeneratorRegisters), R(1), R(0), U8(3), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1), - B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1), - B(Star), R(8), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(28), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(19), - B(LdaTrue), - B(Star), R(10), - B(Mov), R(7), R(9), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9), U8(2), - B(Star), R(4), - B(LdaZero), + B(Star), R(2), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(1), U8(1), B(Star), R(3), - B(Jump), U8(34), - B(Ldar), R(7), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1), + B(SwitchOnSmiNoFeedback), U8(1), U8(2), I8(0), + B(Ldar), R(3), /* 11 E> */ B(Throw), - B(LdaUndefined), - B(Star), R(6), - B(LdaTrue), - B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - B(Star), R(4), - B(LdaZero), - B(Star), R(3), - B(Jump), U8(14), - B(LdaSmi), I8(-1), - B(Star), R(3), - B(Jump), U8(8), - B(Star), R(4), - B(LdaSmi), I8(1), - B(Star), R(3), - B(LdaTheHole), - B(SetPendingMessage), - B(Star), R(5), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(6), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(6), U8(1), - B(Ldar), R(5), - B(SetPendingMessage), B(Ldar), R(3), - B(SwitchOnSmiNoFeedback), U8(1), U8(2), I8(0), - B(Jump), U8(8), - B(Ldar), R(4), /* 16 S> */ B(Return), - B(Ldar), R(4), - B(ReThrow), B(LdaUndefined), /* 16 S> */ B(Return), ] constant pool: [ - Smi [52], - Smi [6], - Smi [9], + Smi [44], + Smi [10], + Smi [7], ] handlers: [ - [51, 130, 136], ] --- @@ -112,135 +66,77 @@ snippet: " function* f() { yield 42 } f(); " -frame size: 11 +frame size: 6 parameter count: 1 -bytecode array length: 245 +bytecode array length: 140 bytecodes: [ + B(Mov), R(new_target), R(1), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), - B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0), - B(LdaSmi), I8(79), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(1), U8(1), + B(PushContext), R(3), + B(RestoreGeneratorState), R(1), B(Star), R(2), - B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), + B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0), + B(LdaSmi), I8(81), + B(Star), R(3), + B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), - B(CreateFunctionContext), U8(1), - B(PushContext), R(2), + B(Star), R(2), B(Mov), R(closure), R(3), B(Mov), R(this), R(4), B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), - B(StaCurrentContextSlot), U8(4), + B(Star), R(0), /* 11 E> */ B(StackCheck), - B(Mov), R(context), R(5), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(6), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(7), B(LdaZero), - /* 11 E> */ B(SuspendGenerator), R(6), U8(0), - B(Ldar), R(7), + B(Mov), R(0), R(1), + B(Mov), R(0), R(3), + /* 11 E> */ B(SuspendGenerator), R(1), R(0), U8(3), + B(Ldar), R(3), /* 25 S> */ B(Return), + B(RestoreGeneratorRegisters), R(1), R(0), U8(3), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1), - B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1), - B(Star), R(8), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(28), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(19), - B(LdaTrue), - B(Star), R(10), - B(Mov), R(7), R(9), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9), U8(2), - B(Star), R(4), - B(LdaZero), + B(Star), R(2), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(1), U8(1), B(Star), R(3), - B(Jump), U8(106), - B(Ldar), R(7), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(3), /* 11 E> */ B(Throw), - /* 16 S> */ B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(6), - B(LdaSmi), I8(42), - B(Star), R(7), - B(LdaFalse), - B(Star), R(8), - /* 16 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(7), U8(2), - B(Star), R(7), + B(Ldar), R(3), + /* 25 S> */ B(Return), + /* 16 S> */ B(LdaSmi), I8(42), + B(Star), R(3), B(LdaSmi), I8(1), - B(SuspendGenerator), R(6), U8(0), - B(Ldar), R(7), + B(SuspendGenerator), R(1), R(0), U8(3), + B(LdaFalse), + B(Star), R(5), + B(Mov), R(3), R(4), + B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(4), U8(2), /* 25 S> */ B(Return), + B(RestoreGeneratorRegisters), R(1), R(0), U8(3), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1), - B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1), - B(Star), R(8), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(28), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(19), - B(LdaTrue), - B(Star), R(10), - B(Mov), R(7), R(9), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9), U8(2), - B(Star), R(4), - B(LdaZero), + B(Star), R(2), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(1), U8(1), B(Star), R(3), - B(Jump), U8(34), - B(Ldar), R(7), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1), + B(SwitchOnSmiNoFeedback), U8(4), U8(2), I8(0), + B(Ldar), R(3), /* 16 E> */ B(Throw), - B(LdaUndefined), - B(Star), R(6), - B(LdaTrue), - B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - B(Star), R(4), - B(LdaZero), - B(Star), R(3), - B(Jump), U8(14), - B(LdaSmi), I8(-1), - B(Star), R(3), - B(Jump), U8(8), - B(Star), R(4), - B(LdaSmi), I8(1), - B(Star), R(3), - B(LdaTheHole), - B(SetPendingMessage), - B(Star), R(5), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(6), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(6), U8(1), - B(Ldar), R(5), - B(SetPendingMessage), B(Ldar), R(3), - B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), - B(Jump), U8(8), - B(Ldar), R(4), /* 25 S> */ B(Return), - B(Ldar), R(4), - B(ReThrow), B(LdaUndefined), /* 25 S> */ B(Return), ] constant pool: [ - Smi [52], - Smi [124], - Smi [6], - Smi [9], + Smi [44], + Smi [93], + Smi [10], + Smi [7], + Smi [10], + Smi [7], ] handlers: [ - [51, 202, 208], ] --- @@ -248,324 +144,353 @@ snippet: " function* f() { for (let x of [42]) yield x } f(); " -frame size: 17 +frame size: 19 parameter count: 1 -bytecode array length: 691 +bytecode array length: 432 bytecodes: [ + B(Mov), R(new_target), R(10), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(10), U8(1), + B(PushContext), R(12), + B(RestoreGeneratorState), R(10), + B(Star), R(11), B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0), - B(LdaSmi), I8(79), - B(Star), R(2), - B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), + B(LdaSmi), I8(81), + B(Star), R(12), + B(CallRuntime), U16(Runtime::kAbort), R(12), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), - B(CreateFunctionContext), U8(8), - B(PushContext), R(2), - B(Mov), R(closure), R(3), - B(Mov), R(this), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), - B(StaCurrentContextSlot), U8(4), + B(Star), R(11), + B(Mov), R(closure), R(12), + B(Mov), R(this), R(13), + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(12), U8(2), + B(Star), R(2), /* 11 E> */ B(StackCheck), - B(Mov), R(context), R(5), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(6), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(7), B(LdaZero), - /* 11 E> */ B(SuspendGenerator), R(6), U8(0), - B(Ldar), R(7), + B(Mov), R(2), R(10), + B(Mov), R(2), R(12), + /* 11 E> */ B(SuspendGenerator), R(10), R(0), U8(12), + B(Ldar), R(12), /* 44 S> */ B(Return), + B(RestoreGeneratorRegisters), R(10), R(0), U8(12), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1), - B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1), - B(Star), R(8), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(28), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(19), - B(LdaTrue), - B(Star), R(10), - B(Mov), R(7), R(9), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9), U8(2), - B(Star), R(4), - B(LdaZero), - B(Star), R(3), - B(JumpConstant), U8(17), - B(Ldar), R(7), + B(Star), R(11), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(10), U8(1), + B(Star), R(12), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(10), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(12), /* 11 E> */ B(Throw), - B(Ldar), R(closure), - B(CreateBlockContext), U8(2), - B(PushContext), R(6), + B(Ldar), R(12), + /* 44 S> */ B(Return), B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), + B(Star), R(1), B(LdaZero), - B(StaContextSlot), R(6), U8(8), U8(0), - B(Mov), R(context), R(9), - B(Mov), R(context), R(10), - /* 30 S> */ B(CreateArrayLiteral), U8(3), U8(3), U8(17), - B(Star), R(11), - B(LdaNamedProperty), R(11), U8(4), U8(4), - B(Star), R(12), - B(CallProperty0), R(12), R(11), U8(6), + B(Star), R(6), + B(Mov), R(context), R(14), + B(Mov), R(context), R(15), + /* 30 S> */ B(CreateArrayLiteral), U8(4), U8(3), U8(37), + B(Star), R(16), + B(LdaNamedProperty), R(16), U8(5), U8(4), + B(Star), R(17), + B(CallProperty0), R(17), R(16), U8(6), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), - /* 30 E> */ B(StaContextSlot), R(6), U8(6), U8(0), - B(Ldar), R(0), - B(SwitchOnSmiNoFeedback), U8(5), U8(1), I8(1), + B(Star), R(4), + B(Ldar), R(11), + B(SwitchOnSmiNoFeedback), U8(6), U8(1), I8(1), B(LdaSmi), I8(-2), - B(TestEqualStrictNoFeedback), R(0), + /* 30 E> */ B(TestEqualStrictNoFeedback), R(11), B(JumpIfTrue), U8(11), - B(LdaSmi), I8(79), - B(Star), R(11), - B(CallRuntime), U16(Runtime::kAbort), R(11), U8(1), - /* 27 S> */ B(LdaContextSlot), R(6), U8(6), U8(0), - B(Star), R(12), - B(LdaNamedProperty), R(12), U8(6), U8(10), - B(Star), R(11), - /* 27 E> */ B(CallProperty0), R(11), R(12), U8(8), - /* 27 E> */ B(StaContextSlot), R(6), U8(7), U8(0), - B(Star), R(11), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1), + B(LdaSmi), I8(81), + B(Star), R(16), + B(CallRuntime), U16(Runtime::kAbort), R(16), U8(1), + /* 25 S> */ B(LdaNamedProperty), R(4), U8(7), U8(10), + B(Star), R(16), + B(CallProperty0), R(16), R(4), U8(8), + B(Star), R(5), + /* 25 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(5), U8(1), B(ToBooleanLogicalNot), - B(JumpIfFalse), U8(13), - B(LdaContextSlot), R(6), U8(7), U8(0), - B(Star), R(11), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1), - B(LdaContextSlot), R(6), U8(7), U8(0), - B(Star), R(11), - B(LdaNamedProperty), R(11), U8(7), U8(12), - B(JumpIfToBooleanTrue), U8(142), - B(LdaContextSlot), R(6), U8(7), U8(0), - B(Star), R(11), - B(LdaNamedProperty), R(11), U8(8), U8(14), - B(StaContextSlot), R(6), U8(9), U8(0), + B(JumpIfFalse), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1), + B(LdaNamedProperty), R(5), U8(8), U8(12), + B(JumpIfToBooleanTrue), U8(78), + B(LdaNamedProperty), R(5), U8(9), U8(14), + B(Star), R(7), B(LdaSmi), I8(2), - B(StaContextSlot), R(6), U8(8), U8(0), - B(LdaContextSlot), R(6), U8(9), U8(0), - B(StaContextSlot), R(6), U8(5), U8(0), + B(Star), R(6), + B(Mov), R(7), R(3), /* 16 E> */ B(StackCheck), - B(Ldar), R(closure), - B(CreateBlockContext), U8(9), - B(PushContext), R(11), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(6), U8(5), U8(0), - B(StaCurrentContextSlot), U8(4), - /* 36 S> */ B(LdaImmutableContextSlot), R(6), U8(4), U8(0), - B(Star), R(12), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(13), + B(Mov), R(3), R(0), + /* 36 S> */ B(LdaSmi), I8(1), + B(Mov), R(0), R(16), + B(SuspendGenerator), R(10), R(0), U8(16), B(LdaFalse), - B(Star), R(14), - /* 42 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(13), U8(2), - B(Star), R(13), - B(LdaSmi), I8(1), - B(SuspendGenerator), R(12), U8(0), - B(Ldar), R(13), + B(Star), R(18), + B(Mov), R(16), R(17), + B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(17), U8(2), /* 44 S> */ B(Return), + B(RestoreGeneratorRegisters), R(10), R(0), U8(16), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(12), U8(1), - B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(12), U8(1), - B(Star), R(14), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(40), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(14), - B(JumpIfTrue), U8(31), - B(LdaTrue), + B(Star), R(11), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(10), U8(1), B(Star), R(16), - B(Mov), R(13), R(15), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(15), U8(2), - B(PopContext), R(11), - B(PopContext), R(11), - B(PopContext), R(11), - B(PopContext), R(11), - B(PopContext), R(11), - B(PopContext), R(11), - B(Star), R(8), - B(LdaZero), - B(Star), R(7), - B(Jump), U8(71), - B(Ldar), R(13), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(10), U8(1), + B(SwitchOnSmiNoFeedback), U8(10), U8(2), I8(0), + B(Ldar), R(16), /* 36 E> */ B(Throw), - B(PopContext), R(11), B(LdaZero), - B(StaContextSlot), R(6), U8(8), U8(0), - B(JumpLoop), U8(210), I8(0), - B(Jump), U8(44), - B(Star), R(11), - B(Ldar), R(closure), - B(CreateCatchContext), R(11), U8(10), U8(11), - B(PushContext), R(11), - B(Star), R(10), - B(LdaContextSlot), R(6), U8(8), U8(0), B(Star), R(12), + B(Mov), R(16), R(13), + B(Jump), U8(56), + B(LdaZero), + B(Star), R(6), + B(JumpLoop), U8(124), I8(0), + B(Jump), U8(36), + B(Star), R(16), + B(Ldar), R(closure), + B(CreateCatchContext), R(16), U8(12), U8(13), + B(PushContext), R(16), + B(Star), R(15), B(LdaSmi), I8(2), - B(TestEqualStrict), R(12), U8(16), - B(JumpIfFalse), U8(8), + B(TestEqualStrict), R(6), U8(16), + B(JumpIfFalse), U8(6), B(LdaSmi), I8(1), - B(StaContextSlot), R(6), U8(8), U8(0), + B(Star), R(6), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(12), - B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1), - B(PopContext), R(11), + B(Star), R(17), + B(CallRuntime), U16(Runtime::kReThrow), R(17), U8(1), + B(PopContext), R(16), B(LdaSmi), I8(-1), - B(Star), R(7), + B(Star), R(12), B(Jump), U8(8), - B(Star), R(8), + B(Star), R(13), B(LdaSmi), I8(1), - B(Star), R(7), + B(Star), R(12), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(9), - B(LdaContextSlot), R(6), U8(8), U8(0), - B(Star), R(10), + B(Star), R(14), B(LdaZero), - B(TestEqualStrict), R(10), U8(17), - B(JumpIfTrue), U8(150), - B(LdaContextSlot), R(6), U8(6), U8(0), - B(Star), R(10), - B(LdaNamedProperty), R(10), U8(12), U8(18), - B(StaContextSlot), R(6), U8(10), U8(0), - B(LdaContextSlot), R(6), U8(10), U8(0), + B(TestEqualStrict), R(6), U8(17), + B(JumpIfTrue), U8(104), + B(LdaNamedProperty), R(4), U8(14), U8(18), + B(Star), R(8), B(TestUndetectable), B(JumpIfFalse), U8(4), - B(Jump), U8(127), - B(LdaContextSlot), R(6), U8(8), U8(0), - B(Star), R(10), + B(Jump), U8(93), B(LdaSmi), I8(1), - B(TestEqualStrict), R(10), U8(21), - B(JumpIfFalse), U8(69), - B(LdaContextSlot), R(6), U8(10), U8(0), + B(TestEqualStrict), R(6), U8(21), + B(JumpIfFalse), U8(61), + B(Ldar), R(8), B(TestTypeOf), U8(5), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(130), - B(Star), R(10), - B(LdaConstant), U8(13), - B(Star), R(11), - B(CallRuntime), U16(Runtime::kNewTypeError), R(10), U8(2), + B(Wide), B(LdaSmi), I16(131), + B(Star), R(15), + B(LdaConstant), U8(15), + B(Star), R(16), + B(CallRuntime), U16(Runtime::kNewTypeError), R(15), U8(2), B(Throw), - B(Mov), R(context), R(10), - B(LdaContextSlot), R(6), U8(10), U8(0), - B(Star), R(11), - B(LdaContextSlot), R(6), U8(6), U8(0), - B(Star), R(12), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2), + B(Mov), R(context), R(15), + B(Mov), R(8), R(16), + B(Mov), R(4), R(17), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(16), U8(2), B(Jump), U8(20), - B(Star), R(11), + B(Star), R(16), B(Ldar), R(closure), - B(CreateCatchContext), R(11), U8(10), U8(14), - B(Star), R(10), + B(CreateCatchContext), R(16), U8(12), U8(16), + B(Star), R(15), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(10), - B(PushContext), R(11), - B(PopContext), R(11), - B(Jump), U8(47), - B(LdaContextSlot), R(6), U8(10), U8(0), - B(Star), R(10), - B(LdaContextSlot), R(6), U8(6), U8(0), - B(Star), R(11), - B(InvokeIntrinsic), U8(Runtime::k_Call), R(10), U8(2), - B(StaContextSlot), R(6), U8(11), U8(0), - B(LdaContextSlot), R(6), U8(11), U8(0), - B(Star), R(10), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(10), U8(1), + B(Ldar), R(15), + B(PushContext), R(16), + B(PopContext), R(16), + B(Jump), U8(27), + B(Mov), R(8), R(15), + B(Mov), R(4), R(16), + B(InvokeIntrinsic), U8(Runtime::k_Call), R(15), U8(2), + B(Star), R(9), + B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(9), U8(1), B(JumpIfToBooleanFalse), U8(4), - B(Jump), U8(13), - B(LdaContextSlot), R(6), U8(11), U8(0), - B(Star), R(10), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1), - B(Ldar), R(9), + B(Jump), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1), + B(Ldar), R(14), B(SetPendingMessage), - B(Ldar), R(7), - B(SwitchOnSmiNoFeedback), U8(15), U8(2), I8(0), - B(Jump), U8(27), - B(PopContext), R(6), - B(PopContext), R(6), - B(LdaZero), - B(Star), R(3), - B(Mov), R(8), R(4), - B(Jump), U8(46), - B(PopContext), R(6), - B(PopContext), R(6), - B(LdaSmi), I8(1), - B(Star), R(3), - B(Mov), R(8), R(4), - B(Jump), U8(33), - B(PopContext), R(6), - B(LdaUndefined), - B(Star), R(6), - B(LdaTrue), - B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - B(Star), R(4), - B(LdaZero), - B(Star), R(3), - B(Jump), U8(14), - B(LdaSmi), I8(-1), - B(Star), R(3), + B(Ldar), R(12), + B(SwitchOnSmiNoFeedback), U8(17), U8(2), I8(0), B(Jump), U8(8), - B(Star), R(4), - B(LdaSmi), I8(1), - B(Star), R(3), - B(LdaTheHole), - B(SetPendingMessage), - B(Star), R(5), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(6), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(6), U8(1), - B(Ldar), R(5), - B(SetPendingMessage), - B(Ldar), R(3), - B(SwitchOnSmiNoFeedback), U8(18), U8(2), I8(0), - B(Jump), U8(8), - B(Ldar), R(4), + B(Ldar), R(13), /* 44 S> */ B(Return), - B(Ldar), R(4), + B(Ldar), R(13), B(ReThrow), B(LdaUndefined), /* 44 S> */ B(Return), ] constant pool: [ - Smi [52], - Smi [146], - FIXED_ARRAY_TYPE, + Smi [44], + Smi [109], + Smi [10], + Smi [7], TUPLE2_TYPE, SYMBOL_TYPE, - Smi [142], + Smi [86], ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], - FIXED_ARRAY_TYPE, + Smi [15], + Smi [7], ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], ONE_BYTE_INTERNALIZED_STRING_TYPE [""], FIXED_ARRAY_TYPE, Smi [6], - Smi [18], - Smi [552], - Smi [6], Smi [9], ] handlers: [ - [51, 648, 654], - [130, 417, 423], - [133, 373, 375], - [510, 526, 528], + [98, 289, 295], + [101, 253, 255], + [356, 366, 368], +] + +--- +snippet: " + function* g() { yield 42 } + function* f() { yield* g() } + f(); +" +frame size: 10 +parameter count: 1 +bytecode array length: 291 +bytecodes: [ + B(Mov), R(new_target), R(1), + B(Ldar), R(new_target), + B(JumpIfUndefined), U8(25), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(1), U8(1), + B(PushContext), R(3), + B(RestoreGeneratorState), R(1), + B(Star), R(2), + B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0), + B(LdaSmi), I8(81), + B(Star), R(3), + B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), + B(LdaSmi), I8(-2), + B(Star), R(2), + B(Mov), R(closure), R(3), + B(Mov), R(this), R(4), + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), + B(Star), R(0), + /* 38 E> */ B(StackCheck), + B(LdaZero), + B(Mov), R(0), R(1), + B(Mov), R(0), R(3), + /* 38 E> */ B(SuspendGenerator), R(1), R(0), U8(3), + B(Ldar), R(3), + /* 54 S> */ B(Return), + B(RestoreGeneratorRegisters), R(1), R(0), U8(3), + B(LdaSmi), I8(-2), + B(Star), R(2), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(1), U8(1), + B(Star), R(3), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(3), + /* 38 E> */ B(Throw), + B(Ldar), R(3), + /* 54 S> */ B(Return), + /* 43 S> */ B(LdaGlobal), U8(4), U8(5), + B(Star), R(9), + /* 50 E> */ B(CallUndefinedReceiver0), R(9), U8(3), + B(Star), R(7), + B(LdaNamedProperty), R(7), U8(5), U8(7), + B(Star), R(8), + B(CallProperty0), R(8), R(7), U8(19), + B(JumpIfJSReceiver), U8(7), + B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), + B(Star), R(5), + B(LdaUndefined), + B(Star), R(6), + B(LdaZero), + B(Star), R(4), + B(Ldar), R(2), + B(SwitchOnSmiNoFeedback), U8(6), U8(1), I8(1), + B(LdaSmi), I8(-2), + B(TestEqualStrictNoFeedback), R(2), + B(JumpIfTrue), U8(11), + B(LdaSmi), I8(81), + B(Star), R(9), + B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1), + B(Ldar), R(4), + B(SwitchOnSmiNoFeedback), U8(7), U8(2), I8(1), + B(LdaNamedProperty), R(5), U8(9), U8(11), + B(Star), R(9), + B(CallProperty1), R(9), R(5), R(6), U8(25), + B(Jump), U8(65), + B(LdaNamedProperty), R(5), U8(10), U8(9), + B(JumpIfUndefined), U8(13), + B(JumpIfNull), U8(11), + B(Star), R(9), + B(CallProperty1), R(9), R(5), R(6), U8(21), + B(Jump), U8(48), + B(Ldar), R(6), + /* 54 S> */ B(Return), + B(LdaNamedProperty), R(5), U8(11), U8(13), + B(JumpIfUndefined), U8(13), + B(JumpIfNull), U8(11), + B(Star), R(9), + B(CallProperty1), R(9), R(5), R(6), U8(27), + B(Jump), U8(28), + B(LdaNamedProperty), R(5), U8(10), U8(9), + B(Star), R(9), + B(JumpIfUndefined), U8(15), + B(JumpIfNull), U8(13), + B(CallProperty0), R(9), R(5), U8(23), + B(JumpIfJSReceiver), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(3), U8(1), + B(CallRuntime), U16(Runtime::kThrowThrowMethodMissing), R(0), U8(0), + B(Star), R(3), + B(JumpIfJSReceiver), U8(7), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(3), U8(1), + B(LdaNamedProperty), R(3), U8(12), U8(15), + B(JumpIfToBooleanTrue), U8(34), + B(LdaSmi), I8(1), + B(SuspendGenerator), R(1), R(0), U8(9), + B(Ldar), R(3), + /* 54 S> */ B(Return), + B(RestoreGeneratorRegisters), R(1), R(0), U8(9), + B(LdaSmi), I8(-2), + B(Star), R(2), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(1), U8(1), + B(Star), R(6), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1), + B(Star), R(4), + B(JumpLoop), U8(147), I8(0), + B(LdaNamedProperty), R(3), U8(13), U8(17), + B(Star), R(5), + B(LdaSmi), I8(1), + B(TestEqualStrictNoFeedback), R(4), + B(JumpIfFalse), U8(5), + B(Ldar), R(5), + /* 54 S> */ B(Return), + B(LdaUndefined), + /* 54 S> */ B(Return), +] +constant pool: [ + Smi [44], + Smi [107], + Smi [10], + Smi [7], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["g"], + SYMBOL_TYPE, + Smi [125], + Smi [17], + Smi [37], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["throw"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], +] +handlers: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/GlobalCompoundExpressions.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/GlobalCompoundExpressions.golden index 20be404cac..33a83c32f7 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/GlobalCompoundExpressions.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/GlobalCompoundExpressions.golden @@ -20,7 +20,7 @@ bytecodes: [ /* 31 S> */ B(LdaGlobal), U8(0), U8(3), B(BitwiseAndSmi), I8(1), U8(5), /* 45 E> */ B(StaGlobalSloppy), U8(0), U8(6), - /* 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(3), B(AddSmi), I8(1), U8(5), /* 51 E> */ B(StaGlobalSloppy), U8(0), U8(6), - /* 57 S> */ B(Return), + /* 56 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["unallocated"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/GlobalCountOperators.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/GlobalCountOperators.golden index e76e402f79..519158073c 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/GlobalCountOperators.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/GlobalCountOperators.golden @@ -20,7 +20,7 @@ bytecodes: [ /* 31 S> */ B(LdaGlobal), U8(0), U8(3), B(Inc), U8(7), /* 40 E> */ B(StaGlobalSloppy), U8(0), U8(5), - /* 48 S> */ B(Return), + /* 47 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["global"], @@ -45,7 +45,7 @@ bytecodes: [ B(Dec), U8(7), /* 44 E> */ B(StaGlobalSloppy), U8(0), U8(5), 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(3), B(Dec), U8(7), /* 55 E> */ B(StaGlobalStrict), U8(0), U8(5), - /* 68 S> */ B(Return), + /* 67 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["unallocated"], @@ -92,7 +92,7 @@ bytecodes: [ B(Inc), U8(7), /* 50 E> */ B(StaGlobalSloppy), U8(0), U8(5), B(Ldar), R(0), - /* 54 S> */ B(Return), + /* 53 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["unallocated"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/GlobalDelete.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/GlobalDelete.golden index 5bfea8531b..66b393ed9a 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/GlobalDelete.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/GlobalDelete.golden @@ -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"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/HeapNumberConstants.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/HeapNumberConstants.golden index 14bf7088e6..5ffe8caa6f 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/HeapNumberConstants.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/HeapNumberConstants.golden @@ -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], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/IfConditions.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/IfConditions.golden index 452a36cab4..6bf5fdea13 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/IfConditions.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/IfConditions.golden @@ -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(3), 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), ] @@ -258,7 +258,7 @@ snippet: " " frame size: 2 parameter count: 2 -bytecode array length: 156 +bytecode array length: 29 bytecodes: [ /* 10 E> */ B(StackCheck), /* 24 S> */ B(LdaZero), @@ -267,139 +267,12 @@ bytecodes: [ B(Star), R(1), /* 38 S> */ B(LdaConstant), U8(0), /* 44 E> */ B(TestEqualStrict), R(0), U8(3), - B(JumpIfFalse), U8(137), + B(JumpIfFalse), U8(10), /* 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), - /* 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), ] @@ -484,7 +357,7 @@ snippet: " " frame size: 2 parameter count: 1 -bytecode array length: 153 +bytecode array length: 26 bytecodes: [ /* 10 E> */ B(StackCheck), /* 25 S> */ B(LdaZero), @@ -492,139 +365,12 @@ bytecodes: [ /* 36 S> */ B(LdaZero), B(Star), R(1), /* 41 S> */ B(Ldar), R(0), - B(JumpIfToBooleanFalse), U8(137), + B(JumpIfToBooleanFalse), U8(10), /* 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), - /* 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 +403,44 @@ bytecodes: [ /* 27 E> */ B(TestEqual), R(arg0), U8(3), 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(4), 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(5), 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(6), 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(7), 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(8), 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 +468,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 +504,7 @@ bytecodes: [ /* 37 E> */ B(TestLessThan), R(arg0), U8(4), 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(5), B(JumpIfFalse), U8(10), @@ -766,9 +512,9 @@ bytecodes: [ /* 82 E> */ B(TestGreaterThan), R(arg1), U8(6), 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), ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/IntegerConstants.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/IntegerConstants.golden index 1997d02233..ea0f55d478 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/IntegerConstants.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/IntegerConstants.golden @@ -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: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/JumpsRequiringConstantWideOperands.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/JumpsRequiringConstantWideOperands.golden index 0086de7bca..efc3c1bfec 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/JumpsRequiringConstantWideOperands.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/JumpsRequiringConstantWideOperands.golden @@ -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], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/LetVariable.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/LetVariable.golden index 9ac2838412..1b62c4c063 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/LetVariable.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/LetVariable.golden @@ -30,13 +30,12 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 7 +bytecode array length: 6 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(10), B(Star), R(0), - /* 46 S> */ B(Nop), - /* 56 S> */ B(Return), + /* 55 S> */ B(Return), ] constant pool: [ ] @@ -47,20 +46,17 @@ handlers: [ snippet: " let x = (x = 20); " -frame size: 3 +frame size: 2 parameter count: 1 -bytecode array length: 26 +bytecode array length: 17 bytecodes: [ B(LdaTheHole), B(Star), R(0), /* 30 E> */ B(StackCheck), - /* 45 S> */ B(LdaSmi), I8(20), + /* 42 S> */ B(LdaSmi), I8(20), B(Star), R(1), B(Ldar), R(0), - B(JumpIfNotHole), U8(11), - B(LdaConstant), U8(0), - B(Star), R(2), - /* 45 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(2), U8(1), + /* 45 E> */ B(ThrowReferenceErrorIfHole), U8(0), B(Mov), R(1), R(0), B(LdaUndefined), /* 52 S> */ B(Return), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/LetVariableContextSlot.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/LetVariableContextSlot.golden index d471754930..2bca2d80af 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/LetVariableContextSlot.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/LetVariableContextSlot.golden @@ -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, @@ -61,9 +61,9 @@ handlers: [ snippet: " let x = (x = 20); function f1() {return x;} " -frame size: 4 +frame size: 3 parameter count: 1 -bytecode array length: 39 +bytecode array length: 30 bytecodes: [ B(CreateFunctionContext), U8(1), B(PushContext), R(1), @@ -72,16 +72,13 @@ bytecodes: [ B(CreateClosure), U8(0), U8(3), U8(2), B(Star), R(0), /* 30 E> */ B(StackCheck), - /* 45 S> */ B(LdaSmi), I8(20), + /* 42 S> */ B(LdaSmi), I8(20), B(Star), R(2), B(LdaCurrentContextSlot), U8(4), - B(JumpIfNotHole), U8(11), - B(LdaConstant), U8(1), - B(Star), R(3), - /* 45 E> */ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(3), U8(1), + /* 45 E> */ B(ThrowReferenceErrorIfHole), U8(1), B(Ldar), R(2), B(StaCurrentContextSlot), U8(4), - /* 45 E> */ B(StaCurrentContextSlot), U8(4), + /* 42 E> */ B(StaCurrentContextSlot), U8(4), B(LdaUndefined), /* 78 S> */ B(Return), ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/LoadGlobal.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/LoadGlobal.golden index 537f38b956..c5058c0393 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/LoadGlobal.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/LoadGlobal.golden @@ -18,7 +18,7 @@ bytecode array length: 5 bytecodes: [ /* 21 E> */ B(StackCheck), /* 26 S> */ B(LdaGlobal), U8(0), U8(3), - /* 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(3), - /* 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(3), - /* 32 S> */ B(Return), + /* 31 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], @@ -204,267 +204,139 @@ snippet: " " frame size: 0 parameter count: 2 -bytecode array length: 652 +bytecode array length: 524 bytecodes: [ /* 17 E> */ B(StackCheck), - /* 25 S> */ B(Nop), - /* 26 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), - /* 35 S> */ B(Nop), - /* 36 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), - /* 45 S> */ B(Nop), - /* 46 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7), - /* 55 S> */ B(Nop), - /* 56 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9), - /* 65 S> */ B(Nop), - /* 66 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11), - /* 75 S> */ B(Nop), - /* 76 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13), - /* 85 S> */ B(Nop), - /* 86 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15), - /* 95 S> */ B(Nop), - /* 96 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17), - /* 105 S> */ B(Nop), - /* 106 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19), - /* 115 S> */ B(Nop), - /* 116 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21), - /* 125 S> */ B(Nop), - /* 126 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23), - /* 135 S> */ B(Nop), - /* 136 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25), - /* 145 S> */ B(Nop), - /* 146 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27), - /* 155 S> */ B(Nop), - /* 156 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29), - /* 165 S> */ B(Nop), - /* 166 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31), - /* 175 S> */ B(Nop), - /* 176 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33), - /* 185 S> */ B(Nop), - /* 186 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35), - /* 195 S> */ B(Nop), - /* 196 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37), - /* 205 S> */ B(Nop), - /* 206 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39), - /* 215 S> */ B(Nop), - /* 216 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41), - /* 225 S> */ B(Nop), - /* 226 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43), - /* 235 S> */ B(Nop), - /* 236 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45), - /* 245 S> */ B(Nop), - /* 246 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47), - /* 255 S> */ B(Nop), - /* 256 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49), - /* 265 S> */ B(Nop), - /* 266 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51), - /* 275 S> */ B(Nop), - /* 276 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53), - /* 285 S> */ B(Nop), - /* 286 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55), - /* 295 S> */ B(Nop), - /* 296 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57), - /* 305 S> */ B(Nop), - /* 306 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59), - /* 315 S> */ B(Nop), - /* 316 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61), - /* 325 S> */ B(Nop), - /* 326 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63), - /* 335 S> */ B(Nop), - /* 336 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65), - /* 345 S> */ B(Nop), - /* 346 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67), - /* 355 S> */ B(Nop), - /* 356 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69), - /* 365 S> */ B(Nop), - /* 366 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71), - /* 375 S> */ B(Nop), - /* 376 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73), - /* 385 S> */ B(Nop), - /* 386 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75), - /* 395 S> */ B(Nop), - /* 396 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77), - /* 405 S> */ B(Nop), - /* 406 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79), - /* 415 S> */ B(Nop), - /* 416 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81), - /* 425 S> */ B(Nop), - /* 426 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83), - /* 435 S> */ B(Nop), - /* 436 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85), - /* 445 S> */ B(Nop), - /* 446 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87), - /* 455 S> */ B(Nop), - /* 456 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89), - /* 465 S> */ B(Nop), - /* 466 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91), - /* 475 S> */ B(Nop), - /* 476 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93), - /* 485 S> */ B(Nop), - /* 486 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95), - /* 495 S> */ B(Nop), - /* 496 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97), - /* 505 S> */ B(Nop), - /* 506 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99), - /* 515 S> */ B(Nop), - /* 516 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101), - /* 525 S> */ B(Nop), - /* 526 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103), - /* 535 S> */ B(Nop), - /* 536 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105), - /* 545 S> */ B(Nop), - /* 546 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107), - /* 555 S> */ B(Nop), - /* 556 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109), - /* 565 S> */ B(Nop), - /* 566 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111), - /* 575 S> */ B(Nop), - /* 576 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113), - /* 585 S> */ B(Nop), - /* 586 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115), - /* 595 S> */ B(Nop), - /* 596 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117), - /* 605 S> */ B(Nop), - /* 606 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119), - /* 615 S> */ B(Nop), - /* 616 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121), - /* 625 S> */ B(Nop), - /* 626 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123), - /* 635 S> */ B(Nop), - /* 636 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125), - /* 645 S> */ B(Nop), - /* 646 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127), - /* 655 S> */ B(Nop), - /* 656 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129), - /* 665 S> */ B(Nop), - /* 666 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131), - /* 675 S> */ B(Nop), - /* 676 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133), - /* 685 S> */ B(Nop), - /* 686 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135), - /* 695 S> */ B(Nop), - /* 696 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137), - /* 705 S> */ B(Nop), - /* 706 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139), - /* 715 S> */ B(Nop), - /* 716 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141), - /* 725 S> */ B(Nop), - /* 726 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143), - /* 735 S> */ B(Nop), - /* 736 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145), - /* 745 S> */ B(Nop), - /* 746 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147), - /* 755 S> */ B(Nop), - /* 756 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149), - /* 765 S> */ B(Nop), - /* 766 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151), - /* 775 S> */ B(Nop), - /* 776 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153), - /* 785 S> */ B(Nop), - /* 786 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155), - /* 795 S> */ B(Nop), - /* 796 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157), - /* 805 S> */ B(Nop), - /* 806 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159), - /* 815 S> */ B(Nop), - /* 816 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161), - /* 825 S> */ B(Nop), - /* 826 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163), - /* 835 S> */ B(Nop), - /* 836 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165), - /* 845 S> */ B(Nop), - /* 846 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167), - /* 855 S> */ B(Nop), - /* 856 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169), - /* 865 S> */ B(Nop), - /* 866 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171), - /* 875 S> */ B(Nop), - /* 876 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173), - /* 885 S> */ B(Nop), - /* 886 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175), - /* 895 S> */ B(Nop), - /* 896 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177), - /* 905 S> */ B(Nop), - /* 906 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179), - /* 915 S> */ B(Nop), - /* 916 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181), - /* 925 S> */ B(Nop), - /* 926 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183), - /* 935 S> */ B(Nop), - /* 936 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185), - /* 945 S> */ B(Nop), - /* 946 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187), - /* 955 S> */ B(Nop), - /* 956 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189), - /* 965 S> */ B(Nop), - /* 966 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191), - /* 975 S> */ B(Nop), - /* 976 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193), - /* 985 S> */ B(Nop), - /* 986 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195), - /* 995 S> */ B(Nop), - /* 996 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197), - /* 1005 S> */ B(Nop), - /* 1006 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199), - /* 1015 S> */ B(Nop), - /* 1016 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201), - /* 1025 S> */ B(Nop), - /* 1026 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203), - /* 1035 S> */ B(Nop), - /* 1036 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205), - /* 1045 S> */ B(Nop), - /* 1046 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207), - /* 1055 S> */ B(Nop), - /* 1056 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209), - /* 1065 S> */ B(Nop), - /* 1066 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211), - /* 1075 S> */ B(Nop), - /* 1076 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213), - /* 1085 S> */ B(Nop), - /* 1086 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215), - /* 1095 S> */ B(Nop), - /* 1096 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217), - /* 1105 S> */ B(Nop), - /* 1106 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219), - /* 1115 S> */ B(Nop), - /* 1116 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221), - /* 1125 S> */ B(Nop), - /* 1126 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223), - /* 1135 S> */ B(Nop), - /* 1136 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225), - /* 1145 S> */ B(Nop), - /* 1146 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227), - /* 1155 S> */ B(Nop), - /* 1156 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229), - /* 1165 S> */ B(Nop), - /* 1166 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231), - /* 1175 S> */ B(Nop), - /* 1176 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233), - /* 1185 S> */ B(Nop), - /* 1186 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235), - /* 1195 S> */ B(Nop), - /* 1196 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237), - /* 1205 S> */ B(Nop), - /* 1206 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239), - /* 1215 S> */ B(Nop), - /* 1216 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241), - /* 1225 S> */ B(Nop), - /* 1226 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243), - /* 1235 S> */ B(Nop), - /* 1236 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245), - /* 1245 S> */ B(Nop), - /* 1246 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247), - /* 1255 S> */ B(Nop), - /* 1256 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249), - /* 1265 S> */ B(Nop), - /* 1266 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251), - /* 1275 S> */ B(Nop), - /* 1276 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253), - /* 1285 S> */ B(Nop), - /* 1286 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255), - /* 1295 S> */ B(Nop), - /* 1296 E> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(257), + /* 27 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), + /* 37 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), + /* 47 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7), + /* 57 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9), + /* 67 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11), + /* 77 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13), + /* 87 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15), + /* 97 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17), + /* 107 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19), + /* 117 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21), + /* 127 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23), + /* 137 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25), + /* 147 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27), + /* 157 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29), + /* 167 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31), + /* 177 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33), + /* 187 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35), + /* 197 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37), + /* 207 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39), + /* 217 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41), + /* 227 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43), + /* 237 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45), + /* 247 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47), + /* 257 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49), + /* 267 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51), + /* 277 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53), + /* 287 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55), + /* 297 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57), + /* 307 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59), + /* 317 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61), + /* 327 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63), + /* 337 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65), + /* 347 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67), + /* 357 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69), + /* 367 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71), + /* 377 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73), + /* 387 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75), + /* 397 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77), + /* 407 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79), + /* 417 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81), + /* 427 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83), + /* 437 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85), + /* 447 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87), + /* 457 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89), + /* 467 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91), + /* 477 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93), + /* 487 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95), + /* 497 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97), + /* 507 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99), + /* 517 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101), + /* 527 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103), + /* 537 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105), + /* 547 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107), + /* 557 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109), + /* 567 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111), + /* 577 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113), + /* 587 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115), + /* 597 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117), + /* 607 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119), + /* 617 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121), + /* 627 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123), + /* 637 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125), + /* 647 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127), + /* 657 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129), + /* 667 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131), + /* 677 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133), + /* 687 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135), + /* 697 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137), + /* 707 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139), + /* 717 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141), + /* 727 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143), + /* 737 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145), + /* 747 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147), + /* 757 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149), + /* 767 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151), + /* 777 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153), + /* 787 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155), + /* 797 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157), + /* 807 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159), + /* 817 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161), + /* 827 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163), + /* 837 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165), + /* 847 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167), + /* 857 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169), + /* 867 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171), + /* 877 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173), + /* 887 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175), + /* 897 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177), + /* 907 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179), + /* 917 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181), + /* 927 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183), + /* 937 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185), + /* 947 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187), + /* 957 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189), + /* 967 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191), + /* 977 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193), + /* 987 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195), + /* 997 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197), + /* 1007 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199), + /* 1017 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201), + /* 1027 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203), + /* 1037 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205), + /* 1047 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207), + /* 1057 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209), + /* 1067 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211), + /* 1077 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213), + /* 1087 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215), + /* 1097 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217), + /* 1107 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219), + /* 1117 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221), + /* 1127 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223), + /* 1137 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225), + /* 1147 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227), + /* 1157 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229), + /* 1167 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231), + /* 1177 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233), + /* 1187 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235), + /* 1197 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237), + /* 1207 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239), + /* 1217 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241), + /* 1227 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243), + /* 1237 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245), + /* 1247 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247), + /* 1257 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249), + /* 1267 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251), + /* 1277 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253), + /* 1287 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255), + /* 1297 S> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(257), /* 1305 S> */ B(Wide), B(LdaGlobal), U16(1), U16(259), - /* 1315 S> */ B(Return), + /* 1314 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["name"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/LogicalExpressions.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/LogicalExpressions.golden index 2f109764a4..8e315d91be 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/LogicalExpressions.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/LogicalExpressions.golden @@ -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(3), 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(3), 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: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/LookupSlot.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/LookupSlot.golden index d5501dc513..3beb88a952 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/LookupSlot.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/LookupSlot.golden @@ -40,7 +40,7 @@ bytecodes: [ B(Star), R(1), /* 14 E> */ B(CallUndefinedReceiver1), R(1), R(2), U8(3), /* 35 S> */ B(LdaLookupGlobalSlot), U8(2), U8(7), 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(3), /* 35 S> */ B(LdaLookupGlobalSlotInsideTypeof), U8(2), U8(7), U8(1), B(TypeOf), - /* 52 S> */ B(Return), + /* 51 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"], @@ -101,7 +101,7 @@ snippet: " " frame size: 9 parameter count: 1 -bytecode array length: 62 +bytecode array length: 63 bytecodes: [ B(CreateFunctionContext), U8(3), B(PushContext), R(0), @@ -113,7 +113,7 @@ bytecodes: [ B(StaCurrentContextSlot), U8(5), /* 10 E> */ B(StackCheck), /* 14 S> */ B(LdaSmi), I8(20), - /* 16 E> */ B(StaLookupSlotSloppy), U8(0), + /* 16 E> */ B(StaLookupSlot), U8(0), U8(0), /* 22 S> */ B(LdaLookupGlobalSlot), U8(1), U8(5), U8(1), B(Star), R(1), B(LdaConstant), U8(2), @@ -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(3), - /* 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(3), /* 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(3), /* 62 S> */ B(LdaLookupGlobalSlot), U8(2), U8(7), U8(1), - /* 72 S> */ B(Return), + /* 71 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["eval"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/LookupSlotInEval.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/LookupSlotInEval.golden index 77e2438dc0..2b92b7aaa8 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/LookupSlotInEval.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/LookupSlotInEval.golden @@ -21,7 +21,7 @@ bytecode array length: 6 bytecodes: [ /* 10 E> */ B(StackCheck), /* 15 S> */ B(LdaLookupGlobalSlot), U8(0), U8(3), U8(1), - /* 25 S> */ B(Return), + /* 24 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], @@ -40,11 +40,11 @@ snippet: " " frame size: 0 parameter count: 1 -bytecode array length: 7 +bytecode array length: 8 bytecodes: [ /* 10 E> */ B(StackCheck), /* 15 S> */ B(LdaSmi), I8(10), - /* 17 E> */ B(StaLookupSlotSloppy), U8(0), + /* 17 E> */ B(StaLookupSlot), U8(0), U8(0), B(LdaUndefined), /* 23 S> */ B(Return), ] @@ -65,11 +65,11 @@ snippet: " " frame size: 0 parameter count: 1 -bytecode array length: 7 +bytecode array length: 8 bytecodes: [ /* 10 E> */ B(StackCheck), /* 29 S> */ B(LdaSmi), I8(10), - /* 31 E> */ B(StaLookupSlotStrict), U8(0), + /* 31 E> */ B(StaLookupSlot), U8(0), U8(1), B(LdaUndefined), /* 37 S> */ B(Return), ] @@ -95,7 +95,7 @@ bytecodes: [ /* 10 E> */ B(StackCheck), /* 15 S> */ B(LdaLookupGlobalSlotInsideTypeof), U8(0), U8(3), U8(1), B(TypeOf), - /* 32 S> */ B(Return), + /* 31 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/LookupSlotWideInEval.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/LookupSlotWideInEval.golden index f90c3668b7..a581712feb 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/LookupSlotWideInEval.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/LookupSlotWideInEval.golden @@ -2380,7 +2380,7 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 1033 +bytecode array length: 1034 bytecodes: [ /* 10 E> */ B(StackCheck), /* 22 S> */ B(LdaConstant), U8(0), @@ -2896,7 +2896,7 @@ bytecodes: [ /* 3082 S> */ B(LdaConstant), U8(255), B(Star), R(0), /* 3086 S> */ B(LdaSmi), I8(10), - /* 3088 E> */ B(Wide), B(StaLookupSlotSloppy), U16(256), + /* 3088 E> */ B(Wide), B(StaLookupSlot), U16(256), U8(0), B(LdaUndefined), /* 3093 S> */ B(Return), ] @@ -3434,7 +3434,7 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 1033 +bytecode array length: 1034 bytecodes: [ /* 10 E> */ B(StackCheck), /* 35 S> */ B(LdaConstant), U8(0), @@ -3950,7 +3950,7 @@ bytecodes: [ /* 3095 S> */ B(LdaConstant), U8(255), B(Star), R(0), /* 3099 S> */ B(LdaSmi), I8(10), - /* 3101 E> */ B(Wide), B(StaLookupSlotStrict), U16(256), + /* 3101 E> */ B(Wide), B(StaLookupSlot), U16(256), U8(1), B(LdaUndefined), /* 3106 S> */ B(Return), ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/Modules.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/Modules.golden index 2a44009043..d97dd97ea0 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/Modules.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/Modules.golden @@ -11,22 +11,23 @@ top level: yes snippet: " import \"bar\"; " -frame size: 8 +frame size: 5 parameter count: 2 -bytecode array length: 130 +bytecode array length: 110 bytecodes: [ + B(Mov), R(new_target), R(0), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8(1), + B(PushContext), R(2), + B(RestoreGeneratorState), R(0), + B(Star), R(1), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), + B(LdaSmi), I8(81), B(Star), R(2), B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), + B(Star), R(1), B(LdaConstant), U8(1), B(Star), R(4), B(Mov), R(arg0), R(2), @@ -37,45 +38,34 @@ bytecodes: [ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), B(StaCurrentContextSlot), U8(4), /* 0 E> */ B(StackCheck), + B(Star), R(0), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(3), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(4), B(LdaZero), - /* 0 E> */ B(SuspendGenerator), R(3), U8(0), - B(Ldar), R(4), + /* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), + B(Ldar), R(3), /* 13 S> */ B(Return), + B(RestoreGeneratorRegisters), R(0), R(0), U8(3), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), - B(Star), R(5), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(22), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(13), - B(LdaTrue), - B(Star), R(7), - B(Mov), R(4), R(6), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - /* 13 S> */ B(Return), - B(Ldar), R(4), + B(Star), R(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1), + B(Star), R(3), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(3), /* 0 E> */ B(Throw), - B(Ldar), R(4), + B(Ldar), R(3), + /* 13 S> */ B(Return), + B(Ldar), R(3), B(StaCurrentContextSlot), U8(5), B(LdaCurrentContextSlot), U8(5), - B(Star), R(3), - B(LdaTrue), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), /* 13 S> */ B(Return), ] constant pool: [ - Smi [59], + Smi [58], FIXED_ARRAY_TYPE, + Smi [10], + Smi [7], ] handlers: [ ] @@ -84,22 +74,23 @@ handlers: [ snippet: " import {foo} from \"bar\"; " -frame size: 8 +frame size: 5 parameter count: 2 -bytecode array length: 130 +bytecode array length: 110 bytecodes: [ + B(Mov), R(new_target), R(0), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8(1), + B(PushContext), R(2), + B(RestoreGeneratorState), R(0), + B(Star), R(1), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), + B(LdaSmi), I8(81), B(Star), R(2), B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), + B(Star), R(1), B(LdaConstant), U8(1), B(Star), R(4), B(Mov), R(arg0), R(2), @@ -110,45 +101,34 @@ bytecodes: [ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), B(StaCurrentContextSlot), U8(4), /* 0 E> */ B(StackCheck), + B(Star), R(0), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(3), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(4), B(LdaZero), - /* 0 E> */ B(SuspendGenerator), R(3), U8(0), - B(Ldar), R(4), + /* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), + B(Ldar), R(3), /* 24 S> */ B(Return), + B(RestoreGeneratorRegisters), R(0), R(0), U8(3), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), - B(Star), R(5), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(22), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(13), - B(LdaTrue), - B(Star), R(7), - B(Mov), R(4), R(6), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - /* 24 S> */ B(Return), - B(Ldar), R(4), + B(Star), R(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1), + B(Star), R(3), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(3), /* 0 E> */ B(Throw), - B(Ldar), R(4), + B(Ldar), R(3), + /* 24 S> */ B(Return), + B(Ldar), R(3), B(StaCurrentContextSlot), U8(5), B(LdaCurrentContextSlot), U8(5), - B(Star), R(3), - B(LdaTrue), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), /* 24 S> */ B(Return), ] constant pool: [ - Smi [59], + Smi [58], FIXED_ARRAY_TYPE, + Smi [10], + Smi [7], ] handlers: [ ] @@ -159,22 +139,23 @@ snippet: " goo(42); { let x; { goo(42) } }; " -frame size: 8 +frame size: 6 parameter count: 2 -bytecode array length: 192 +bytecode array length: 154 bytecodes: [ + B(Mov), R(new_target), R(0), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8(1), + B(PushContext), R(2), + B(RestoreGeneratorState), R(0), + B(Star), R(1), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), + B(LdaSmi), I8(81), B(Star), R(2), B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), + B(Star), R(1), B(LdaConstant), U8(1), B(Star), R(4), B(Mov), R(arg0), R(2), @@ -185,54 +166,39 @@ bytecodes: [ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), B(StaCurrentContextSlot), U8(4), /* 0 E> */ B(StackCheck), + B(Star), R(0), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(3), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(4), B(LdaZero), - /* 0 E> */ B(SuspendGenerator), R(3), U8(0), - B(Ldar), R(4), + /* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), + B(Ldar), R(3), /* 64 S> */ B(Return), + B(RestoreGeneratorRegisters), R(0), R(0), U8(3), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), - B(Star), R(5), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(22), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(13), - B(LdaTrue), - B(Star), R(7), - B(Mov), R(4), R(6), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - /* 64 S> */ B(Return), - B(Ldar), R(4), + B(Star), R(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1), + B(Star), R(3), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(3), /* 0 E> */ B(Throw), + B(Ldar), R(3), + /* 64 S> */ B(Return), /* 32 S> */ B(LdaModuleVariable), I8(-1), U8(0), - B(JumpIfNotHole), U8(11), - B(LdaConstant), U8(2), - B(Star), R(4), - B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1), + B(ThrowReferenceErrorIfHole), U8(4), B(Star), R(3), B(LdaSmi), I8(42), B(Star), R(4), /* 32 E> */ B(CallUndefinedReceiver1), R(3), R(4), U8(3), B(Ldar), R(closure), - B(CreateBlockContext), U8(3), + B(CreateBlockContext), U8(5), B(PushContext), R(3), B(LdaTheHole), B(StaCurrentContextSlot), U8(4), /* 47 S> */ B(LdaUndefined), /* 47 E> */ B(StaCurrentContextSlot), U8(4), /* 52 S> */ B(LdaModuleVariable), I8(-1), U8(1), - B(JumpIfNotHole), U8(11), - B(LdaConstant), U8(2), - B(Star), R(5), - B(CallRuntime), U16(Runtime::kThrowReferenceError), R(5), U8(1), + B(ThrowReferenceErrorIfHole), U8(4), B(Star), R(4), B(LdaSmi), I8(42), B(Star), R(5), @@ -240,15 +206,13 @@ bytecodes: [ B(StaContextSlot), R(3), U8(5), U8(0), B(PopContext), R(3), B(LdaCurrentContextSlot), U8(5), - B(Star), R(3), - B(LdaTrue), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), /* 64 S> */ B(Return), ] constant pool: [ - Smi [59], + Smi [58], FIXED_ARRAY_TYPE, + Smi [10], + Smi [7], ONE_BYTE_INTERNALIZED_STRING_TYPE ["goo"], FIXED_ARRAY_TYPE, ] @@ -261,22 +225,23 @@ snippet: " foo++; { let x; { foo++ } }; " -frame size: 8 +frame size: 5 parameter count: 2 -bytecode array length: 172 +bytecode array length: 152 bytecodes: [ + B(Mov), R(new_target), R(0), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8(1), + B(PushContext), R(2), + B(RestoreGeneratorState), R(0), + B(Star), R(1), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), + B(LdaSmi), I8(81), B(Star), R(2), B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), + B(Star), R(1), B(LdaConstant), U8(1), B(Star), R(4), B(Mov), R(arg0), R(2), @@ -287,40 +252,31 @@ bytecodes: [ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), B(StaCurrentContextSlot), U8(4), /* 0 E> */ B(StackCheck), + B(Star), R(0), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(3), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(4), B(LdaZero), - /* 0 E> */ B(SuspendGenerator), R(3), U8(0), - B(Ldar), R(4), + /* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), + B(Ldar), R(3), /* 49 S> */ B(Return), + B(RestoreGeneratorRegisters), R(0), R(0), U8(3), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), - B(Star), R(5), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(22), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(13), - B(LdaTrue), - B(Star), R(7), - B(Mov), R(4), R(6), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - /* 49 S> */ B(Return), - B(Ldar), R(4), + B(Star), R(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1), + B(Star), R(3), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(3), /* 0 E> */ B(Throw), + B(Ldar), R(3), + /* 49 S> */ B(Return), /* 17 S> */ B(LdaSmi), I8(42), /* 17 E> */ B(StaModuleVariable), I8(1), U8(0), /* 21 S> */ B(LdaModuleVariable), I8(1), U8(0), B(Inc), U8(3), /* 24 E> */ B(StaModuleVariable), I8(1), U8(0), B(Ldar), R(closure), - B(CreateBlockContext), U8(2), + B(CreateBlockContext), U8(4), B(PushContext), R(3), B(LdaTheHole), B(StaCurrentContextSlot), U8(4), @@ -335,15 +291,13 @@ bytecodes: [ B(StaContextSlot), R(3), U8(5), U8(0), B(PopContext), R(3), B(LdaCurrentContextSlot), U8(5), - B(Star), R(3), - B(LdaTrue), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), /* 49 S> */ B(Return), ] constant pool: [ - Smi [59], + Smi [58], FIXED_ARRAY_TYPE, + Smi [10], + Smi [7], FIXED_ARRAY_TYPE, ] handlers: [ @@ -355,22 +309,23 @@ snippet: " foo++; { let x; { foo++ } }; " -frame size: 8 +frame size: 5 parameter count: 2 -bytecode array length: 176 +bytecode array length: 156 bytecodes: [ + B(Mov), R(new_target), R(0), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8(1), + B(PushContext), R(2), + B(RestoreGeneratorState), R(0), + B(Star), R(1), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), + B(LdaSmi), I8(81), B(Star), R(2), B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), + B(Star), R(1), B(LdaConstant), U8(1), B(Star), R(4), B(Mov), R(arg0), R(2), @@ -380,43 +335,34 @@ bytecodes: [ B(Mov), R(this), R(4), B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), B(StaCurrentContextSlot), U8(4), + B(Star), R(0), B(LdaTheHole), B(StaModuleVariable), I8(1), U8(0), /* 0 E> */ B(StackCheck), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(3), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(4), B(LdaZero), - /* 0 E> */ B(SuspendGenerator), R(3), U8(0), - B(Ldar), R(4), + /* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), + B(Ldar), R(3), /* 49 S> */ B(Return), + B(RestoreGeneratorRegisters), R(0), R(0), U8(3), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), - B(Star), R(5), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(22), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(13), - B(LdaTrue), - B(Star), R(7), - B(Mov), R(4), R(6), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - /* 49 S> */ B(Return), - B(Ldar), R(4), + B(Star), R(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1), + B(Star), R(3), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(3), /* 0 E> */ B(Throw), + B(Ldar), R(3), + /* 49 S> */ B(Return), /* 17 S> */ B(LdaSmi), I8(42), /* 17 E> */ B(StaModuleVariable), I8(1), U8(0), /* 21 S> */ B(LdaModuleVariable), I8(1), U8(0), B(Inc), U8(3), /* 24 E> */ B(StaModuleVariable), I8(1), U8(0), B(Ldar), R(closure), - B(CreateBlockContext), U8(2), + B(CreateBlockContext), U8(4), B(PushContext), R(3), B(LdaTheHole), B(StaCurrentContextSlot), U8(4), @@ -431,15 +377,13 @@ bytecodes: [ B(StaContextSlot), R(3), U8(5), U8(0), B(PopContext), R(3), B(LdaCurrentContextSlot), U8(5), - B(Star), R(3), - B(LdaTrue), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), /* 49 S> */ B(Return), ] constant pool: [ - Smi [63], + Smi [62], FIXED_ARRAY_TYPE, + Smi [10], + Smi [7], FIXED_ARRAY_TYPE, ] handlers: [ @@ -451,22 +395,23 @@ snippet: " foo++; { let x; { foo++ } }; " -frame size: 8 +frame size: 5 parameter count: 2 -bytecode array length: 180 +bytecode array length: 160 bytecodes: [ + B(Mov), R(new_target), R(0), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8(1), + B(PushContext), R(2), + B(RestoreGeneratorState), R(0), + B(Star), R(1), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), + B(LdaSmi), I8(81), B(Star), R(2), B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), + B(Star), R(1), B(LdaConstant), U8(1), B(Star), R(4), B(Mov), R(arg0), R(2), @@ -476,43 +421,34 @@ bytecodes: [ B(Mov), R(this), R(4), B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), B(StaCurrentContextSlot), U8(4), + B(Star), R(0), B(LdaTheHole), B(StaModuleVariable), I8(1), U8(0), /* 0 E> */ B(StackCheck), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(3), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(4), B(LdaZero), - /* 0 E> */ B(SuspendGenerator), R(3), U8(0), - B(Ldar), R(4), + /* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), + B(Ldar), R(3), /* 51 S> */ B(Return), + B(RestoreGeneratorRegisters), R(0), R(0), U8(3), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), - B(Star), R(5), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(22), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(13), - B(LdaTrue), - B(Star), R(7), - B(Mov), R(4), R(6), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - /* 51 S> */ B(Return), - B(Ldar), R(4), + B(Star), R(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1), + B(Star), R(3), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(3), /* 0 E> */ B(Throw), + B(Ldar), R(3), + /* 51 S> */ B(Return), /* 19 S> */ B(LdaSmi), I8(42), /* 19 E> */ B(StaModuleVariable), I8(1), U8(0), /* 23 S> */ B(LdaModuleVariable), I8(1), U8(0), B(Inc), U8(3), /* 26 E> */ B(CallRuntime), U16(Runtime::kThrowConstAssignError), R(0), U8(0), B(Ldar), R(closure), - B(CreateBlockContext), U8(2), + B(CreateBlockContext), U8(4), B(PushContext), R(3), B(LdaTheHole), B(StaCurrentContextSlot), U8(4), @@ -527,15 +463,13 @@ bytecodes: [ B(StaContextSlot), R(3), U8(5), U8(0), B(PopContext), R(3), B(LdaCurrentContextSlot), U8(5), - B(Star), R(3), - B(LdaTrue), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), /* 51 S> */ B(Return), ] constant pool: [ - Smi [63], + Smi [62], FIXED_ARRAY_TYPE, + Smi [10], + Smi [7], FIXED_ARRAY_TYPE, ] handlers: [ @@ -545,22 +479,23 @@ handlers: [ snippet: " export default (function () {}); " -frame size: 8 +frame size: 5 parameter count: 2 -bytecode array length: 141 +bytecode array length: 121 bytecodes: [ + B(Mov), R(new_target), R(0), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8(1), + B(PushContext), R(2), + B(RestoreGeneratorState), R(0), + B(Star), R(1), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), + B(LdaSmi), I8(81), B(Star), R(2), B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), + B(Star), R(1), B(LdaConstant), U8(1), B(Star), R(4), B(Mov), R(arg0), R(2), @@ -570,50 +505,39 @@ bytecodes: [ B(Mov), R(this), R(4), B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), B(StaCurrentContextSlot), U8(4), + B(Star), R(0), B(LdaTheHole), B(StaModuleVariable), I8(1), U8(0), /* 0 E> */ B(StackCheck), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(3), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(4), B(LdaZero), - /* 0 E> */ B(SuspendGenerator), R(3), U8(0), - B(Ldar), R(4), + /* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), + B(Ldar), R(3), /* 32 S> */ B(Return), + B(RestoreGeneratorRegisters), R(0), R(0), U8(3), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), - B(Star), R(5), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(22), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(13), - B(LdaTrue), - B(Star), R(7), - B(Mov), R(4), R(6), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - /* 32 S> */ B(Return), - B(Ldar), R(4), + B(Star), R(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1), + B(Star), R(3), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(3), /* 0 E> */ B(Throw), - B(Ldar), R(4), + B(Ldar), R(3), + /* 32 S> */ B(Return), + B(Ldar), R(3), B(StaCurrentContextSlot), U8(5), - B(CreateClosure), U8(2), U8(3), U8(0), + B(CreateClosure), U8(4), U8(3), U8(0), B(StaModuleVariable), I8(1), U8(0), B(LdaCurrentContextSlot), U8(5), - B(Star), R(3), - B(LdaTrue), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), /* 32 S> */ B(Return), ] constant pool: [ - Smi [63], + Smi [62], FIXED_ARRAY_TYPE, + Smi [10], + Smi [7], SHARED_FUNCTION_INFO_TYPE, ] handlers: [ @@ -625,20 +549,21 @@ snippet: " " frame size: 8 parameter count: 2 -bytecode array length: 174 +bytecode array length: 154 bytecodes: [ + B(Mov), R(new_target), R(0), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8(1), + B(PushContext), R(2), + B(RestoreGeneratorState), R(0), + B(Star), R(1), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), + B(LdaSmi), I8(81), B(Star), R(2), B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), + B(Star), R(1), B(LdaConstant), U8(1), B(Star), R(4), B(Mov), R(arg0), R(2), @@ -648,39 +573,30 @@ bytecodes: [ B(Mov), R(this), R(4), B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), B(StaCurrentContextSlot), U8(4), + B(Star), R(0), B(LdaTheHole), B(StaModuleVariable), I8(1), U8(0), /* 0 E> */ B(StackCheck), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(3), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(4), B(LdaZero), - /* 0 E> */ B(SuspendGenerator), R(3), U8(0), - B(Ldar), R(4), + /* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), + B(Ldar), R(3), /* 26 S> */ B(Return), + B(RestoreGeneratorRegisters), R(0), R(0), U8(3), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), - B(Star), R(5), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(22), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(13), - B(LdaTrue), - B(Star), R(7), - B(Mov), R(4), R(6), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - /* 26 S> */ B(Return), - B(Ldar), R(4), + B(Star), R(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1), + B(Star), R(3), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(3), /* 0 E> */ B(Throw), - B(Ldar), R(4), + B(Ldar), R(3), + /* 26 S> */ B(Return), + B(Ldar), R(3), B(StaCurrentContextSlot), U8(5), - B(CreateClosure), U8(2), U8(3), U8(0), + B(CreateClosure), U8(4), U8(3), U8(0), B(Star), R(3), B(LdaTheHole), B(Star), R(4), @@ -695,15 +611,13 @@ bytecodes: [ B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1), B(StaModuleVariable), I8(1), U8(0), B(LdaCurrentContextSlot), U8(5), - B(Star), R(3), - B(LdaTrue), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), /* 26 S> */ B(Return), ] constant pool: [ - Smi [63], + Smi [62], FIXED_ARRAY_TYPE, + Smi [10], + Smi [7], SHARED_FUNCTION_INFO_TYPE, ] handlers: [ @@ -713,22 +627,23 @@ handlers: [ snippet: " export {foo as goo} from \"bar\" " -frame size: 8 +frame size: 5 parameter count: 2 -bytecode array length: 130 +bytecode array length: 110 bytecodes: [ + B(Mov), R(new_target), R(0), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8(1), + B(PushContext), R(2), + B(RestoreGeneratorState), R(0), + B(Star), R(1), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), + B(LdaSmi), I8(81), B(Star), R(2), B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), + B(Star), R(1), B(LdaConstant), U8(1), B(Star), R(4), B(Mov), R(arg0), R(2), @@ -739,45 +654,34 @@ bytecodes: [ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), B(StaCurrentContextSlot), U8(4), /* 0 E> */ B(StackCheck), + B(Star), R(0), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(3), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(4), B(LdaZero), - /* 0 E> */ B(SuspendGenerator), R(3), U8(0), - B(Ldar), R(4), + /* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), + B(Ldar), R(3), /* 30 S> */ B(Return), + B(RestoreGeneratorRegisters), R(0), R(0), U8(3), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), - B(Star), R(5), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(22), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(13), - B(LdaTrue), - B(Star), R(7), - B(Mov), R(4), R(6), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - /* 30 S> */ B(Return), - B(Ldar), R(4), + B(Star), R(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1), + B(Star), R(3), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(3), /* 0 E> */ B(Throw), - B(Ldar), R(4), + B(Ldar), R(3), + /* 30 S> */ B(Return), + B(Ldar), R(3), B(StaCurrentContextSlot), U8(5), B(LdaCurrentContextSlot), U8(5), - B(Star), R(3), - B(LdaTrue), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), /* 30 S> */ B(Return), ] constant pool: [ - Smi [59], + Smi [58], FIXED_ARRAY_TYPE, + Smi [10], + Smi [7], ] handlers: [ ] @@ -786,22 +690,23 @@ handlers: [ snippet: " export * from \"bar\" " -frame size: 8 +frame size: 5 parameter count: 2 -bytecode array length: 130 +bytecode array length: 110 bytecodes: [ + B(Mov), R(new_target), R(0), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8(1), + B(PushContext), R(2), + B(RestoreGeneratorState), R(0), + B(Star), R(1), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), + B(LdaSmi), I8(81), B(Star), R(2), B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), + B(Star), R(1), B(LdaConstant), U8(1), B(Star), R(4), B(Mov), R(arg0), R(2), @@ -812,45 +717,34 @@ bytecodes: [ B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), B(StaCurrentContextSlot), U8(4), /* 0 E> */ B(StackCheck), + B(Star), R(0), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(3), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(4), B(LdaZero), - /* 0 E> */ B(SuspendGenerator), R(3), U8(0), - B(Ldar), R(4), + /* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), + B(Ldar), R(3), /* 19 S> */ B(Return), + B(RestoreGeneratorRegisters), R(0), R(0), U8(3), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), - B(Star), R(5), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(22), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(13), - B(LdaTrue), - B(Star), R(7), - B(Mov), R(4), R(6), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - /* 19 S> */ B(Return), - B(Ldar), R(4), + B(Star), R(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1), + B(Star), R(3), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(3), /* 0 E> */ B(Throw), - B(Ldar), R(4), + B(Ldar), R(3), + /* 19 S> */ B(Return), + B(Ldar), R(3), B(StaCurrentContextSlot), U8(5), B(LdaCurrentContextSlot), U8(5), - B(Star), R(3), - B(LdaTrue), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), /* 19 S> */ B(Return), ] constant pool: [ - Smi [59], + Smi [58], FIXED_ARRAY_TYPE, + Smi [10], + Smi [7], ] handlers: [ ] @@ -860,22 +754,23 @@ snippet: " import * as foo from \"bar\" foo.f(foo, foo.x); " -frame size: 8 +frame size: 7 parameter count: 2 -bytecode array length: 168 +bytecode array length: 148 bytecodes: [ + B(Mov), R(new_target), R(0), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(0), U8(1), + B(PushContext), R(2), + B(RestoreGeneratorState), R(0), + B(Star), R(1), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), + B(LdaSmi), I8(81), B(Star), R(2), B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), + B(Star), R(1), B(LdaConstant), U8(1), B(Star), R(4), B(Mov), R(arg0), R(2), @@ -885,6 +780,7 @@ bytecodes: [ B(Mov), R(this), R(4), B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), B(StaCurrentContextSlot), U8(4), + B(Star), R(0), B(LdaZero), B(Star), R(3), B(CallRuntime), U16(Runtime::kGetModuleNamespace), R(3), U8(1), @@ -892,53 +788,41 @@ bytecodes: [ /* 0 E> */ B(StackCheck), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(3), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(4), B(LdaZero), - /* 0 E> */ B(SuspendGenerator), R(3), U8(0), - B(Ldar), R(4), + /* 0 E> */ B(SuspendGenerator), R(0), R(0), U8(3), + B(Ldar), R(3), /* 45 S> */ B(Return), + B(RestoreGeneratorRegisters), R(0), R(0), U8(3), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), - B(Star), R(5), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(22), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(5), - B(JumpIfTrue), U8(13), - B(LdaTrue), - B(Star), R(7), - B(Mov), R(4), R(6), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), - /* 45 S> */ B(Return), - B(Ldar), R(4), + B(Star), R(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(0), U8(1), + B(Star), R(3), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(3), /* 0 E> */ B(Throw), + B(Ldar), R(3), + /* 45 S> */ B(Return), /* 27 S> */ B(LdaImmutableCurrentContextSlot), U8(5), B(Star), R(4), - /* 30 E> */ B(LdaNamedProperty), R(4), U8(2), U8(5), + /* 31 E> */ B(LdaNamedProperty), R(4), U8(4), U8(5), B(Star), R(3), B(LdaImmutableCurrentContextSlot), U8(5), B(Star), R(5), B(LdaImmutableCurrentContextSlot), U8(5), B(Star), R(6), - /* 41 E> */ B(LdaNamedProperty), R(6), U8(3), U8(7), + /* 42 E> */ B(LdaNamedProperty), R(6), U8(5), U8(7), B(Star), R(6), /* 31 E> */ B(CallProperty2), R(3), R(4), R(5), R(6), U8(3), B(StaCurrentContextSlot), U8(6), B(LdaCurrentContextSlot), U8(6), - B(Star), R(3), - B(LdaTrue), - B(Star), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(3), U8(2), /* 45 S> */ B(Return), ] constant pool: [ - Smi [69], + Smi [68], FIXED_ARRAY_TYPE, + Smi [10], + Smi [7], ONE_BYTE_INTERNALIZED_STRING_TYPE ["f"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden index 9c5a9f0158..e685aa57f4 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden @@ -30,7 +30,7 @@ bytecodes: [ B(CallRuntime), U16(Runtime::kToFastProperties), R(2), U8(1), B(Star), R(0), B(Star), R(1), - /* 89 S> */ B(CreateArrayLiteral), U8(1), U8(6), U8(17), + /* 89 S> */ B(CreateArrayLiteral), U8(1), U8(6), U8(37), B(Star), R(3), B(Ldar), R(1), /* 89 E> */ B(ConstructWithSpread), R(1), R(3), U8(1), @@ -71,7 +71,7 @@ bytecodes: [ B(Star), R(1), /* 89 S> */ B(LdaZero), B(Star), R(3), - B(CreateArrayLiteral), U8(1), U8(6), U8(17), + B(CreateArrayLiteral), U8(1), U8(6), U8(37), B(Star), R(4), B(Ldar), R(1), /* 89 E> */ B(ConstructWithSpread), R(1), R(3), U8(2), @@ -114,15 +114,15 @@ bytecodes: [ B(Star), R(2), B(LdaUndefined), B(Star), R(4), - /* 93 E> */ B(CreateArrayLiteral), U8(1), U8(4), U8(17), + /* 93 E> */ B(CreateArrayLiteral), U8(1), U8(4), U8(37), B(Star), R(5), B(LdaUndefined), B(Star), R(6), - B(CreateArrayLiteral), U8(2), U8(5), U8(17), + B(CreateArrayLiteral), U8(2), U8(5), U8(37), B(Star), R(7), B(CallJSRuntime), U8(%spread_iterable), R(6), U8(2), B(Star), R(6), - B(CreateArrayLiteral), U8(3), U8(6), U8(17), + B(CreateArrayLiteral), U8(3), U8(6), U8(37), B(Star), R(7), B(CallJSRuntime), U8(%spread_arguments), R(4), U8(4), B(Star), R(4), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/NewTarget.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/NewTarget.golden index f2a8bacc27..59e44b4880 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/NewTarget.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/NewTarget.golden @@ -14,10 +14,10 @@ parameter count: 1 bytecode array length: 9 bytecodes: [ B(Mov), R(new_target), R(0), - B(Ldar), R(new_target), + B(Ldar), R(0), /* 30 E> */ B(StackCheck), /* 34 S> */ B(Ldar), R(0), - /* 53 S> */ B(Return), + /* 52 S> */ B(Return), ] constant pool: [ ] @@ -33,7 +33,7 @@ parameter count: 1 bytecode array length: 8 bytecodes: [ B(Mov), R(new_target), R(0), - B(Ldar), R(new_target), + B(Ldar), R(0), /* 30 E> */ B(StackCheck), /* 34 S> */ B(LdaUndefined), /* 46 S> */ B(Return), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden index 5b1046054b..ec3132c704 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden @@ -14,9 +14,9 @@ parameter count: 1 bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(19), R(0), + /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(0), B(Ldar), R(0), - /* 46 S> */ B(Return), + /* 45 S> */ B(Return), ] constant pool: [ FIXED_ARRAY_TYPE, @@ -33,9 +33,9 @@ parameter count: 1 bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(0), + /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(0), B(Ldar), R(0), - /* 71 S> */ B(Return), + /* 70 S> */ B(Return), ] constant pool: [ FIXED_ARRAY_TYPE, @@ -54,10 +54,10 @@ bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(1), B(Star), R(0), - /* 45 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(1), + /* 45 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(1), /* 75 E> */ B(StaNamedOwnProperty), R(1), U8(1), U8(4), B(Ldar), R(1), - /* 80 S> */ B(Return), + /* 79 S> */ B(Return), ] constant pool: [ FIXED_ARRAY_TYPE, @@ -77,11 +77,11 @@ bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(1), B(Star), R(0), - /* 45 S> */ B(CreateObjectLiteral), U8(0), U8(4), U8(1), R(1), + /* 45 S> */ B(CreateObjectLiteral), U8(0), U8(4), U8(41), R(1), /* 69 E> */ B(AddSmi), I8(1), U8(3), B(StaNamedOwnProperty), R(1), U8(1), U8(5), B(Ldar), R(1), - /* 76 S> */ B(Return), + /* 75 S> */ B(Return), ] constant pool: [ FIXED_ARRAY_TYPE, @@ -99,11 +99,11 @@ parameter count: 1 bytecode array length: 17 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(4), U8(1), R(0), + /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(4), U8(41), R(0), B(CreateClosure), U8(1), U8(3), U8(2), B(StaNamedOwnProperty), R(0), U8(2), U8(5), B(Ldar), R(0), - /* 67 S> */ B(Return), + /* 66 S> */ B(Return), ] constant pool: [ FIXED_ARRAY_TYPE, @@ -122,11 +122,11 @@ parameter count: 1 bytecode array length: 17 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(4), U8(1), R(0), + /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(4), U8(41), R(0), B(CreateClosure), U8(1), U8(3), U8(2), B(StaNamedOwnProperty), R(0), U8(2), U8(5), B(Ldar), R(0), - /* 68 S> */ B(Return), + /* 67 S> */ B(Return), ] constant pool: [ FIXED_ARRAY_TYPE, @@ -145,7 +145,7 @@ parameter count: 1 bytecode array length: 33 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(4), U8(1), R(0), + /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(4), U8(41), R(0), B(LdaConstant), U8(1), B(Star), R(2), B(CreateClosure), U8(2), U8(3), U8(2), @@ -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, @@ -176,7 +176,7 @@ parameter count: 1 bytecode array length: 36 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(5), U8(1), R(0), + /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(5), U8(41), R(0), B(LdaConstant), U8(1), B(Star), R(2), B(CreateClosure), U8(2), U8(3), U8(2), @@ -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, @@ -208,7 +208,7 @@ parameter count: 1 bytecode array length: 33 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(4), U8(1), R(0), + /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(4), U8(41), R(0), B(LdaConstant), U8(1), B(Star), R(2), B(LdaNull), @@ -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, @@ -241,7 +241,7 @@ bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(1), B(Star), R(0), - /* 45 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(1), + /* 45 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(1), B(LdaSmi), I8(1), B(Star), R(3), B(LdaZero), @@ -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, @@ -267,9 +267,9 @@ parameter count: 1 bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(27), R(0), + /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(57), R(0), B(Ldar), R(0), - /* 62 S> */ B(Return), + /* 61 S> */ B(Return), ] constant pool: [ FIXED_ARRAY_TYPE, @@ -288,12 +288,12 @@ bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaConstant), U8(0), B(Star), R(0), - /* 50 S> */ B(CreateObjectLiteral), U8(1), U8(3), U8(19), R(1), + /* 50 S> */ B(CreateObjectLiteral), U8(1), U8(3), U8(41), R(1), /* 60 E> */ B(ToName), R(2), B(LdaSmi), I8(1), B(StaDataPropertyInLiteral), R(1), R(2), U8(0), U8(4), B(Ldar), R(1), - /* 69 S> */ B(Return), + /* 68 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["test"], @@ -313,13 +313,13 @@ bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaConstant), U8(0), B(Star), R(0), - /* 50 S> */ B(CreateObjectLiteral), U8(1), U8(3), U8(1), R(1), + /* 50 S> */ B(CreateObjectLiteral), U8(1), U8(3), U8(41), R(1), /* 64 E> */ B(StaNamedOwnProperty), R(1), U8(2), U8(4), /* 68 E> */ B(ToName), R(2), B(LdaSmi), I8(1), B(StaDataPropertyInLiteral), R(1), R(2), U8(0), U8(6), B(Ldar), R(1), - /* 77 S> */ B(Return), + /* 76 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["test"], @@ -335,22 +335,21 @@ snippet: " " frame size: 5 parameter count: 1 -bytecode array length: 40 +bytecode array length: 38 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaConstant), U8(0), B(Star), R(0), - /* 50 S> */ B(CreateObjectLiteral), U8(1), U8(4), U8(19), R(1), + /* 50 S> */ B(CreateObjectLiteral), U8(1), U8(4), U8(41), R(1), /* 60 E> */ B(ToName), R(2), B(LdaSmi), I8(1), B(StaDataPropertyInLiteral), R(1), R(2), U8(0), U8(5), - B(CreateObjectLiteral), U8(1), U8(3), U8(19), R(4), - B(Star), R(3), + B(CreateObjectLiteral), U8(1), U8(3), U8(41), R(4), B(Mov), R(1), R(2), 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"], @@ -365,16 +364,15 @@ snippet: " " frame size: 6 parameter count: 1 -bytecode array length: 63 +bytecode array length: 61 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaConstant), U8(0), B(Star), R(0), - /* 50 S> */ B(CreateObjectLiteral), U8(1), U8(5), U8(19), R(1), + /* 50 S> */ B(CreateObjectLiteral), U8(1), U8(5), U8(41), R(1), /* 60 E> */ B(ToName), R(2), B(LdaConstant), U8(2), B(StaDataPropertyInLiteral), R(1), R(2), U8(0), U8(6), - B(Star), R(3), B(LdaConstant), U8(3), B(Star), R(3), B(CreateClosure), U8(4), U8(3), U8(2), @@ -391,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"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ObjectLiteralsWide.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ObjectLiteralsWide.golden index 54f00f400d..4e727c9f2e 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ObjectLiteralsWide.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ObjectLiteralsWide.golden @@ -783,9 +783,9 @@ bytecodes: [ B(Star), R(0), /* 2591 S> */ B(LdaConstant), U8(255), B(Star), R(0), - /* 2601 S> */ B(Wide), B(CreateObjectLiteral), U16(256), U16(3), U8(1), R16(1), + /* 2601 S> */ B(Wide), B(CreateObjectLiteral), U16(256), U16(3), U8(41), R16(1), B(Ldar), R(1), - /* 2638 S> */ B(Return), + /* 2637 S> */ B(Return), ] constant pool: [ HEAP_NUMBER_TYPE [1.23], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/OuterContextVariables.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/OuterContextVariables.golden index 474a5c8c92..d3ffff5cbc 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/OuterContextVariables.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/OuterContextVariables.golden @@ -27,7 +27,7 @@ bytecodes: [ B(Star), R(0), B(LdaImmutableCurrentContextSlot), U8(4), /* 118 E> */ B(Mul), R(0), U8(3), - /* 130 S> */ B(Return), + /* 129 S> */ B(Return), ] constant pool: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/Parameters.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/Parameters.golden index b3c987f296..81d6408e14 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/Parameters.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/Parameters.golden @@ -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: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrimitiveExpressions.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrimitiveExpressions.golden index 7784d86192..9c88ccd6ea 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrimitiveExpressions.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrimitiveExpressions.golden @@ -11,13 +11,12 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 6 +bytecode array length: 5 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaZero), B(Star), R(0), - /* 45 S> */ B(Nop), - /* 55 S> */ B(Return), + /* 54 S> */ B(Return), ] constant pool: [ ] @@ -30,14 +29,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 9 +bytecode array length: 8 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaZero), B(Star), R(0), - /* 45 S> */ B(Nop), - /* 54 E> */ B(AddSmi), I8(3), U8(3), - /* 59 S> */ B(Return), + /* 54 S> */ B(AddSmi), I8(3), U8(3), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -59,7 +57,7 @@ bytecodes: [ B(Star), R(1), B(Ldar), R(0), /* 54 E> */ B(Add), R(1), U8(3), - /* 59 S> */ B(Return), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -72,14 +70,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 9 +bytecode array length: 8 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaZero), B(Star), R(0), - /* 45 S> */ B(Nop), - /* 54 E> */ B(SubSmi), I8(3), U8(3), - /* 59 S> */ B(Return), + /* 54 S> */ B(SubSmi), I8(3), U8(3), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -101,7 +98,7 @@ bytecodes: [ B(Star), R(1), B(Ldar), R(0), /* 54 E> */ B(Sub), R(1), U8(3), - /* 59 S> */ B(Return), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -114,14 +111,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(4), B(Star), R(0), - /* 45 S> */ B(Nop), - /* 54 E> */ B(MulSmi), I8(3), U8(3), - /* 59 S> */ B(Return), + /* 54 S> */ B(MulSmi), I8(3), U8(3), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -134,14 +130,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(4), B(Star), R(0), - /* 45 S> */ B(Nop), - /* 54 E> */ B(MulSmi), I8(3), U8(3), - /* 59 S> */ B(Return), + /* 54 S> */ B(MulSmi), I8(3), U8(3), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -154,14 +149,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(4), B(Star), R(0), - /* 45 S> */ B(Nop), - /* 54 E> */ B(DivSmi), I8(3), U8(3), - /* 59 S> */ B(Return), + /* 54 S> */ B(DivSmi), I8(3), U8(3), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -183,7 +177,7 @@ bytecodes: [ B(Star), R(1), B(Ldar), R(0), /* 54 E> */ B(Div), R(1), U8(3), - /* 59 S> */ B(Return), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -196,14 +190,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(4), B(Star), R(0), - /* 45 S> */ B(Nop), - /* 54 E> */ B(ModSmi), I8(3), U8(3), - /* 59 S> */ B(Return), + /* 54 S> */ B(ModSmi), I8(3), U8(3), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -225,7 +218,7 @@ bytecodes: [ B(Star), R(1), B(Ldar), R(0), /* 54 E> */ B(Mod), R(1), U8(3), - /* 59 S> */ B(Return), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -238,14 +231,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(1), B(Star), R(0), - /* 45 S> */ B(Nop), - /* 54 E> */ B(BitwiseOrSmi), I8(2), U8(3), - /* 59 S> */ B(Return), + /* 54 S> */ B(BitwiseOrSmi), I8(2), U8(3), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -258,14 +250,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(1), B(Star), R(0), - /* 45 S> */ B(Nop), - /* 54 E> */ B(BitwiseOrSmi), I8(2), U8(3), - /* 59 S> */ B(Return), + /* 54 S> */ B(BitwiseOrSmi), I8(2), U8(3), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -278,14 +269,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(1), B(Star), R(0), - /* 45 S> */ B(Nop), - /* 54 E> */ B(BitwiseXorSmi), I8(2), U8(3), - /* 59 S> */ B(Return), + /* 54 S> */ B(BitwiseXorSmi), I8(2), U8(3), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -298,14 +288,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(1), B(Star), R(0), - /* 45 S> */ B(Nop), - /* 54 E> */ B(BitwiseXorSmi), I8(2), U8(3), - /* 59 S> */ B(Return), + /* 54 S> */ B(BitwiseXorSmi), I8(2), U8(3), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -318,14 +307,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(1), B(Star), R(0), - /* 45 S> */ B(Nop), - /* 54 E> */ B(BitwiseAndSmi), I8(2), U8(3), - /* 59 S> */ B(Return), + /* 54 S> */ B(BitwiseAndSmi), I8(2), U8(3), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -338,14 +326,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(1), B(Star), R(0), - /* 45 S> */ B(Nop), - /* 54 E> */ B(BitwiseAndSmi), I8(2), U8(3), - /* 59 S> */ B(Return), + /* 54 S> */ B(BitwiseAndSmi), I8(2), U8(3), + /* 58 S> */ B(Return), ] constant pool: [ ] @@ -358,14 +345,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(10), B(Star), R(0), - /* 46 S> */ B(Nop), - /* 55 E> */ B(ShiftLeftSmi), I8(3), U8(3), - /* 61 S> */ B(Return), + /* 55 S> */ B(ShiftLeftSmi), I8(3), U8(3), + /* 60 S> */ B(Return), ] constant pool: [ ] @@ -387,7 +373,7 @@ bytecodes: [ B(Star), R(1), B(Ldar), R(0), /* 55 E> */ B(ShiftLeft), R(1), U8(3), - /* 61 S> */ B(Return), + /* 60 S> */ B(Return), ] constant pool: [ ] @@ -400,14 +386,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(10), B(Star), R(0), - /* 46 S> */ B(Nop), - /* 55 E> */ B(ShiftRightSmi), I8(3), U8(3), - /* 61 S> */ B(Return), + /* 55 S> */ B(ShiftRightSmi), I8(3), U8(3), + /* 60 S> */ B(Return), ] constant pool: [ ] @@ -429,7 +414,7 @@ bytecodes: [ B(Star), R(1), B(Ldar), R(0), /* 55 E> */ B(ShiftRight), R(1), U8(3), - /* 61 S> */ B(Return), + /* 60 S> */ B(Return), ] constant pool: [ ] @@ -442,14 +427,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(10), B(Star), R(0), - /* 46 S> */ B(Nop), - /* 55 E> */ B(ShiftRightLogicalSmi), I8(3), U8(3), - /* 62 S> */ B(Return), + /* 55 S> */ B(ShiftRightLogicalSmi), I8(3), U8(3), + /* 61 S> */ B(Return), ] constant pool: [ ] @@ -471,7 +455,7 @@ bytecodes: [ B(Star), R(1), B(Ldar), R(0), /* 55 E> */ B(ShiftRightLogical), R(1), U8(3), - /* 62 S> */ B(Return), + /* 61 S> */ B(Return), ] constant pool: [ ] @@ -490,7 +474,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: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrimitiveReturnStatements.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrimitiveReturnStatements.golden index aae0c2d0bd..e31ab85708 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrimitiveReturnStatements.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrimitiveReturnStatements.golden @@ -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: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyCall.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyCall.golden index 8bf592611c..62f8f0904c 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyCall.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyCall.golden @@ -13,14 +13,13 @@ snippet: " " frame size: 1 parameter count: 2 -bytecode array length: 13 +bytecode array length: 12 bytecodes: [ /* 10 E> */ B(StackCheck), - /* 16 S> */ B(Nop), - /* 24 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), + /* 25 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), B(Star), R(0), /* 25 E> */ B(CallProperty0), R(0), R(arg0), U8(3), - /* 33 S> */ B(Return), + /* 32 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"], @@ -35,14 +34,13 @@ snippet: " " frame size: 1 parameter count: 4 -bytecode array length: 15 +bytecode array length: 14 bytecodes: [ /* 10 E> */ B(StackCheck), - /* 22 S> */ B(Nop), - /* 30 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), + /* 31 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), B(Star), R(0), /* 31 E> */ B(CallProperty2), R(0), R(arg0), R(arg1), R(arg2), U8(3), - /* 43 S> */ B(Return), + /* 42 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"], @@ -57,17 +55,16 @@ snippet: " " frame size: 3 parameter count: 3 -bytecode array length: 22 +bytecode array length: 21 bytecodes: [ /* 10 E> */ B(StackCheck), - /* 19 S> */ B(Nop), - /* 27 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), + /* 28 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), B(Star), R(0), B(Ldar), R(arg1), /* 35 E> */ B(Add), R(arg1), U8(7), B(Star), R(2), /* 28 E> */ B(CallProperty2), R(0), R(arg0), R(2), R(arg1), U8(3), - /* 44 S> */ B(Return), + /* 43 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"], @@ -211,270 +208,141 @@ snippet: " " frame size: 1 parameter count: 2 -bytecode array length: 665 +bytecode array length: 536 bytecodes: [ /* 10 E> */ B(StackCheck), - /* 17 S> */ B(Nop), - /* 18 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), - /* 26 S> */ B(Nop), - /* 27 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), - /* 35 S> */ B(Nop), - /* 36 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7), - /* 44 S> */ B(Nop), - /* 45 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9), - /* 53 S> */ B(Nop), - /* 54 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11), - /* 62 S> */ B(Nop), - /* 63 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13), - /* 71 S> */ B(Nop), - /* 72 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15), - /* 80 S> */ B(Nop), - /* 81 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17), - /* 89 S> */ B(Nop), - /* 90 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19), - /* 98 S> */ B(Nop), - /* 99 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21), - /* 107 S> */ B(Nop), - /* 108 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23), - /* 116 S> */ B(Nop), - /* 117 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25), - /* 125 S> */ B(Nop), - /* 126 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27), - /* 134 S> */ B(Nop), - /* 135 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29), - /* 143 S> */ B(Nop), - /* 144 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31), - /* 152 S> */ B(Nop), - /* 153 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33), - /* 161 S> */ B(Nop), - /* 162 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35), - /* 170 S> */ B(Nop), - /* 171 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37), - /* 179 S> */ B(Nop), - /* 180 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39), - /* 188 S> */ B(Nop), - /* 189 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41), - /* 197 S> */ B(Nop), - /* 198 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43), - /* 206 S> */ B(Nop), - /* 207 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45), - /* 215 S> */ B(Nop), - /* 216 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47), - /* 224 S> */ B(Nop), - /* 225 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49), - /* 233 S> */ B(Nop), - /* 234 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51), - /* 242 S> */ B(Nop), - /* 243 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53), - /* 251 S> */ B(Nop), - /* 252 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55), - /* 260 S> */ B(Nop), - /* 261 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57), - /* 269 S> */ B(Nop), - /* 270 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59), - /* 278 S> */ B(Nop), - /* 279 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61), - /* 287 S> */ B(Nop), - /* 288 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63), - /* 296 S> */ B(Nop), - /* 297 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65), - /* 305 S> */ B(Nop), - /* 306 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67), - /* 314 S> */ B(Nop), - /* 315 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69), - /* 323 S> */ B(Nop), - /* 324 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71), - /* 332 S> */ B(Nop), - /* 333 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73), - /* 341 S> */ B(Nop), - /* 342 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75), - /* 350 S> */ B(Nop), - /* 351 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77), - /* 359 S> */ B(Nop), - /* 360 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79), - /* 368 S> */ B(Nop), - /* 369 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81), - /* 377 S> */ B(Nop), - /* 378 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83), - /* 386 S> */ B(Nop), - /* 387 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85), - /* 395 S> */ B(Nop), - /* 396 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87), - /* 404 S> */ B(Nop), - /* 405 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89), - /* 413 S> */ B(Nop), - /* 414 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91), - /* 422 S> */ B(Nop), - /* 423 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93), - /* 431 S> */ B(Nop), - /* 432 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95), - /* 440 S> */ B(Nop), - /* 441 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97), - /* 449 S> */ B(Nop), - /* 450 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99), - /* 458 S> */ B(Nop), - /* 459 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101), - /* 467 S> */ B(Nop), - /* 468 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103), - /* 476 S> */ B(Nop), - /* 477 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105), - /* 485 S> */ B(Nop), - /* 486 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107), - /* 494 S> */ B(Nop), - /* 495 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109), - /* 503 S> */ B(Nop), - /* 504 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111), - /* 512 S> */ B(Nop), - /* 513 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113), - /* 521 S> */ B(Nop), - /* 522 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115), - /* 530 S> */ B(Nop), - /* 531 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117), - /* 539 S> */ B(Nop), - /* 540 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119), - /* 548 S> */ B(Nop), - /* 549 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121), - /* 557 S> */ B(Nop), - /* 558 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123), - /* 566 S> */ B(Nop), - /* 567 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125), - /* 575 S> */ B(Nop), - /* 576 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127), - /* 584 S> */ B(Nop), - /* 585 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129), - /* 593 S> */ B(Nop), - /* 594 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131), - /* 602 S> */ B(Nop), - /* 603 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133), - /* 611 S> */ B(Nop), - /* 612 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135), - /* 620 S> */ B(Nop), - /* 621 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137), - /* 629 S> */ B(Nop), - /* 630 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139), - /* 638 S> */ B(Nop), - /* 639 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141), - /* 647 S> */ B(Nop), - /* 648 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143), - /* 656 S> */ B(Nop), - /* 657 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145), - /* 665 S> */ B(Nop), - /* 666 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147), - /* 674 S> */ B(Nop), - /* 675 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149), - /* 683 S> */ B(Nop), - /* 684 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151), - /* 692 S> */ B(Nop), - /* 693 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153), - /* 701 S> */ B(Nop), - /* 702 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155), - /* 710 S> */ B(Nop), - /* 711 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157), - /* 719 S> */ B(Nop), - /* 720 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159), - /* 728 S> */ B(Nop), - /* 729 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161), - /* 737 S> */ B(Nop), - /* 738 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163), - /* 746 S> */ B(Nop), - /* 747 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165), - /* 755 S> */ B(Nop), - /* 756 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167), - /* 764 S> */ B(Nop), - /* 765 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169), - /* 773 S> */ B(Nop), - /* 774 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171), - /* 782 S> */ B(Nop), - /* 783 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173), - /* 791 S> */ B(Nop), - /* 792 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175), - /* 800 S> */ B(Nop), - /* 801 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177), - /* 809 S> */ B(Nop), - /* 810 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179), - /* 818 S> */ B(Nop), - /* 819 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181), - /* 827 S> */ B(Nop), - /* 828 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183), - /* 836 S> */ B(Nop), - /* 837 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185), - /* 845 S> */ B(Nop), - /* 846 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187), - /* 854 S> */ B(Nop), - /* 855 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189), - /* 863 S> */ B(Nop), - /* 864 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191), - /* 872 S> */ B(Nop), - /* 873 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193), - /* 881 S> */ B(Nop), - /* 882 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195), - /* 890 S> */ B(Nop), - /* 891 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197), - /* 899 S> */ B(Nop), - /* 900 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199), - /* 908 S> */ B(Nop), - /* 909 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201), - /* 917 S> */ B(Nop), - /* 918 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203), - /* 926 S> */ B(Nop), - /* 927 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205), - /* 935 S> */ B(Nop), - /* 936 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207), - /* 944 S> */ B(Nop), - /* 945 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209), - /* 953 S> */ B(Nop), - /* 954 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211), - /* 962 S> */ B(Nop), - /* 963 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213), - /* 971 S> */ B(Nop), - /* 972 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215), - /* 980 S> */ B(Nop), - /* 981 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217), - /* 989 S> */ B(Nop), - /* 990 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219), - /* 998 S> */ B(Nop), - /* 999 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221), - /* 1007 S> */ B(Nop), - /* 1008 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223), - /* 1016 S> */ B(Nop), - /* 1017 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225), - /* 1025 S> */ B(Nop), - /* 1026 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227), - /* 1034 S> */ B(Nop), - /* 1035 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229), - /* 1043 S> */ B(Nop), - /* 1044 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231), - /* 1052 S> */ B(Nop), - /* 1053 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233), - /* 1061 S> */ B(Nop), - /* 1062 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235), - /* 1070 S> */ B(Nop), - /* 1071 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237), - /* 1079 S> */ B(Nop), - /* 1080 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239), - /* 1088 S> */ B(Nop), - /* 1089 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241), - /* 1097 S> */ B(Nop), - /* 1098 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243), - /* 1106 S> */ B(Nop), - /* 1107 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245), - /* 1115 S> */ B(Nop), - /* 1116 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247), - /* 1124 S> */ B(Nop), - /* 1125 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249), - /* 1133 S> */ B(Nop), - /* 1134 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251), - /* 1142 S> */ B(Nop), - /* 1143 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253), - /* 1151 S> */ B(Nop), - /* 1152 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255), - /* 1160 S> */ B(Nop), - /* 1161 E> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(257), - /* 1169 S> */ B(Nop), - /* 1177 E> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(261), + /* 19 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), + /* 28 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), + /* 37 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7), + /* 46 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9), + /* 55 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11), + /* 64 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13), + /* 73 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15), + /* 82 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17), + /* 91 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19), + /* 100 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21), + /* 109 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23), + /* 118 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25), + /* 127 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27), + /* 136 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29), + /* 145 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31), + /* 154 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33), + /* 163 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35), + /* 172 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37), + /* 181 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39), + /* 190 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41), + /* 199 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43), + /* 208 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45), + /* 217 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47), + /* 226 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49), + /* 235 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51), + /* 244 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53), + /* 253 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55), + /* 262 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57), + /* 271 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59), + /* 280 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61), + /* 289 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63), + /* 298 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65), + /* 307 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67), + /* 316 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69), + /* 325 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71), + /* 334 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73), + /* 343 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75), + /* 352 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77), + /* 361 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79), + /* 370 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81), + /* 379 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83), + /* 388 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85), + /* 397 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87), + /* 406 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89), + /* 415 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91), + /* 424 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93), + /* 433 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95), + /* 442 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97), + /* 451 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99), + /* 460 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101), + /* 469 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103), + /* 478 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105), + /* 487 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107), + /* 496 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109), + /* 505 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111), + /* 514 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113), + /* 523 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115), + /* 532 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117), + /* 541 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119), + /* 550 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121), + /* 559 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123), + /* 568 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125), + /* 577 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127), + /* 586 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129), + /* 595 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131), + /* 604 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133), + /* 613 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135), + /* 622 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137), + /* 631 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139), + /* 640 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141), + /* 649 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143), + /* 658 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145), + /* 667 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147), + /* 676 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149), + /* 685 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151), + /* 694 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153), + /* 703 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155), + /* 712 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157), + /* 721 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159), + /* 730 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161), + /* 739 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163), + /* 748 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165), + /* 757 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167), + /* 766 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169), + /* 775 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171), + /* 784 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173), + /* 793 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175), + /* 802 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177), + /* 811 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179), + /* 820 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181), + /* 829 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183), + /* 838 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185), + /* 847 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187), + /* 856 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189), + /* 865 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191), + /* 874 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193), + /* 883 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195), + /* 892 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197), + /* 901 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199), + /* 910 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201), + /* 919 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203), + /* 928 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205), + /* 937 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207), + /* 946 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209), + /* 955 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211), + /* 964 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213), + /* 973 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215), + /* 982 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217), + /* 991 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219), + /* 1000 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221), + /* 1009 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223), + /* 1018 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225), + /* 1027 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227), + /* 1036 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229), + /* 1045 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231), + /* 1054 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233), + /* 1063 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235), + /* 1072 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237), + /* 1081 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239), + /* 1090 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241), + /* 1099 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243), + /* 1108 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245), + /* 1117 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247), + /* 1126 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249), + /* 1135 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251), + /* 1144 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253), + /* 1153 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255), + /* 1162 S> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(257), + /* 1178 S> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(261), B(Star), R(0), /* 1178 E> */ B(Wide), B(CallProperty0), R16(0), R16(arg0), U16(259), - /* 1186 S> */ B(Return), + /* 1185 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"], @@ -489,11 +357,10 @@ snippet: " " frame size: 5 parameter count: 2 -bytecode array length: 52 +bytecode array length: 51 bytecodes: [ /* 10 E> */ B(StackCheck), - /* 16 S> */ B(Nop), - /* 24 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9), + /* 25 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9), B(Star), R(2), B(LdaSmi), I8(1), B(Star), R(4), @@ -510,7 +377,7 @@ bytecodes: [ B(LdaSmi), I8(3), B(Star), R(2), /* 41 E> */ B(CallProperty1), R(0), R(1), R(2), U8(3), - /* 50 S> */ B(Return), + /* 49 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoads.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoads.golden index 33ec14c396..c9363098dd 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoads.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoads.golden @@ -13,12 +13,11 @@ snippet: " " frame size: 0 parameter count: 2 -bytecode array length: 7 +bytecode array length: 6 bytecodes: [ /* 10 E> */ B(StackCheck), - /* 16 S> */ B(Nop), - /* 24 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), - /* 31 S> */ B(Return), + /* 25 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), + /* 30 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["name"], @@ -33,12 +32,11 @@ snippet: " " frame size: 0 parameter count: 2 -bytecode array length: 7 +bytecode array length: 6 bytecodes: [ /* 10 E> */ B(StackCheck), - /* 16 S> */ B(Nop), - /* 24 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), - /* 33 S> */ B(Return), + /* 24 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), + /* 32 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["key"], @@ -58,7 +56,7 @@ bytecodes: [ /* 10 E> */ B(StackCheck), /* 16 S> */ B(LdaSmi), I8(100), /* 24 E> */ B(LdaKeyedProperty), R(arg0), U8(3), - /* 31 S> */ B(Return), + /* 30 S> */ B(Return), ] constant pool: [ ] @@ -76,8 +74,8 @@ bytecode array length: 7 bytecodes: [ /* 10 E> */ B(StackCheck), /* 19 S> */ B(Ldar), R(arg1), - /* 28 E> */ B(LdaKeyedProperty), R(arg0), U8(3), - /* 32 S> */ B(Return), + /* 27 E> */ B(LdaKeyedProperty), R(arg0), U8(3), + /* 31 S> */ B(Return), ] constant pool: [ ] @@ -91,15 +89,14 @@ snippet: " " frame size: 1 parameter count: 2 -bytecode array length: 14 +bytecode array length: 13 bytecodes: [ /* 10 E> */ B(StackCheck), - /* 25 S> */ B(Nop), - /* 25 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), + /* 26 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), B(Star), R(0), /* 32 S> */ B(LdaSmi), I8(-124), /* 40 E> */ B(LdaKeyedProperty), R(arg0), U8(5), - /* 48 S> */ B(Return), + /* 47 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["name"], @@ -245,396 +242,267 @@ snippet: " " frame size: 1 parameter count: 2 -bytecode array length: 911 +bytecode array length: 782 bytecodes: [ /* 10 E> */ B(StackCheck), - /* 27 S> */ B(Nop), - /* 32 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), + /* 33 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), B(Star), R(0), - /* 41 S> */ B(Nop), - /* 46 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), + /* 47 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), B(Star), R(0), - /* 55 S> */ B(Nop), - /* 60 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7), + /* 61 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7), B(Star), R(0), - /* 69 S> */ B(Nop), - /* 74 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9), + /* 75 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9), B(Star), R(0), - /* 83 S> */ B(Nop), - /* 88 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11), + /* 89 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11), B(Star), R(0), - /* 97 S> */ B(Nop), - /* 102 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13), + /* 103 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13), B(Star), R(0), - /* 111 S> */ B(Nop), - /* 116 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15), + /* 117 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15), B(Star), R(0), - /* 125 S> */ B(Nop), - /* 130 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17), + /* 131 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17), B(Star), R(0), - /* 139 S> */ B(Nop), - /* 144 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19), + /* 145 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19), B(Star), R(0), - /* 153 S> */ B(Nop), - /* 158 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21), + /* 159 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21), B(Star), R(0), - /* 167 S> */ B(Nop), - /* 172 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23), + /* 173 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23), B(Star), R(0), - /* 181 S> */ B(Nop), - /* 186 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25), + /* 187 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25), B(Star), R(0), - /* 195 S> */ B(Nop), - /* 200 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27), + /* 201 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27), B(Star), R(0), - /* 209 S> */ B(Nop), - /* 214 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29), + /* 215 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29), B(Star), R(0), - /* 223 S> */ B(Nop), - /* 228 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31), + /* 229 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31), B(Star), R(0), - /* 237 S> */ B(Nop), - /* 242 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33), + /* 243 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33), B(Star), R(0), - /* 251 S> */ B(Nop), - /* 256 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35), + /* 257 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35), B(Star), R(0), - /* 265 S> */ B(Nop), - /* 270 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37), + /* 271 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37), B(Star), R(0), - /* 279 S> */ B(Nop), - /* 284 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39), + /* 285 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39), B(Star), R(0), - /* 293 S> */ B(Nop), - /* 298 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41), + /* 299 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41), B(Star), R(0), - /* 307 S> */ B(Nop), - /* 312 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43), + /* 313 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43), B(Star), R(0), - /* 321 S> */ B(Nop), - /* 326 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45), + /* 327 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45), B(Star), R(0), - /* 335 S> */ B(Nop), - /* 340 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47), + /* 341 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47), B(Star), R(0), - /* 349 S> */ B(Nop), - /* 354 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49), + /* 355 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49), B(Star), R(0), - /* 363 S> */ B(Nop), - /* 368 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51), + /* 369 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51), B(Star), R(0), - /* 377 S> */ B(Nop), - /* 382 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53), + /* 383 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53), B(Star), R(0), - /* 391 S> */ B(Nop), - /* 396 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55), + /* 397 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55), B(Star), R(0), - /* 405 S> */ B(Nop), - /* 410 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57), + /* 411 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57), B(Star), R(0), - /* 419 S> */ B(Nop), - /* 424 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59), + /* 425 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59), B(Star), R(0), - /* 433 S> */ B(Nop), - /* 438 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61), + /* 439 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61), B(Star), R(0), - /* 447 S> */ B(Nop), - /* 452 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63), + /* 453 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63), B(Star), R(0), - /* 461 S> */ B(Nop), - /* 466 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65), + /* 467 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65), B(Star), R(0), - /* 475 S> */ B(Nop), - /* 480 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67), + /* 481 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67), B(Star), R(0), - /* 489 S> */ B(Nop), - /* 494 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69), + /* 495 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69), B(Star), R(0), - /* 503 S> */ B(Nop), - /* 508 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71), + /* 509 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71), B(Star), R(0), - /* 517 S> */ B(Nop), - /* 522 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73), + /* 523 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73), B(Star), R(0), - /* 531 S> */ B(Nop), - /* 536 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75), + /* 537 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75), B(Star), R(0), - /* 545 S> */ B(Nop), - /* 550 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77), + /* 551 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77), B(Star), R(0), - /* 559 S> */ B(Nop), - /* 564 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79), + /* 565 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79), B(Star), R(0), - /* 573 S> */ B(Nop), - /* 578 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81), + /* 579 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81), B(Star), R(0), - /* 587 S> */ B(Nop), - /* 592 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83), + /* 593 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83), B(Star), R(0), - /* 601 S> */ B(Nop), - /* 606 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85), + /* 607 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85), B(Star), R(0), - /* 615 S> */ B(Nop), - /* 620 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87), + /* 621 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87), B(Star), R(0), - /* 629 S> */ B(Nop), - /* 634 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89), + /* 635 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89), B(Star), R(0), - /* 643 S> */ B(Nop), - /* 648 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91), + /* 649 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91), B(Star), R(0), - /* 657 S> */ B(Nop), - /* 662 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93), + /* 663 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93), B(Star), R(0), - /* 671 S> */ B(Nop), - /* 676 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95), + /* 677 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95), B(Star), R(0), - /* 685 S> */ B(Nop), - /* 690 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97), + /* 691 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97), B(Star), R(0), - /* 699 S> */ B(Nop), - /* 704 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99), + /* 705 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99), B(Star), R(0), - /* 713 S> */ B(Nop), - /* 718 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101), + /* 719 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101), B(Star), R(0), - /* 727 S> */ B(Nop), - /* 732 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103), + /* 733 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103), B(Star), R(0), - /* 741 S> */ B(Nop), - /* 746 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105), + /* 747 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105), B(Star), R(0), - /* 755 S> */ B(Nop), - /* 760 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107), + /* 761 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107), B(Star), R(0), - /* 769 S> */ B(Nop), - /* 774 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109), + /* 775 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109), B(Star), R(0), - /* 783 S> */ B(Nop), - /* 788 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111), + /* 789 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111), B(Star), R(0), - /* 797 S> */ B(Nop), - /* 802 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113), + /* 803 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113), B(Star), R(0), - /* 811 S> */ B(Nop), - /* 816 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115), + /* 817 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115), B(Star), R(0), - /* 825 S> */ B(Nop), - /* 830 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117), + /* 831 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117), B(Star), R(0), - /* 839 S> */ B(Nop), - /* 844 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119), + /* 845 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119), B(Star), R(0), - /* 853 S> */ B(Nop), - /* 858 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121), + /* 859 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121), B(Star), R(0), - /* 867 S> */ B(Nop), - /* 872 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123), + /* 873 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123), B(Star), R(0), - /* 881 S> */ B(Nop), - /* 886 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125), + /* 887 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125), B(Star), R(0), - /* 895 S> */ B(Nop), - /* 900 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127), + /* 901 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127), B(Star), R(0), - /* 909 S> */ B(Nop), - /* 914 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129), + /* 915 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129), B(Star), R(0), - /* 923 S> */ B(Nop), - /* 928 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131), + /* 929 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131), B(Star), R(0), - /* 937 S> */ B(Nop), - /* 942 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133), + /* 943 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133), B(Star), R(0), - /* 951 S> */ B(Nop), - /* 956 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135), + /* 957 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135), B(Star), R(0), - /* 965 S> */ B(Nop), - /* 970 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137), + /* 971 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137), B(Star), R(0), - /* 979 S> */ B(Nop), - /* 984 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139), + /* 985 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139), B(Star), R(0), - /* 993 S> */ B(Nop), - /* 998 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141), + /* 999 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141), B(Star), R(0), - /* 1007 S> */ B(Nop), - /* 1012 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143), + /* 1013 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143), B(Star), R(0), - /* 1021 S> */ B(Nop), - /* 1026 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145), + /* 1027 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145), B(Star), R(0), - /* 1035 S> */ B(Nop), - /* 1040 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147), + /* 1041 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147), B(Star), R(0), - /* 1049 S> */ B(Nop), - /* 1054 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149), + /* 1055 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149), B(Star), R(0), - /* 1063 S> */ B(Nop), - /* 1068 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151), + /* 1069 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151), B(Star), R(0), - /* 1077 S> */ B(Nop), - /* 1082 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153), + /* 1083 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153), B(Star), R(0), - /* 1091 S> */ B(Nop), - /* 1096 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155), + /* 1097 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155), B(Star), R(0), - /* 1105 S> */ B(Nop), - /* 1110 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157), + /* 1111 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157), B(Star), R(0), - /* 1119 S> */ B(Nop), - /* 1124 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159), + /* 1125 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159), B(Star), R(0), - /* 1133 S> */ B(Nop), - /* 1138 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161), + /* 1139 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161), B(Star), R(0), - /* 1147 S> */ B(Nop), - /* 1152 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163), + /* 1153 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163), B(Star), R(0), - /* 1161 S> */ B(Nop), - /* 1166 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165), + /* 1167 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165), B(Star), R(0), - /* 1175 S> */ B(Nop), - /* 1180 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167), + /* 1181 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167), B(Star), R(0), - /* 1189 S> */ B(Nop), - /* 1194 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169), + /* 1195 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169), B(Star), R(0), - /* 1203 S> */ B(Nop), - /* 1208 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171), + /* 1209 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171), B(Star), R(0), - /* 1217 S> */ B(Nop), - /* 1222 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173), + /* 1223 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173), B(Star), R(0), - /* 1231 S> */ B(Nop), - /* 1236 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175), + /* 1237 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175), B(Star), R(0), - /* 1245 S> */ B(Nop), - /* 1250 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177), + /* 1251 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177), B(Star), R(0), - /* 1259 S> */ B(Nop), - /* 1264 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179), + /* 1265 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179), B(Star), R(0), - /* 1273 S> */ B(Nop), - /* 1278 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181), + /* 1279 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181), B(Star), R(0), - /* 1287 S> */ B(Nop), - /* 1292 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183), + /* 1293 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183), B(Star), R(0), - /* 1301 S> */ B(Nop), - /* 1306 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185), + /* 1307 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185), B(Star), R(0), - /* 1315 S> */ B(Nop), - /* 1320 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187), + /* 1321 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187), B(Star), R(0), - /* 1329 S> */ B(Nop), - /* 1334 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189), + /* 1335 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189), B(Star), R(0), - /* 1343 S> */ B(Nop), - /* 1348 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191), + /* 1349 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191), B(Star), R(0), - /* 1357 S> */ B(Nop), - /* 1362 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193), + /* 1363 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193), B(Star), R(0), - /* 1371 S> */ B(Nop), - /* 1376 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195), + /* 1377 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195), B(Star), R(0), - /* 1385 S> */ B(Nop), - /* 1390 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197), + /* 1391 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197), B(Star), R(0), - /* 1399 S> */ B(Nop), - /* 1404 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199), + /* 1405 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199), B(Star), R(0), - /* 1413 S> */ B(Nop), - /* 1418 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201), + /* 1419 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201), B(Star), R(0), - /* 1427 S> */ B(Nop), - /* 1432 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203), + /* 1433 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203), B(Star), R(0), - /* 1441 S> */ B(Nop), - /* 1446 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205), + /* 1447 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205), B(Star), R(0), - /* 1455 S> */ B(Nop), - /* 1460 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207), + /* 1461 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207), B(Star), R(0), - /* 1469 S> */ B(Nop), - /* 1474 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209), + /* 1475 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209), B(Star), R(0), - /* 1483 S> */ B(Nop), - /* 1488 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211), + /* 1489 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211), B(Star), R(0), - /* 1497 S> */ B(Nop), - /* 1502 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213), + /* 1503 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213), B(Star), R(0), - /* 1511 S> */ B(Nop), - /* 1516 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215), + /* 1517 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215), B(Star), R(0), - /* 1525 S> */ B(Nop), - /* 1530 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217), + /* 1531 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217), B(Star), R(0), - /* 1539 S> */ B(Nop), - /* 1544 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219), + /* 1545 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219), B(Star), R(0), - /* 1553 S> */ B(Nop), - /* 1558 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221), + /* 1559 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221), B(Star), R(0), - /* 1567 S> */ B(Nop), - /* 1572 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223), + /* 1573 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223), B(Star), R(0), - /* 1581 S> */ B(Nop), - /* 1586 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225), + /* 1587 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225), B(Star), R(0), - /* 1595 S> */ B(Nop), - /* 1600 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227), + /* 1601 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227), B(Star), R(0), - /* 1609 S> */ B(Nop), - /* 1614 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229), + /* 1615 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229), B(Star), R(0), - /* 1623 S> */ B(Nop), - /* 1628 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231), + /* 1629 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231), B(Star), R(0), - /* 1637 S> */ B(Nop), - /* 1642 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233), + /* 1643 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233), B(Star), R(0), - /* 1651 S> */ B(Nop), - /* 1656 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235), + /* 1657 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235), B(Star), R(0), - /* 1665 S> */ B(Nop), - /* 1670 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237), + /* 1671 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237), B(Star), R(0), - /* 1679 S> */ B(Nop), - /* 1684 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239), + /* 1685 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239), B(Star), R(0), - /* 1693 S> */ B(Nop), - /* 1698 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241), + /* 1699 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241), B(Star), R(0), - /* 1707 S> */ B(Nop), - /* 1712 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243), + /* 1713 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243), B(Star), R(0), - /* 1721 S> */ B(Nop), - /* 1726 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245), + /* 1727 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245), B(Star), R(0), - /* 1735 S> */ B(Nop), - /* 1740 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247), + /* 1741 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247), B(Star), R(0), - /* 1749 S> */ B(Nop), - /* 1754 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249), + /* 1755 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249), B(Star), R(0), - /* 1763 S> */ B(Nop), - /* 1768 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251), + /* 1769 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251), B(Star), R(0), - /* 1777 S> */ B(Nop), - /* 1782 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253), + /* 1783 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253), B(Star), R(0), - /* 1791 S> */ B(Nop), - /* 1796 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255), + /* 1797 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255), B(Star), R(0), - /* 1805 S> */ B(Nop), - /* 1810 E> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(257), + /* 1811 S> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(257), B(Star), R(0), - /* 1819 S> */ B(Nop), - /* 1827 E> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(259), - /* 1834 S> */ B(Return), + /* 1828 S> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(259), + /* 1833 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["name"], @@ -784,392 +652,392 @@ bytecode array length: 909 bytecodes: [ /* 10 E> */ B(StackCheck), /* 30 S> */ B(Ldar), R(arg1), - /* 36 E> */ B(LdaKeyedProperty), R(arg0), U8(3), + /* 35 E> */ B(LdaKeyedProperty), R(arg0), U8(3), B(Star), R(0), /* 42 S> */ B(Ldar), R(arg1), - /* 48 E> */ B(LdaKeyedProperty), R(arg0), U8(5), + /* 47 E> */ B(LdaKeyedProperty), R(arg0), U8(5), B(Star), R(0), /* 54 S> */ B(Ldar), R(arg1), - /* 60 E> */ B(LdaKeyedProperty), R(arg0), U8(7), + /* 59 E> */ B(LdaKeyedProperty), R(arg0), U8(7), B(Star), R(0), /* 66 S> */ B(Ldar), R(arg1), - /* 72 E> */ B(LdaKeyedProperty), R(arg0), U8(9), + /* 71 E> */ B(LdaKeyedProperty), R(arg0), U8(9), B(Star), R(0), /* 78 S> */ B(Ldar), R(arg1), - /* 84 E> */ B(LdaKeyedProperty), R(arg0), U8(11), + /* 83 E> */ B(LdaKeyedProperty), R(arg0), U8(11), B(Star), R(0), /* 90 S> */ B(Ldar), R(arg1), - /* 96 E> */ B(LdaKeyedProperty), R(arg0), U8(13), + /* 95 E> */ B(LdaKeyedProperty), R(arg0), U8(13), B(Star), R(0), /* 102 S> */ B(Ldar), R(arg1), - /* 108 E> */ B(LdaKeyedProperty), R(arg0), U8(15), + /* 107 E> */ B(LdaKeyedProperty), R(arg0), U8(15), B(Star), R(0), /* 114 S> */ B(Ldar), R(arg1), - /* 120 E> */ B(LdaKeyedProperty), R(arg0), U8(17), + /* 119 E> */ B(LdaKeyedProperty), R(arg0), U8(17), B(Star), R(0), /* 126 S> */ B(Ldar), R(arg1), - /* 132 E> */ B(LdaKeyedProperty), R(arg0), U8(19), + /* 131 E> */ B(LdaKeyedProperty), R(arg0), U8(19), B(Star), R(0), /* 138 S> */ B(Ldar), R(arg1), - /* 144 E> */ B(LdaKeyedProperty), R(arg0), U8(21), + /* 143 E> */ B(LdaKeyedProperty), R(arg0), U8(21), B(Star), R(0), /* 150 S> */ B(Ldar), R(arg1), - /* 156 E> */ B(LdaKeyedProperty), R(arg0), U8(23), + /* 155 E> */ B(LdaKeyedProperty), R(arg0), U8(23), B(Star), R(0), /* 162 S> */ B(Ldar), R(arg1), - /* 168 E> */ B(LdaKeyedProperty), R(arg0), U8(25), + /* 167 E> */ B(LdaKeyedProperty), R(arg0), U8(25), B(Star), R(0), /* 174 S> */ B(Ldar), R(arg1), - /* 180 E> */ B(LdaKeyedProperty), R(arg0), U8(27), + /* 179 E> */ B(LdaKeyedProperty), R(arg0), U8(27), B(Star), R(0), /* 186 S> */ B(Ldar), R(arg1), - /* 192 E> */ B(LdaKeyedProperty), R(arg0), U8(29), + /* 191 E> */ B(LdaKeyedProperty), R(arg0), U8(29), B(Star), R(0), /* 198 S> */ B(Ldar), R(arg1), - /* 204 E> */ B(LdaKeyedProperty), R(arg0), U8(31), + /* 203 E> */ B(LdaKeyedProperty), R(arg0), U8(31), B(Star), R(0), /* 210 S> */ B(Ldar), R(arg1), - /* 216 E> */ B(LdaKeyedProperty), R(arg0), U8(33), + /* 215 E> */ B(LdaKeyedProperty), R(arg0), U8(33), B(Star), R(0), /* 222 S> */ B(Ldar), R(arg1), - /* 228 E> */ B(LdaKeyedProperty), R(arg0), U8(35), + /* 227 E> */ B(LdaKeyedProperty), R(arg0), U8(35), B(Star), R(0), /* 234 S> */ B(Ldar), R(arg1), - /* 240 E> */ B(LdaKeyedProperty), R(arg0), U8(37), + /* 239 E> */ B(LdaKeyedProperty), R(arg0), U8(37), B(Star), R(0), /* 246 S> */ B(Ldar), R(arg1), - /* 252 E> */ B(LdaKeyedProperty), R(arg0), U8(39), + /* 251 E> */ B(LdaKeyedProperty), R(arg0), U8(39), B(Star), R(0), /* 258 S> */ B(Ldar), R(arg1), - /* 264 E> */ B(LdaKeyedProperty), R(arg0), U8(41), + /* 263 E> */ B(LdaKeyedProperty), R(arg0), U8(41), B(Star), R(0), /* 270 S> */ B(Ldar), R(arg1), - /* 276 E> */ B(LdaKeyedProperty), R(arg0), U8(43), + /* 275 E> */ B(LdaKeyedProperty), R(arg0), U8(43), B(Star), R(0), /* 282 S> */ B(Ldar), R(arg1), - /* 288 E> */ B(LdaKeyedProperty), R(arg0), U8(45), + /* 287 E> */ B(LdaKeyedProperty), R(arg0), U8(45), B(Star), R(0), /* 294 S> */ B(Ldar), R(arg1), - /* 300 E> */ B(LdaKeyedProperty), R(arg0), U8(47), + /* 299 E> */ B(LdaKeyedProperty), R(arg0), U8(47), B(Star), R(0), /* 306 S> */ B(Ldar), R(arg1), - /* 312 E> */ B(LdaKeyedProperty), R(arg0), U8(49), + /* 311 E> */ B(LdaKeyedProperty), R(arg0), U8(49), B(Star), R(0), /* 318 S> */ B(Ldar), R(arg1), - /* 324 E> */ B(LdaKeyedProperty), R(arg0), U8(51), + /* 323 E> */ B(LdaKeyedProperty), R(arg0), U8(51), B(Star), R(0), /* 330 S> */ B(Ldar), R(arg1), - /* 336 E> */ B(LdaKeyedProperty), R(arg0), U8(53), + /* 335 E> */ B(LdaKeyedProperty), R(arg0), U8(53), B(Star), R(0), /* 342 S> */ B(Ldar), R(arg1), - /* 348 E> */ B(LdaKeyedProperty), R(arg0), U8(55), + /* 347 E> */ B(LdaKeyedProperty), R(arg0), U8(55), B(Star), R(0), /* 354 S> */ B(Ldar), R(arg1), - /* 360 E> */ B(LdaKeyedProperty), R(arg0), U8(57), + /* 359 E> */ B(LdaKeyedProperty), R(arg0), U8(57), B(Star), R(0), /* 366 S> */ B(Ldar), R(arg1), - /* 372 E> */ B(LdaKeyedProperty), R(arg0), U8(59), + /* 371 E> */ B(LdaKeyedProperty), R(arg0), U8(59), B(Star), R(0), /* 378 S> */ B(Ldar), R(arg1), - /* 384 E> */ B(LdaKeyedProperty), R(arg0), U8(61), + /* 383 E> */ B(LdaKeyedProperty), R(arg0), U8(61), B(Star), R(0), /* 390 S> */ B(Ldar), R(arg1), - /* 396 E> */ B(LdaKeyedProperty), R(arg0), U8(63), + /* 395 E> */ B(LdaKeyedProperty), R(arg0), U8(63), B(Star), R(0), /* 402 S> */ B(Ldar), R(arg1), - /* 408 E> */ B(LdaKeyedProperty), R(arg0), U8(65), + /* 407 E> */ B(LdaKeyedProperty), R(arg0), U8(65), B(Star), R(0), /* 414 S> */ B(Ldar), R(arg1), - /* 420 E> */ B(LdaKeyedProperty), R(arg0), U8(67), + /* 419 E> */ B(LdaKeyedProperty), R(arg0), U8(67), B(Star), R(0), /* 426 S> */ B(Ldar), R(arg1), - /* 432 E> */ B(LdaKeyedProperty), R(arg0), U8(69), + /* 431 E> */ B(LdaKeyedProperty), R(arg0), U8(69), B(Star), R(0), /* 438 S> */ B(Ldar), R(arg1), - /* 444 E> */ B(LdaKeyedProperty), R(arg0), U8(71), + /* 443 E> */ B(LdaKeyedProperty), R(arg0), U8(71), B(Star), R(0), /* 450 S> */ B(Ldar), R(arg1), - /* 456 E> */ B(LdaKeyedProperty), R(arg0), U8(73), + /* 455 E> */ B(LdaKeyedProperty), R(arg0), U8(73), B(Star), R(0), /* 462 S> */ B(Ldar), R(arg1), - /* 468 E> */ B(LdaKeyedProperty), R(arg0), U8(75), + /* 467 E> */ B(LdaKeyedProperty), R(arg0), U8(75), B(Star), R(0), /* 474 S> */ B(Ldar), R(arg1), - /* 480 E> */ B(LdaKeyedProperty), R(arg0), U8(77), + /* 479 E> */ B(LdaKeyedProperty), R(arg0), U8(77), B(Star), R(0), /* 486 S> */ B(Ldar), R(arg1), - /* 492 E> */ B(LdaKeyedProperty), R(arg0), U8(79), + /* 491 E> */ B(LdaKeyedProperty), R(arg0), U8(79), B(Star), R(0), /* 498 S> */ B(Ldar), R(arg1), - /* 504 E> */ B(LdaKeyedProperty), R(arg0), U8(81), + /* 503 E> */ B(LdaKeyedProperty), R(arg0), U8(81), B(Star), R(0), /* 510 S> */ B(Ldar), R(arg1), - /* 516 E> */ B(LdaKeyedProperty), R(arg0), U8(83), + /* 515 E> */ B(LdaKeyedProperty), R(arg0), U8(83), B(Star), R(0), /* 522 S> */ B(Ldar), R(arg1), - /* 528 E> */ B(LdaKeyedProperty), R(arg0), U8(85), + /* 527 E> */ B(LdaKeyedProperty), R(arg0), U8(85), B(Star), R(0), /* 534 S> */ B(Ldar), R(arg1), - /* 540 E> */ B(LdaKeyedProperty), R(arg0), U8(87), + /* 539 E> */ B(LdaKeyedProperty), R(arg0), U8(87), B(Star), R(0), /* 546 S> */ B(Ldar), R(arg1), - /* 552 E> */ B(LdaKeyedProperty), R(arg0), U8(89), + /* 551 E> */ B(LdaKeyedProperty), R(arg0), U8(89), B(Star), R(0), /* 558 S> */ B(Ldar), R(arg1), - /* 564 E> */ B(LdaKeyedProperty), R(arg0), U8(91), + /* 563 E> */ B(LdaKeyedProperty), R(arg0), U8(91), B(Star), R(0), /* 570 S> */ B(Ldar), R(arg1), - /* 576 E> */ B(LdaKeyedProperty), R(arg0), U8(93), + /* 575 E> */ B(LdaKeyedProperty), R(arg0), U8(93), B(Star), R(0), /* 582 S> */ B(Ldar), R(arg1), - /* 588 E> */ B(LdaKeyedProperty), R(arg0), U8(95), + /* 587 E> */ B(LdaKeyedProperty), R(arg0), U8(95), B(Star), R(0), /* 594 S> */ B(Ldar), R(arg1), - /* 600 E> */ B(LdaKeyedProperty), R(arg0), U8(97), + /* 599 E> */ B(LdaKeyedProperty), R(arg0), U8(97), B(Star), R(0), /* 606 S> */ B(Ldar), R(arg1), - /* 612 E> */ B(LdaKeyedProperty), R(arg0), U8(99), + /* 611 E> */ B(LdaKeyedProperty), R(arg0), U8(99), B(Star), R(0), /* 618 S> */ B(Ldar), R(arg1), - /* 624 E> */ B(LdaKeyedProperty), R(arg0), U8(101), + /* 623 E> */ B(LdaKeyedProperty), R(arg0), U8(101), B(Star), R(0), /* 630 S> */ B(Ldar), R(arg1), - /* 636 E> */ B(LdaKeyedProperty), R(arg0), U8(103), + /* 635 E> */ B(LdaKeyedProperty), R(arg0), U8(103), B(Star), R(0), /* 642 S> */ B(Ldar), R(arg1), - /* 648 E> */ B(LdaKeyedProperty), R(arg0), U8(105), + /* 647 E> */ B(LdaKeyedProperty), R(arg0), U8(105), B(Star), R(0), /* 654 S> */ B(Ldar), R(arg1), - /* 660 E> */ B(LdaKeyedProperty), R(arg0), U8(107), + /* 659 E> */ B(LdaKeyedProperty), R(arg0), U8(107), B(Star), R(0), /* 666 S> */ B(Ldar), R(arg1), - /* 672 E> */ B(LdaKeyedProperty), R(arg0), U8(109), + /* 671 E> */ B(LdaKeyedProperty), R(arg0), U8(109), B(Star), R(0), /* 678 S> */ B(Ldar), R(arg1), - /* 684 E> */ B(LdaKeyedProperty), R(arg0), U8(111), + /* 683 E> */ B(LdaKeyedProperty), R(arg0), U8(111), B(Star), R(0), /* 690 S> */ B(Ldar), R(arg1), - /* 696 E> */ B(LdaKeyedProperty), R(arg0), U8(113), + /* 695 E> */ B(LdaKeyedProperty), R(arg0), U8(113), B(Star), R(0), /* 702 S> */ B(Ldar), R(arg1), - /* 708 E> */ B(LdaKeyedProperty), R(arg0), U8(115), + /* 707 E> */ B(LdaKeyedProperty), R(arg0), U8(115), B(Star), R(0), /* 714 S> */ B(Ldar), R(arg1), - /* 720 E> */ B(LdaKeyedProperty), R(arg0), U8(117), + /* 719 E> */ B(LdaKeyedProperty), R(arg0), U8(117), B(Star), R(0), /* 726 S> */ B(Ldar), R(arg1), - /* 732 E> */ B(LdaKeyedProperty), R(arg0), U8(119), + /* 731 E> */ B(LdaKeyedProperty), R(arg0), U8(119), B(Star), R(0), /* 738 S> */ B(Ldar), R(arg1), - /* 744 E> */ B(LdaKeyedProperty), R(arg0), U8(121), + /* 743 E> */ B(LdaKeyedProperty), R(arg0), U8(121), B(Star), R(0), /* 750 S> */ B(Ldar), R(arg1), - /* 756 E> */ B(LdaKeyedProperty), R(arg0), U8(123), + /* 755 E> */ B(LdaKeyedProperty), R(arg0), U8(123), B(Star), R(0), /* 762 S> */ B(Ldar), R(arg1), - /* 768 E> */ B(LdaKeyedProperty), R(arg0), U8(125), + /* 767 E> */ B(LdaKeyedProperty), R(arg0), U8(125), B(Star), R(0), /* 774 S> */ B(Ldar), R(arg1), - /* 780 E> */ B(LdaKeyedProperty), R(arg0), U8(127), + /* 779 E> */ B(LdaKeyedProperty), R(arg0), U8(127), B(Star), R(0), /* 786 S> */ B(Ldar), R(arg1), - /* 792 E> */ B(LdaKeyedProperty), R(arg0), U8(129), + /* 791 E> */ B(LdaKeyedProperty), R(arg0), U8(129), B(Star), R(0), /* 798 S> */ B(Ldar), R(arg1), - /* 804 E> */ B(LdaKeyedProperty), R(arg0), U8(131), + /* 803 E> */ B(LdaKeyedProperty), R(arg0), U8(131), B(Star), R(0), /* 810 S> */ B(Ldar), R(arg1), - /* 816 E> */ B(LdaKeyedProperty), R(arg0), U8(133), + /* 815 E> */ B(LdaKeyedProperty), R(arg0), U8(133), B(Star), R(0), /* 822 S> */ B(Ldar), R(arg1), - /* 828 E> */ B(LdaKeyedProperty), R(arg0), U8(135), + /* 827 E> */ B(LdaKeyedProperty), R(arg0), U8(135), B(Star), R(0), /* 834 S> */ B(Ldar), R(arg1), - /* 840 E> */ B(LdaKeyedProperty), R(arg0), U8(137), + /* 839 E> */ B(LdaKeyedProperty), R(arg0), U8(137), B(Star), R(0), /* 846 S> */ B(Ldar), R(arg1), - /* 852 E> */ B(LdaKeyedProperty), R(arg0), U8(139), + /* 851 E> */ B(LdaKeyedProperty), R(arg0), U8(139), B(Star), R(0), /* 858 S> */ B(Ldar), R(arg1), - /* 864 E> */ B(LdaKeyedProperty), R(arg0), U8(141), + /* 863 E> */ B(LdaKeyedProperty), R(arg0), U8(141), B(Star), R(0), /* 870 S> */ B(Ldar), R(arg1), - /* 876 E> */ B(LdaKeyedProperty), R(arg0), U8(143), + /* 875 E> */ B(LdaKeyedProperty), R(arg0), U8(143), B(Star), R(0), /* 882 S> */ B(Ldar), R(arg1), - /* 888 E> */ B(LdaKeyedProperty), R(arg0), U8(145), + /* 887 E> */ B(LdaKeyedProperty), R(arg0), U8(145), B(Star), R(0), /* 894 S> */ B(Ldar), R(arg1), - /* 900 E> */ B(LdaKeyedProperty), R(arg0), U8(147), + /* 899 E> */ B(LdaKeyedProperty), R(arg0), U8(147), B(Star), R(0), /* 906 S> */ B(Ldar), R(arg1), - /* 912 E> */ B(LdaKeyedProperty), R(arg0), U8(149), + /* 911 E> */ B(LdaKeyedProperty), R(arg0), U8(149), B(Star), R(0), /* 918 S> */ B(Ldar), R(arg1), - /* 924 E> */ B(LdaKeyedProperty), R(arg0), U8(151), + /* 923 E> */ B(LdaKeyedProperty), R(arg0), U8(151), B(Star), R(0), /* 930 S> */ B(Ldar), R(arg1), - /* 936 E> */ B(LdaKeyedProperty), R(arg0), U8(153), + /* 935 E> */ B(LdaKeyedProperty), R(arg0), U8(153), B(Star), R(0), /* 942 S> */ B(Ldar), R(arg1), - /* 948 E> */ B(LdaKeyedProperty), R(arg0), U8(155), + /* 947 E> */ B(LdaKeyedProperty), R(arg0), U8(155), B(Star), R(0), /* 954 S> */ B(Ldar), R(arg1), - /* 960 E> */ B(LdaKeyedProperty), R(arg0), U8(157), + /* 959 E> */ B(LdaKeyedProperty), R(arg0), U8(157), B(Star), R(0), /* 966 S> */ B(Ldar), R(arg1), - /* 972 E> */ B(LdaKeyedProperty), R(arg0), U8(159), + /* 971 E> */ B(LdaKeyedProperty), R(arg0), U8(159), B(Star), R(0), /* 978 S> */ B(Ldar), R(arg1), - /* 984 E> */ B(LdaKeyedProperty), R(arg0), U8(161), + /* 983 E> */ B(LdaKeyedProperty), R(arg0), U8(161), B(Star), R(0), /* 990 S> */ B(Ldar), R(arg1), - /* 996 E> */ B(LdaKeyedProperty), R(arg0), U8(163), + /* 995 E> */ B(LdaKeyedProperty), R(arg0), U8(163), B(Star), R(0), /* 1002 S> */ B(Ldar), R(arg1), - /* 1008 E> */ B(LdaKeyedProperty), R(arg0), U8(165), + /* 1007 E> */ B(LdaKeyedProperty), R(arg0), U8(165), B(Star), R(0), /* 1014 S> */ B(Ldar), R(arg1), - /* 1020 E> */ B(LdaKeyedProperty), R(arg0), U8(167), + /* 1019 E> */ B(LdaKeyedProperty), R(arg0), U8(167), B(Star), R(0), /* 1026 S> */ B(Ldar), R(arg1), - /* 1032 E> */ B(LdaKeyedProperty), R(arg0), U8(169), + /* 1031 E> */ B(LdaKeyedProperty), R(arg0), U8(169), B(Star), R(0), /* 1038 S> */ B(Ldar), R(arg1), - /* 1044 E> */ B(LdaKeyedProperty), R(arg0), U8(171), + /* 1043 E> */ B(LdaKeyedProperty), R(arg0), U8(171), B(Star), R(0), /* 1050 S> */ B(Ldar), R(arg1), - /* 1056 E> */ B(LdaKeyedProperty), R(arg0), U8(173), + /* 1055 E> */ B(LdaKeyedProperty), R(arg0), U8(173), B(Star), R(0), /* 1062 S> */ B(Ldar), R(arg1), - /* 1068 E> */ B(LdaKeyedProperty), R(arg0), U8(175), + /* 1067 E> */ B(LdaKeyedProperty), R(arg0), U8(175), B(Star), R(0), /* 1074 S> */ B(Ldar), R(arg1), - /* 1080 E> */ B(LdaKeyedProperty), R(arg0), U8(177), + /* 1079 E> */ B(LdaKeyedProperty), R(arg0), U8(177), B(Star), R(0), /* 1086 S> */ B(Ldar), R(arg1), - /* 1092 E> */ B(LdaKeyedProperty), R(arg0), U8(179), + /* 1091 E> */ B(LdaKeyedProperty), R(arg0), U8(179), B(Star), R(0), /* 1098 S> */ B(Ldar), R(arg1), - /* 1104 E> */ B(LdaKeyedProperty), R(arg0), U8(181), + /* 1103 E> */ B(LdaKeyedProperty), R(arg0), U8(181), B(Star), R(0), /* 1110 S> */ B(Ldar), R(arg1), - /* 1116 E> */ B(LdaKeyedProperty), R(arg0), U8(183), + /* 1115 E> */ B(LdaKeyedProperty), R(arg0), U8(183), B(Star), R(0), /* 1122 S> */ B(Ldar), R(arg1), - /* 1128 E> */ B(LdaKeyedProperty), R(arg0), U8(185), + /* 1127 E> */ B(LdaKeyedProperty), R(arg0), U8(185), B(Star), R(0), /* 1134 S> */ B(Ldar), R(arg1), - /* 1140 E> */ B(LdaKeyedProperty), R(arg0), U8(187), + /* 1139 E> */ B(LdaKeyedProperty), R(arg0), U8(187), B(Star), R(0), /* 1146 S> */ B(Ldar), R(arg1), - /* 1152 E> */ B(LdaKeyedProperty), R(arg0), U8(189), + /* 1151 E> */ B(LdaKeyedProperty), R(arg0), U8(189), B(Star), R(0), /* 1158 S> */ B(Ldar), R(arg1), - /* 1164 E> */ B(LdaKeyedProperty), R(arg0), U8(191), + /* 1163 E> */ B(LdaKeyedProperty), R(arg0), U8(191), B(Star), R(0), /* 1170 S> */ B(Ldar), R(arg1), - /* 1176 E> */ B(LdaKeyedProperty), R(arg0), U8(193), + /* 1175 E> */ B(LdaKeyedProperty), R(arg0), U8(193), B(Star), R(0), /* 1182 S> */ B(Ldar), R(arg1), - /* 1188 E> */ B(LdaKeyedProperty), R(arg0), U8(195), + /* 1187 E> */ B(LdaKeyedProperty), R(arg0), U8(195), B(Star), R(0), /* 1194 S> */ B(Ldar), R(arg1), - /* 1200 E> */ B(LdaKeyedProperty), R(arg0), U8(197), + /* 1199 E> */ B(LdaKeyedProperty), R(arg0), U8(197), B(Star), R(0), /* 1206 S> */ B(Ldar), R(arg1), - /* 1212 E> */ B(LdaKeyedProperty), R(arg0), U8(199), + /* 1211 E> */ B(LdaKeyedProperty), R(arg0), U8(199), B(Star), R(0), /* 1218 S> */ B(Ldar), R(arg1), - /* 1224 E> */ B(LdaKeyedProperty), R(arg0), U8(201), + /* 1223 E> */ B(LdaKeyedProperty), R(arg0), U8(201), B(Star), R(0), /* 1230 S> */ B(Ldar), R(arg1), - /* 1236 E> */ B(LdaKeyedProperty), R(arg0), U8(203), + /* 1235 E> */ B(LdaKeyedProperty), R(arg0), U8(203), B(Star), R(0), /* 1242 S> */ B(Ldar), R(arg1), - /* 1248 E> */ B(LdaKeyedProperty), R(arg0), U8(205), + /* 1247 E> */ B(LdaKeyedProperty), R(arg0), U8(205), B(Star), R(0), /* 1254 S> */ B(Ldar), R(arg1), - /* 1260 E> */ B(LdaKeyedProperty), R(arg0), U8(207), + /* 1259 E> */ B(LdaKeyedProperty), R(arg0), U8(207), B(Star), R(0), /* 1266 S> */ B(Ldar), R(arg1), - /* 1272 E> */ B(LdaKeyedProperty), R(arg0), U8(209), + /* 1271 E> */ B(LdaKeyedProperty), R(arg0), U8(209), B(Star), R(0), /* 1278 S> */ B(Ldar), R(arg1), - /* 1284 E> */ B(LdaKeyedProperty), R(arg0), U8(211), + /* 1283 E> */ B(LdaKeyedProperty), R(arg0), U8(211), B(Star), R(0), /* 1290 S> */ B(Ldar), R(arg1), - /* 1296 E> */ B(LdaKeyedProperty), R(arg0), U8(213), + /* 1295 E> */ B(LdaKeyedProperty), R(arg0), U8(213), B(Star), R(0), /* 1302 S> */ B(Ldar), R(arg1), - /* 1308 E> */ B(LdaKeyedProperty), R(arg0), U8(215), + /* 1307 E> */ B(LdaKeyedProperty), R(arg0), U8(215), B(Star), R(0), /* 1314 S> */ B(Ldar), R(arg1), - /* 1320 E> */ B(LdaKeyedProperty), R(arg0), U8(217), + /* 1319 E> */ B(LdaKeyedProperty), R(arg0), U8(217), B(Star), R(0), /* 1326 S> */ B(Ldar), R(arg1), - /* 1332 E> */ B(LdaKeyedProperty), R(arg0), U8(219), + /* 1331 E> */ B(LdaKeyedProperty), R(arg0), U8(219), B(Star), R(0), /* 1338 S> */ B(Ldar), R(arg1), - /* 1344 E> */ B(LdaKeyedProperty), R(arg0), U8(221), + /* 1343 E> */ B(LdaKeyedProperty), R(arg0), U8(221), B(Star), R(0), /* 1350 S> */ B(Ldar), R(arg1), - /* 1356 E> */ B(LdaKeyedProperty), R(arg0), U8(223), + /* 1355 E> */ B(LdaKeyedProperty), R(arg0), U8(223), B(Star), R(0), /* 1362 S> */ B(Ldar), R(arg1), - /* 1368 E> */ B(LdaKeyedProperty), R(arg0), U8(225), + /* 1367 E> */ B(LdaKeyedProperty), R(arg0), U8(225), B(Star), R(0), /* 1374 S> */ B(Ldar), R(arg1), - /* 1380 E> */ B(LdaKeyedProperty), R(arg0), U8(227), + /* 1379 E> */ B(LdaKeyedProperty), R(arg0), U8(227), B(Star), R(0), /* 1386 S> */ B(Ldar), R(arg1), - /* 1392 E> */ B(LdaKeyedProperty), R(arg0), U8(229), + /* 1391 E> */ B(LdaKeyedProperty), R(arg0), U8(229), B(Star), R(0), /* 1398 S> */ B(Ldar), R(arg1), - /* 1404 E> */ B(LdaKeyedProperty), R(arg0), U8(231), + /* 1403 E> */ B(LdaKeyedProperty), R(arg0), U8(231), B(Star), R(0), /* 1410 S> */ B(Ldar), R(arg1), - /* 1416 E> */ B(LdaKeyedProperty), R(arg0), U8(233), + /* 1415 E> */ B(LdaKeyedProperty), R(arg0), U8(233), B(Star), R(0), /* 1422 S> */ B(Ldar), R(arg1), - /* 1428 E> */ B(LdaKeyedProperty), R(arg0), U8(235), + /* 1427 E> */ B(LdaKeyedProperty), R(arg0), U8(235), B(Star), R(0), /* 1434 S> */ B(Ldar), R(arg1), - /* 1440 E> */ B(LdaKeyedProperty), R(arg0), U8(237), + /* 1439 E> */ B(LdaKeyedProperty), R(arg0), U8(237), B(Star), R(0), /* 1446 S> */ B(Ldar), R(arg1), - /* 1452 E> */ B(LdaKeyedProperty), R(arg0), U8(239), + /* 1451 E> */ B(LdaKeyedProperty), R(arg0), U8(239), B(Star), R(0), /* 1458 S> */ B(Ldar), R(arg1), - /* 1464 E> */ B(LdaKeyedProperty), R(arg0), U8(241), + /* 1463 E> */ B(LdaKeyedProperty), R(arg0), U8(241), B(Star), R(0), /* 1470 S> */ B(Ldar), R(arg1), - /* 1476 E> */ B(LdaKeyedProperty), R(arg0), U8(243), + /* 1475 E> */ B(LdaKeyedProperty), R(arg0), U8(243), B(Star), R(0), /* 1482 S> */ B(Ldar), R(arg1), - /* 1488 E> */ B(LdaKeyedProperty), R(arg0), U8(245), + /* 1487 E> */ B(LdaKeyedProperty), R(arg0), U8(245), B(Star), R(0), /* 1494 S> */ B(Ldar), R(arg1), - /* 1500 E> */ B(LdaKeyedProperty), R(arg0), U8(247), + /* 1499 E> */ B(LdaKeyedProperty), R(arg0), U8(247), B(Star), R(0), /* 1506 S> */ B(Ldar), R(arg1), - /* 1512 E> */ B(LdaKeyedProperty), R(arg0), U8(249), + /* 1511 E> */ B(LdaKeyedProperty), R(arg0), U8(249), B(Star), R(0), /* 1518 S> */ B(Ldar), R(arg1), - /* 1524 E> */ B(LdaKeyedProperty), R(arg0), U8(251), + /* 1523 E> */ B(LdaKeyedProperty), R(arg0), U8(251), B(Star), R(0), /* 1530 S> */ B(Ldar), R(arg1), - /* 1536 E> */ B(LdaKeyedProperty), R(arg0), U8(253), + /* 1535 E> */ B(LdaKeyedProperty), R(arg0), U8(253), B(Star), R(0), /* 1542 S> */ B(Ldar), R(arg1), - /* 1548 E> */ B(LdaKeyedProperty), R(arg0), U8(255), + /* 1547 E> */ B(LdaKeyedProperty), R(arg0), U8(255), B(Star), R(0), /* 1554 S> */ B(Ldar), R(arg1), - /* 1560 E> */ B(Wide), B(LdaKeyedProperty), R16(arg0), U16(257), + /* 1559 E> */ B(Wide), B(LdaKeyedProperty), R16(arg0), U16(257), B(Star), R(0), /* 1566 S> */ B(Ldar), R(arg1), - /* 1575 E> */ B(Wide), B(LdaKeyedProperty), R16(arg0), U16(259), - /* 1579 S> */ B(Return), + /* 1574 E> */ B(Wide), B(LdaKeyedProperty), R16(arg0), U16(259), + /* 1578 S> */ B(Return), ] constant pool: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/RegExpLiterals.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/RegExpLiterals.golden index 18c9f2ce21..baa9700b82 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/RegExpLiterals.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/RegExpLiterals.golden @@ -15,7 +15,7 @@ bytecode array length: 6 bytecodes: [ /* 30 E> */ B(StackCheck), /* 34 S> */ B(CreateRegExpLiteral), U8(0), U8(3), 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(3), U8(2), - /* 58 S> */ B(Return), + /* 57 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["(\u005cw+)\u005cs(\u005cw+)"], @@ -52,12 +52,12 @@ bytecodes: [ /* 30 E> */ B(StackCheck), /* 34 S> */ B(CreateRegExpLiteral), U8(0), U8(5), U8(0), B(Star), R(1), - /* 47 E> */ B(LdaNamedProperty), R(1), U8(1), U8(6), + /* 48 E> */ B(LdaNamedProperty), R(1), U8(1), U8(6), B(Star), R(0), B(LdaConstant), U8(2), B(Star), R(2), /* 48 E> */ B(CallProperty1), R(0), R(1), R(2), U8(3), - /* 62 S> */ B(Return), + /* 61 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["ab+d"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/RegExpLiteralsWide.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/RegExpLiteralsWide.golden index a2f7ef5c20..2a13641a74 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/RegExpLiteralsWide.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/RegExpLiteralsWide.golden @@ -784,7 +784,7 @@ bytecodes: [ /* 2591 S> */ B(LdaConstant), U8(255), B(Star), R(0), /* 2601 S> */ B(Wide), B(CreateRegExpLiteral), U16(256), U16(3), U8(0), - /* 2616 S> */ B(Return), + /* 2615 S> */ B(Return), ] constant pool: [ HEAP_NUMBER_TYPE [1.23], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/RemoveRedundantLdar.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/RemoveRedundantLdar.golden index 6df03300b4..4c9a7f11d1 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/RemoveRedundantLdar.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/RemoveRedundantLdar.golden @@ -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: [ ] @@ -49,21 +49,20 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 24 +bytecode array length: 23 bytecodes: [ /* 30 E> */ B(StackCheck), /* 45 S> */ B(LdaSmi), I8(1), B(Star), R(0), /* 48 E> */ B(StackCheck), - /* 55 S> */ B(Nop), - /* 67 E> */ B(Add), R(0), U8(3), + /* 67 S> */ B(Add), R(0), U8(3), B(Star), R(0), /* 77 S> */ B(LdaSmi), I8(10), /* 86 E> */ B(TestGreaterThan), R(0), U8(4), 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: [ ] @@ -78,16 +77,14 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 13 +bytecode array length: 11 bytecodes: [ /* 30 E> */ B(StackCheck), /* 45 S> */ B(LdaSmi), I8(1), B(Star), R(0), - /* 50 S> */ B(Nop), - /* 62 E> */ B(Add), R(0), U8(3), + /* 62 S> */ B(Add), R(0), U8(3), B(Star), R(0), - /* 72 S> */ B(Nop), - /* 85 S> */ B(Return), + /* 84 S> */ B(Return), ] constant pool: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden index 12f4e99cc3..062f33feb2 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden @@ -225,27 +225,27 @@ parameter count: 1 bytecode array length: 68 bytecodes: [ /* 10 E> */ B(StackCheck), - B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(4), + B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(4), B(Mov), R(4), R(3), B(Ldar), R(3), B(JumpIfUndefined), U8(6), B(Ldar), R(3), B(JumpIfNotNull), U8(16), - B(LdaSmi), I8(61), + B(LdaSmi), I8(62), B(Star), R(4), B(LdaConstant), U8(1), B(Star), R(5), B(CallRuntime), U16(Runtime::kNewTypeError), R(4), U8(2), - B(Throw), - /* 28 S> */ B(LdaNamedProperty), R(3), U8(2), U8(6), + /* 28 E> */ B(Throw), + /* 37 S> */ B(LdaNamedProperty), R(3), U8(1), U8(6), B(Star), R(1), - /* 31 S> */ B(LdaNamedProperty), R(3), U8(3), U8(8), + /* 37 S> */ B(LdaNamedProperty), R(3), U8(2), U8(8), B(Star), R(2), /* 55 S> */ B(LdaZero), /* 55 E> */ B(TestGreaterThan), R(2), U8(10), B(JumpIfFalse), U8(19), /* 17 E> */ B(StackCheck), - /* 77 S> */ B(Ldar), R(2), + /* 75 S> */ B(Ldar), R(2), /* 77 E> */ B(Add), R(1), U8(12), B(Star), R(0), /* 62 S> */ B(Ldar), R(2), @@ -257,7 +257,6 @@ bytecodes: [ ] constant pool: [ FIXED_ARRAY_TYPE, - ONE_BYTE_INTERNALIZED_STRING_TYPE [""], ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["y"], ] @@ -271,172 +270,65 @@ snippet: " } f(); " -frame size: 11 +frame size: 7 parameter count: 1 -bytecode array length: 331 +bytecode array length: 114 bytecodes: [ + B(Mov), R(new_target), R(3), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(3), U8(1), + B(PushContext), R(5), + B(RestoreGeneratorState), R(3), + B(Star), R(4), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), - B(Star), R(2), - B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), + B(LdaSmi), I8(81), + B(Star), R(5), + B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), - B(CreateFunctionContext), U8(4), - B(PushContext), R(2), - B(Mov), R(closure), R(3), - B(Mov), R(this), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), - B(StaCurrentContextSlot), U8(4), + B(Star), R(4), + B(Mov), R(closure), R(5), + B(Mov), R(this), R(6), + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5), U8(2), + B(Star), R(2), /* 11 E> */ B(StackCheck), - B(Mov), R(context), R(5), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(6), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(7), B(LdaZero), - /* 11 E> */ B(SuspendGenerator), R(6), U8(0), - B(Ldar), R(7), + B(Mov), R(2), R(3), + B(Mov), R(2), R(5), + /* 11 E> */ B(SuspendGenerator), R(3), R(0), U8(5), + B(Ldar), R(5), /* 62 S> */ B(Return), + B(RestoreGeneratorRegisters), R(3), R(0), U8(5), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1), - B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1), - B(Star), R(8), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(28), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(19), - B(LdaTrue), - B(Star), R(10), - B(Mov), R(7), R(9), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9), U8(2), - B(Star), R(4), - B(LdaZero), - B(Star), R(3), - B(Jump), U8(192), - B(Ldar), R(7), - /* 11 E> */ B(Throw), - B(Ldar), R(closure), - B(CreateBlockContext), U8(1), - B(PushContext), R(6), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - /* 31 S> */ B(LdaZero), - /* 31 E> */ B(StaCurrentContextSlot), U8(4), - B(LdaImmutableCurrentContextSlot), U8(4), - /* 60 E> */ B(StaContextSlot), R(6), U8(5), U8(0), - B(LdaSmi), I8(1), - B(StaContextSlot), R(6), U8(6), U8(0), - B(StackCheck), - B(Ldar), R(closure), - B(CreateBlockContext), U8(2), - B(PushContext), R(7), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(6), U8(5), U8(0), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(6), U8(6), U8(0), - B(Star), R(8), - B(LdaSmi), I8(1), - B(TestEqual), R(8), U8(3), - B(JumpIfFalse), U8(9), - B(LdaZero), - B(StaContextSlot), R(6), U8(6), U8(0), - B(Jump), U8(8), - /* 44 S> */ B(LdaCurrentContextSlot), U8(4), - B(Inc), U8(4), - /* 44 E> */ B(StaCurrentContextSlot), U8(4), - B(LdaSmi), I8(1), - B(StaContextSlot), R(6), U8(7), U8(0), - /* 36 S> */ B(LdaCurrentContextSlot), U8(4), - B(Star), R(8), - B(LdaSmi), I8(10), - /* 36 E> */ B(TestLessThan), R(8), U8(5), - B(JumpIfFalse), U8(4), - B(Jump), U8(6), - B(PopContext), R(7), - B(Jump), U8(69), - B(LdaContextSlot), R(6), U8(7), U8(0), - B(Star), R(8), - B(LdaSmi), I8(1), - B(TestEqual), R(8), U8(6), - B(JumpIfFalse), U8(34), - /* 18 E> */ B(StackCheck), - B(Ldar), R(closure), - B(CreateBlockContext), U8(3), - B(PushContext), R(8), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - /* 57 S> */ B(LdaContextSlot), R(8), U8(4), U8(0), - /* 57 E> */ B(StaCurrentContextSlot), U8(4), - B(PopContext), R(8), - B(LdaZero), - B(StaContextSlot), R(6), U8(7), U8(0), - B(LdaCurrentContextSlot), U8(4), - /* 60 E> */ B(StaContextSlot), R(6), U8(5), U8(0), - B(JumpLoop), U8(42), I8(1), - B(LdaContextSlot), R(6), U8(7), U8(0), - B(Star), R(8), - B(LdaSmi), I8(1), - B(TestEqual), R(8), U8(7), - B(JumpIfFalse), U8(6), - B(PopContext), R(7), - B(Jump), U8(7), - B(PopContext), R(7), - B(JumpLoop), U8(129), I8(0), - B(PopContext), R(6), - B(LdaUndefined), - B(Star), R(6), - B(LdaTrue), - B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), B(Star), R(4), - B(LdaZero), - B(Star), R(3), - B(Jump), U8(14), - B(LdaSmi), I8(-1), - B(Star), R(3), - B(Jump), U8(8), - B(Star), R(4), - B(LdaSmi), I8(1), - B(Star), R(3), - B(LdaTheHole), - B(SetPendingMessage), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), B(Star), R(5), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(6), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(6), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), + B(SwitchOnSmiNoFeedback), U8(1), U8(2), I8(0), + B(Ldar), R(5), + /* 11 E> */ B(Throw), B(Ldar), R(5), - B(SetPendingMessage), - B(Ldar), R(3), - B(SwitchOnSmiNoFeedback), U8(4), U8(2), I8(0), - B(Jump), U8(8), - B(Ldar), R(4), /* 62 S> */ B(Return), - B(Ldar), R(4), - B(ReThrow), + /* 31 S> */ B(LdaZero), + B(Star), R(1), + /* 36 S> */ B(LdaSmi), I8(10), + /* 36 E> */ B(TestLessThan), R(1), U8(3), + B(JumpIfFalse), U8(15), + /* 18 E> */ B(StackCheck), + /* 57 S> */ B(Mov), R(1), R(0), + /* 44 S> */ B(Ldar), R(0), + B(Inc), U8(4), + B(Star), R(1), + B(JumpLoop), U8(17), I8(0), B(LdaUndefined), /* 62 S> */ B(Return), ] constant pool: [ - Smi [52], - FIXED_ARRAY_TYPE, - FIXED_ARRAY_TYPE, - FIXED_ARRAY_TYPE, - Smi [6], - Smi [9], + Smi [44], + Smi [10], + Smi [7], ] handlers: [ - [51, 288, 294], ] --- @@ -446,221 +338,95 @@ snippet: " } f(); " -frame size: 13 +frame size: 7 parameter count: 1 -bytecode array length: 438 +bytecode array length: 180 bytecodes: [ + B(Mov), R(new_target), R(2), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(2), U8(1), + B(PushContext), R(4), + B(RestoreGeneratorState), R(2), + B(Star), R(3), B(SwitchOnSmiNoFeedback), U8(0), U8(2), I8(0), - B(LdaSmi), I8(79), - B(Star), R(2), - B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), + B(LdaSmi), I8(81), + B(Star), R(4), + B(CallRuntime), U16(Runtime::kAbort), R(4), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), - B(CreateFunctionContext), U8(4), - B(PushContext), R(2), - B(Mov), R(closure), R(3), - B(Mov), R(this), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), - B(StaCurrentContextSlot), U8(4), + B(Star), R(3), + B(Mov), R(closure), R(4), + B(Mov), R(this), R(5), + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(4), U8(2), + B(Star), R(1), /* 11 E> */ B(StackCheck), - B(Mov), R(context), R(5), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(6), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(7), B(LdaZero), - /* 11 E> */ B(SuspendGenerator), R(6), U8(0), - B(Ldar), R(7), + B(Mov), R(1), R(2), + B(Mov), R(1), R(4), + /* 11 E> */ B(SuspendGenerator), R(2), R(0), U8(4), + B(Ldar), R(4), /* 56 S> */ B(Return), + B(RestoreGeneratorRegisters), R(2), R(0), U8(4), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(6), U8(1), - B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(6), U8(1), - B(Star), R(8), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(28), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(8), - B(JumpIfTrue), U8(19), - B(LdaTrue), - B(Star), R(10), - B(Mov), R(7), R(9), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9), U8(2), - B(Star), R(4), - B(LdaZero), B(Star), R(3), - B(JumpConstant), U8(6), - B(Ldar), R(7), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(2), U8(1), + B(Star), R(4), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), + B(Ldar), R(4), /* 11 E> */ B(Throw), - B(Ldar), R(closure), - B(CreateBlockContext), U8(2), - B(PushContext), R(6), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), + B(Ldar), R(4), + /* 56 S> */ B(Return), /* 31 S> */ B(LdaZero), - /* 31 E> */ B(StaCurrentContextSlot), U8(4), - B(LdaImmutableCurrentContextSlot), U8(4), - /* 54 E> */ B(StaContextSlot), R(6), U8(5), U8(0), - B(LdaSmi), I8(1), - B(StaContextSlot), R(6), U8(6), U8(0), - B(Ldar), R(0), - B(SwitchOnSmiNoFeedback), U8(3), U8(1), I8(1), - B(LdaSmi), I8(-2), - B(TestEqualStrictNoFeedback), R(0), - B(JumpIfTrue), U8(11), - B(LdaSmi), I8(79), - B(Star), R(7), - B(CallRuntime), U16(Runtime::kAbort), R(7), U8(1), - B(StackCheck), - B(Ldar), R(closure), - B(CreateBlockContext), U8(4), - B(PushContext), R(7), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(6), U8(5), U8(0), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(6), U8(6), U8(0), - B(Star), R(8), - B(LdaSmi), I8(1), - B(TestEqual), R(8), U8(3), - B(JumpIfFalse), U8(9), - B(LdaZero), - B(StaContextSlot), R(6), U8(6), U8(0), - B(Jump), U8(8), - /* 44 S> */ B(LdaCurrentContextSlot), U8(4), - B(Inc), U8(4), - /* 44 E> */ B(StaCurrentContextSlot), U8(4), - B(LdaSmi), I8(1), - B(StaContextSlot), R(6), U8(7), U8(0), - /* 36 S> */ B(LdaCurrentContextSlot), U8(4), - B(Star), R(8), - B(LdaSmi), I8(10), - /* 36 E> */ B(TestLessThan), R(8), U8(5), - B(JumpIfFalse), U8(4), - B(Jump), U8(6), - B(PopContext), R(7), - B(Jump), U8(155), - B(Ldar), R(0), - B(SwitchOnSmiNoFeedback), U8(5), U8(1), I8(1), + B(Star), R(0), + B(Ldar), R(3), + B(SwitchOnSmiNoFeedback), U8(4), U8(1), I8(1), B(LdaSmi), I8(-2), - B(TestEqualStrictNoFeedback), R(0), + /* 31 E> */ B(TestEqualStrictNoFeedback), R(3), B(JumpIfTrue), U8(11), - B(LdaSmi), I8(79), - B(Star), R(8), - B(CallRuntime), U16(Runtime::kAbort), R(8), U8(1), - B(LdaContextSlot), R(6), U8(7), U8(0), - B(Star), R(8), - B(LdaSmi), I8(1), - B(TestEqual), R(8), U8(6), - B(JumpIfFalse), U8(99), + B(LdaSmi), I8(81), + B(Star), R(4), + B(CallRuntime), U16(Runtime::kAbort), R(4), U8(1), + /* 36 S> */ B(LdaSmi), I8(10), + /* 36 E> */ B(TestLessThan), R(0), U8(3), + B(JumpIfFalse), U8(60), /* 18 E> */ B(StackCheck), - /* 47 S> */ B(LdaImmutableContextSlot), R(6), U8(4), U8(0), - B(Star), R(8), - B(LdaCurrentContextSlot), U8(4), - B(Star), R(9), + /* 47 S> */ B(LdaSmi), I8(1), + B(Mov), R(0), R(4), + B(SuspendGenerator), R(2), R(0), U8(4), B(LdaFalse), - B(Star), R(10), - /* 53 E> */ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(9), U8(2), - B(Star), R(9), - B(LdaSmi), I8(1), - B(SuspendGenerator), R(8), U8(0), - B(Ldar), R(9), + B(Star), R(6), + B(Mov), R(4), R(5), + B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(5), U8(2), /* 56 S> */ B(Return), + B(RestoreGeneratorRegisters), R(2), R(0), U8(4), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(8), U8(1), - B(Star), R(9), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(8), U8(1), - B(Star), R(10), - B(LdaZero), - B(TestEqualStrictNoFeedback), R(10), - B(JumpIfTrue), U8(36), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(10), - B(JumpIfTrue), U8(27), - B(LdaTrue), - B(Star), R(12), - B(Mov), R(9), R(11), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(11), U8(2), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(6), - B(PopContext), R(6), - B(Star), R(4), - B(LdaZero), B(Star), R(3), - B(Jump), U8(72), - B(Ldar), R(9), - /* 47 E> */ B(Throw), - B(LdaZero), - B(StaContextSlot), R(6), U8(7), U8(0), - B(LdaCurrentContextSlot), U8(4), - /* 54 E> */ B(StaContextSlot), R(6), U8(5), U8(0), - B(JumpLoop), U8(128), I8(1), - B(LdaContextSlot), R(6), U8(7), U8(0), - B(Star), R(8), - B(LdaSmi), I8(1), - B(TestEqual), R(8), U8(7), - B(JumpIfFalse), U8(6), - B(PopContext), R(7), - B(Jump), U8(7), - B(PopContext), R(7), - B(JumpLoop), U8(236), I8(0), - B(PopContext), R(6), - B(LdaUndefined), - B(Star), R(6), - B(LdaTrue), - B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(6), U8(2), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(2), U8(1), B(Star), R(4), - B(LdaZero), - B(Star), R(3), - B(Jump), U8(14), - B(LdaSmi), I8(-1), - B(Star), R(3), - B(Jump), U8(8), - B(Star), R(4), - B(LdaSmi), I8(1), - B(Star), R(3), - B(LdaTheHole), - B(SetPendingMessage), - B(Star), R(5), - B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(6), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(6), U8(1), - B(Ldar), R(5), - B(SetPendingMessage), - B(Ldar), R(3), - B(SwitchOnSmiNoFeedback), U8(7), U8(2), I8(0), - B(Jump), U8(8), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), + B(SwitchOnSmiNoFeedback), U8(5), U8(2), I8(0), B(Ldar), R(4), - /* 56 S> */ B(Return), + /* 47 E> */ B(Throw), B(Ldar), R(4), - B(ReThrow), + /* 56 S> */ B(Return), + /* 44 S> */ B(Ldar), R(0), + B(Inc), U8(4), + B(Star), R(0), + B(JumpLoop), U8(83), I8(0), B(LdaUndefined), /* 56 S> */ B(Return), ] constant pool: [ - Smi [52], - Smi [123], - FIXED_ARRAY_TYPE, - Smi [84], - FIXED_ARRAY_TYPE, - Smi [60], - Smi [299], - Smi [6], - Smi [9], + Smi [44], + Smi [75], + Smi [10], + Smi [7], + Smi [47], + Smi [10], + Smi [7], ] handlers: [ - [51, 395, 401], ] --- @@ -670,163 +436,94 @@ snippet: " } f(); " -frame size: 10 +frame size: 13 parameter count: 1 -bytecode array length: 300 +bytecode array length: 150 bytecodes: [ - B(CreateFunctionContext), U8(5), - B(PushContext), R(0), /* 16 E> */ B(StackCheck), B(LdaUndefined), - B(Star), R(1), - B(CallJSRuntime), U8(%async_function_promise_create), R(1), U8(1), - B(StaCurrentContextSlot), U8(8), - B(Mov), R(context), R(3), - B(Mov), R(context), R(4), - B(Ldar), R(closure), - B(CreateBlockContext), U8(0), - B(PushContext), R(5), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), + B(Star), R(4), + B(CallJSRuntime), U8(%async_function_promise_create), R(4), U8(1), + B(Star), R(3), + B(Mov), R(context), R(6), + B(Mov), R(context), R(7), /* 36 S> */ B(LdaZero), - /* 36 E> */ B(StaCurrentContextSlot), U8(4), - B(LdaImmutableCurrentContextSlot), U8(4), - /* 65 E> */ B(StaContextSlot), R(5), U8(5), U8(0), - B(LdaSmi), I8(1), - B(StaContextSlot), R(5), U8(6), U8(0), - B(StackCheck), - B(Ldar), R(closure), - B(CreateBlockContext), U8(1), - B(PushContext), R(6), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(5), U8(5), U8(0), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(5), U8(6), U8(0), - B(Star), R(7), - B(LdaSmi), I8(1), - B(TestEqual), R(7), U8(3), - B(JumpIfFalse), U8(9), - B(LdaZero), - B(StaContextSlot), R(5), U8(6), U8(0), - B(Jump), U8(8), - /* 49 S> */ B(LdaCurrentContextSlot), U8(4), - B(Inc), U8(4), - /* 49 E> */ B(StaCurrentContextSlot), U8(4), - B(LdaSmi), I8(1), - B(StaContextSlot), R(5), U8(7), U8(0), - /* 41 S> */ B(LdaCurrentContextSlot), U8(4), - B(Star), R(7), - B(LdaSmi), I8(10), - /* 41 E> */ B(TestLessThan), R(7), U8(5), - B(JumpIfFalse), U8(4), - B(Jump), U8(6), - B(PopContext), R(6), - B(Jump), U8(69), - B(LdaContextSlot), R(5), U8(7), U8(0), - B(Star), R(7), - B(LdaSmi), I8(1), - B(TestEqual), R(7), U8(6), - B(JumpIfFalse), U8(34), + B(Star), R(1), + /* 41 S> */ B(LdaSmi), I8(10), + /* 41 E> */ B(TestLessThan), R(1), U8(3), + B(JumpIfFalse), U8(15), /* 23 E> */ B(StackCheck), - B(Ldar), R(closure), - B(CreateBlockContext), U8(2), - B(PushContext), R(7), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - /* 62 S> */ B(LdaContextSlot), R(7), U8(4), U8(0), - /* 62 E> */ B(StaCurrentContextSlot), U8(4), - B(PopContext), R(7), - B(LdaZero), - B(StaContextSlot), R(5), U8(7), U8(0), - B(LdaCurrentContextSlot), U8(4), - /* 65 E> */ B(StaContextSlot), R(5), U8(5), U8(0), - B(JumpLoop), U8(42), I8(1), - B(LdaContextSlot), R(5), U8(7), U8(0), - B(Star), R(7), - B(LdaSmi), I8(1), - B(TestEqual), R(7), U8(7), - B(JumpIfFalse), U8(6), - B(PopContext), R(6), - B(Jump), U8(7), - B(PopContext), R(6), - B(JumpLoop), U8(129), I8(0), - B(PopContext), R(5), + /* 62 S> */ B(Mov), R(1), R(0), + /* 49 S> */ B(Ldar), R(0), + B(Inc), U8(4), + B(Star), R(1), + B(JumpLoop), U8(17), I8(0), B(LdaUndefined), - B(Star), R(5), - B(LdaCurrentContextSlot), U8(8), - B(Star), R(6), + B(Star), R(8), B(LdaUndefined), - B(Star), R(7), - B(CallJSRuntime), U8(%promise_resolve), R(5), U8(3), - B(LdaCurrentContextSlot), U8(8), - B(Star), R(2), + B(Star), R(10), + B(Mov), R(3), R(9), + /* 49 E> */ B(CallJSRuntime), U8(%promise_resolve), R(8), U8(3), B(LdaZero), - B(Star), R(1), - B(Jump), U8(67), - B(Jump), U8(53), - B(Star), R(5), - B(Ldar), R(closure), - B(CreateCatchContext), R(5), U8(3), U8(4), B(Star), R(4), + B(Mov), R(3), R(5), + B(Jump), U8(59), + B(Jump), U8(45), + B(Star), R(8), + B(Ldar), R(closure), + B(CreateCatchContext), R(8), U8(0), U8(1), + B(Star), R(7), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(4), - B(PushContext), R(5), + B(Ldar), R(7), + B(PushContext), R(8), B(LdaUndefined), - B(Star), R(6), - B(LdaContextSlot), R(5), U8(8), U8(0), - B(Star), R(7), + B(Star), R(9), B(LdaImmutableCurrentContextSlot), U8(4), - B(Star), R(8), + B(Star), R(11), B(LdaFalse), - B(Star), R(9), - B(CallJSRuntime), U8(%promise_internal_reject), R(6), U8(4), - B(LdaContextSlot), R(5), U8(8), U8(0), - B(PopContext), R(5), - B(PopContext), R(5), - B(Star), R(2), + B(Star), R(12), + B(Mov), R(3), R(10), + B(CallJSRuntime), U8(%promise_internal_reject), R(9), U8(4), + B(PopContext), R(8), B(LdaZero), - B(Star), R(1), + B(Star), R(4), + B(Mov), R(3), R(5), B(Jump), U8(14), B(LdaSmi), I8(-1), - B(Star), R(1), + B(Star), R(4), B(Jump), U8(8), - B(Star), R(2), + B(Star), R(5), B(LdaSmi), I8(1), - B(Star), R(1), + B(Star), R(4), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(3), + B(Star), R(6), B(LdaUndefined), - B(Star), R(4), - B(LdaCurrentContextSlot), U8(8), - B(Star), R(5), - B(CallJSRuntime), U8(%async_function_promise_release), R(4), U8(2), - B(Ldar), R(3), + B(Star), R(7), + B(Mov), R(3), R(8), + B(CallJSRuntime), U8(%async_function_promise_release), R(7), U8(2), + B(Ldar), R(6), B(SetPendingMessage), - B(Ldar), R(1), - B(SwitchOnSmiNoFeedback), U8(5), U8(2), I8(0), + B(Ldar), R(4), + B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), B(Jump), U8(8), - B(Ldar), R(2), + B(Ldar), R(5), /* 67 S> */ B(Return), - B(Ldar), R(2), + B(Ldar), R(5), B(ReThrow), B(LdaUndefined), /* 67 S> */ B(Return), ] constant pool: [ - FIXED_ARRAY_TYPE, - FIXED_ARRAY_TYPE, - FIXED_ARRAY_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], FIXED_ARRAY_TYPE, Smi [6], Smi [9], ] handlers: [ - [17, 254, 260], - [20, 201, 203], + [13, 105, 111], + [16, 60, 62], ] --- @@ -838,233 +535,139 @@ snippet: " " frame size: 14 parameter count: 1 -bytecode array length: 480 +bytecode array length: 268 bytecodes: [ + B(Mov), R(new_target), R(3), B(Ldar), R(new_target), B(JumpIfUndefined), U8(25), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(new_target), U8(1), - B(PushContext), R(1), - B(ResumeGenerator), R(new_target), - B(Star), R(0), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetContext), R(3), U8(1), + B(PushContext), R(5), + B(RestoreGeneratorState), R(3), + B(Star), R(4), B(SwitchOnSmiNoFeedback), U8(0), U8(1), I8(0), - B(LdaSmi), I8(79), - B(Star), R(2), - B(CallRuntime), U16(Runtime::kAbort), R(2), U8(1), + B(LdaSmi), I8(81), + B(Star), R(5), + B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), B(LdaSmi), I8(-2), - B(Star), R(0), - B(CreateFunctionContext), U8(6), - B(PushContext), R(2), - B(Mov), R(closure), R(3), - B(Mov), R(this), R(4), - B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(3), U8(2), - B(StaCurrentContextSlot), U8(4), + B(Star), R(4), + B(Mov), R(closure), R(5), + B(Mov), R(this), R(6), + B(InvokeIntrinsic), U8(Runtime::k_CreateJSGeneratorObject), R(5), U8(2), + B(Star), R(1), /* 16 E> */ B(StackCheck), B(LdaUndefined), - B(Star), R(3), - B(CallJSRuntime), U8(%async_function_promise_create), R(3), U8(1), - B(StaCurrentContextSlot), U8(6), - B(Mov), R(context), R(5), - B(Mov), R(context), R(6), - B(Ldar), R(closure), - B(CreateBlockContext), U8(1), - B(PushContext), R(7), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), + B(Star), R(5), + B(CallJSRuntime), U8(%async_function_promise_create), R(5), U8(1), + B(Star), R(2), + B(Mov), R(1), R(3), + B(Mov), R(context), R(7), + B(Mov), R(context), R(8), /* 36 S> */ B(LdaZero), - /* 36 E> */ B(StaCurrentContextSlot), U8(4), - B(LdaImmutableCurrentContextSlot), U8(4), - /* 59 E> */ B(StaContextSlot), R(7), U8(7), U8(0), - B(LdaSmi), I8(1), - B(StaContextSlot), R(7), U8(8), U8(0), - B(Ldar), R(0), - B(SwitchOnSmiNoFeedback), U8(2), U8(1), I8(0), - B(LdaSmi), I8(-2), - B(TestEqualStrictNoFeedback), R(0), - B(JumpIfTrue), U8(11), - B(LdaSmi), I8(79), - B(Star), R(8), - B(CallRuntime), U16(Runtime::kAbort), R(8), U8(1), - B(StackCheck), - B(Ldar), R(closure), - B(CreateBlockContext), U8(3), - B(PushContext), R(8), - B(LdaTheHole), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(7), U8(7), U8(0), - B(StaCurrentContextSlot), U8(4), - B(LdaContextSlot), R(7), U8(8), U8(0), - B(Star), R(9), - B(LdaSmi), I8(1), - B(TestEqual), R(9), U8(3), - B(JumpIfFalse), U8(9), - B(LdaZero), - B(StaContextSlot), R(7), U8(8), U8(0), - B(Jump), U8(8), - /* 49 S> */ B(LdaCurrentContextSlot), U8(4), - B(Inc), U8(4), - /* 49 E> */ B(StaCurrentContextSlot), U8(4), - B(LdaSmi), I8(1), - B(StaContextSlot), R(7), U8(9), U8(0), - /* 41 S> */ B(LdaCurrentContextSlot), U8(4), - B(Star), R(9), - B(LdaSmi), I8(10), - /* 41 E> */ B(TestLessThan), R(9), U8(5), - B(JumpIfFalse), U8(4), - B(Jump), U8(6), - B(PopContext), R(8), - B(Jump), U8(185), - B(Ldar), R(0), - B(SwitchOnSmiNoFeedback), U8(4), U8(1), I8(0), + B(Star), R(0), + B(Ldar), R(4), + B(SwitchOnSmiNoFeedback), U8(1), U8(1), I8(0), B(LdaSmi), I8(-2), - B(TestEqualStrictNoFeedback), R(0), + /* 36 E> */ B(TestEqualStrictNoFeedback), R(4), B(JumpIfTrue), U8(11), - B(LdaSmi), I8(79), + B(LdaSmi), I8(81), B(Star), R(9), B(CallRuntime), U16(Runtime::kAbort), R(9), U8(1), - B(LdaContextSlot), R(7), U8(9), U8(0), - B(Star), R(9), - B(LdaSmi), I8(1), - B(TestEqual), R(9), U8(6), - B(JumpIfFalse), U8(126), + /* 41 S> */ B(LdaSmi), I8(10), + /* 41 E> */ B(TestLessThan), R(0), U8(3), + B(JumpIfFalse), U8(63), /* 23 E> */ B(StackCheck), - /* 52 S> */ B(LdaImmutableContextSlot), R(7), U8(4), U8(0), + /* 52 S> */ B(Mov), R(3), R(10), + B(Mov), R(0), R(11), + B(Mov), R(2), R(12), + B(CallJSRuntime), U8(%async_function_await_uncaught), R(10), U8(3), B(Star), R(9), - /* 58 S> */ B(LdaCurrentContextSlot), U8(4), - B(StaContextSlot), R(7), U8(5), U8(0), - /* 52 S> */ B(LdaUndefined), - B(Star), R(10), - B(LdaImmutableContextSlot), R(7), U8(4), U8(0), - B(Star), R(11), - B(LdaContextSlot), R(7), U8(5), U8(0), - B(Star), R(12), - B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(13), - B(CallJSRuntime), U8(%async_function_await_uncaught), R(10), U8(4), - B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(10), B(LdaZero), - B(SuspendGenerator), R(9), U8(2), - B(Ldar), R(10), + B(SuspendGenerator), R(3), R(0), U8(9), + B(Ldar), R(9), /* 61 S> */ B(Return), + B(RestoreGeneratorRegisters), R(3), R(0), U8(9), B(LdaSmi), I8(-2), - B(Star), R(0), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(9), U8(1), + B(Star), R(4), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetInputOrDebugPos), R(3), U8(1), B(Star), R(10), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(9), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), B(Star), R(11), B(LdaZero), B(TestEqualStrictNoFeedback), R(11), - B(JumpIfTrue), U8(40), - B(LdaSmi), I8(2), - B(TestEqualStrictNoFeedback), R(11), - B(JumpIfTrue), U8(31), - B(LdaTrue), - B(Star), R(13), - B(Mov), R(10), R(12), - B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(12), U8(2), - B(PopContext), R(8), - B(PopContext), R(8), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(PopContext), R(7), - B(Star), R(4), - B(LdaZero), - B(Star), R(3), - B(Jump), U8(134), + B(JumpIfTrue), U8(5), B(Ldar), R(10), - B(ReThrow), - B(LdaZero), - B(StaContextSlot), R(7), U8(9), U8(0), - B(LdaCurrentContextSlot), U8(4), - /* 59 E> */ B(StaContextSlot), R(7), U8(7), U8(0), - B(JumpLoop), U8(155), I8(1), - B(LdaContextSlot), R(7), U8(9), U8(0), - B(Star), R(9), - B(LdaSmi), I8(1), - B(TestEqual), R(9), U8(7), - B(JumpIfFalse), U8(6), - B(PopContext), R(8), - B(Jump), U8(10), - B(PopContext), R(8), - B(Wide), B(JumpLoop), U16(264), I16(0), - B(PopContext), R(7), - B(LdaUndefined), - B(Star), R(7), - B(LdaCurrentContextSlot), U8(6), - B(Star), R(8), + /* 52 E> */ B(ReThrow), + /* 49 S> */ B(Ldar), R(0), + B(Inc), U8(4), + B(Star), R(0), + B(JumpLoop), U8(86), I8(0), B(LdaUndefined), B(Star), R(9), - B(CallJSRuntime), U8(%promise_resolve), R(7), U8(3), - B(LdaCurrentContextSlot), U8(6), - B(Star), R(4), + B(LdaUndefined), + B(Star), R(11), + B(Mov), R(2), R(10), + /* 49 E> */ B(CallJSRuntime), U8(%promise_resolve), R(9), U8(3), B(LdaZero), - B(Star), R(3), - B(Jump), U8(67), - B(Jump), U8(53), - B(Star), R(7), + B(Star), R(5), + B(Mov), R(2), R(6), + B(Jump), U8(59), + B(Jump), U8(45), + B(Star), R(9), B(Ldar), R(closure), - B(CreateCatchContext), R(7), U8(5), U8(6), - B(Star), R(6), + B(CreateCatchContext), R(9), U8(2), U8(3), + B(Star), R(8), B(LdaTheHole), B(SetPendingMessage), - B(Ldar), R(6), - B(PushContext), R(7), + B(Ldar), R(8), + B(PushContext), R(9), B(LdaUndefined), - B(Star), R(8), - B(LdaContextSlot), R(7), U8(6), U8(0), - B(Star), R(9), - B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(10), + B(LdaImmutableCurrentContextSlot), U8(4), + B(Star), R(12), B(LdaFalse), - B(Star), R(11), - B(CallJSRuntime), U8(%promise_internal_reject), R(8), U8(4), - B(LdaContextSlot), R(7), U8(6), U8(0), - B(PopContext), R(7), - B(PopContext), R(7), - B(Star), R(4), + B(Star), R(13), + B(Mov), R(2), R(11), + B(CallJSRuntime), U8(%promise_internal_reject), R(10), U8(4), + B(PopContext), R(9), B(LdaZero), - B(Star), R(3), + B(Star), R(5), + B(Mov), R(2), R(6), B(Jump), U8(14), B(LdaSmi), I8(-1), - B(Star), R(3), + B(Star), R(5), B(Jump), U8(8), - B(Star), R(4), + B(Star), R(6), B(LdaSmi), I8(1), - B(Star), R(3), + B(Star), R(5), B(LdaTheHole), B(SetPendingMessage), - B(Star), R(5), - B(LdaUndefined), - B(Star), R(6), - B(LdaCurrentContextSlot), U8(6), B(Star), R(7), - B(CallJSRuntime), U8(%async_function_promise_release), R(6), U8(2), - B(Ldar), R(5), + B(LdaUndefined), + B(Star), R(8), + B(Mov), R(2), R(9), + B(CallJSRuntime), U8(%async_function_promise_release), R(8), U8(2), + B(Ldar), R(7), B(SetPendingMessage), - B(Ldar), R(3), - B(SwitchOnSmiNoFeedback), U8(7), U8(2), I8(0), + B(Ldar), R(5), + B(SwitchOnSmiNoFeedback), U8(4), U8(2), I8(0), B(Jump), U8(8), - B(Ldar), R(4), + B(Ldar), R(6), /* 61 S> */ B(Return), - B(Ldar), R(4), + B(Ldar), R(6), B(ReThrow), B(LdaUndefined), /* 61 S> */ B(Return), ] constant pool: [ - Smi [73], - FIXED_ARRAY_TYPE, - Smi [84], - FIXED_ARRAY_TYPE, - Smi [83], + Smi [51], + Smi [50], ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"], FIXED_ARRAY_TYPE, Smi [6], Smi [9], ] handlers: [ - [60, 434, 440], - [63, 381, 383], + [62, 223, 229], + [65, 178, 180], ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/StoreGlobal.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/StoreGlobal.golden index 590fe85edf..3f660c6b82 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/StoreGlobal.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/StoreGlobal.golden @@ -231,265 +231,137 @@ snippet: " " frame size: 0 parameter count: 2 -bytecode array length: 655 +bytecode array length: 527 bytecodes: [ /* 17 E> */ B(StackCheck), - /* 25 S> */ B(Nop), - /* 26 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), - /* 35 S> */ B(Nop), - /* 36 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), - /* 45 S> */ B(Nop), - /* 46 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7), - /* 55 S> */ B(Nop), - /* 56 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9), - /* 65 S> */ B(Nop), - /* 66 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11), - /* 75 S> */ B(Nop), - /* 76 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13), - /* 85 S> */ B(Nop), - /* 86 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15), - /* 95 S> */ B(Nop), - /* 96 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17), - /* 105 S> */ B(Nop), - /* 106 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19), - /* 115 S> */ B(Nop), - /* 116 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21), - /* 125 S> */ B(Nop), - /* 126 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23), - /* 135 S> */ B(Nop), - /* 136 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25), - /* 145 S> */ B(Nop), - /* 146 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27), - /* 155 S> */ B(Nop), - /* 156 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29), - /* 165 S> */ B(Nop), - /* 166 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31), - /* 175 S> */ B(Nop), - /* 176 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33), - /* 185 S> */ B(Nop), - /* 186 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35), - /* 195 S> */ B(Nop), - /* 196 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37), - /* 205 S> */ B(Nop), - /* 206 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39), - /* 215 S> */ B(Nop), - /* 216 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41), - /* 225 S> */ B(Nop), - /* 226 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43), - /* 235 S> */ B(Nop), - /* 236 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45), - /* 245 S> */ B(Nop), - /* 246 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47), - /* 255 S> */ B(Nop), - /* 256 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49), - /* 265 S> */ B(Nop), - /* 266 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51), - /* 275 S> */ B(Nop), - /* 276 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53), - /* 285 S> */ B(Nop), - /* 286 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55), - /* 295 S> */ B(Nop), - /* 296 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57), - /* 305 S> */ B(Nop), - /* 306 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59), - /* 315 S> */ B(Nop), - /* 316 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61), - /* 325 S> */ B(Nop), - /* 326 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63), - /* 335 S> */ B(Nop), - /* 336 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65), - /* 345 S> */ B(Nop), - /* 346 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67), - /* 355 S> */ B(Nop), - /* 356 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69), - /* 365 S> */ B(Nop), - /* 366 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71), - /* 375 S> */ B(Nop), - /* 376 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73), - /* 385 S> */ B(Nop), - /* 386 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75), - /* 395 S> */ B(Nop), - /* 396 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77), - /* 405 S> */ B(Nop), - /* 406 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79), - /* 415 S> */ B(Nop), - /* 416 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81), - /* 425 S> */ B(Nop), - /* 426 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83), - /* 435 S> */ B(Nop), - /* 436 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85), - /* 445 S> */ B(Nop), - /* 446 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87), - /* 455 S> */ B(Nop), - /* 456 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89), - /* 465 S> */ B(Nop), - /* 466 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91), - /* 475 S> */ B(Nop), - /* 476 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93), - /* 485 S> */ B(Nop), - /* 486 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95), - /* 495 S> */ B(Nop), - /* 496 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97), - /* 505 S> */ B(Nop), - /* 506 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99), - /* 515 S> */ B(Nop), - /* 516 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101), - /* 525 S> */ B(Nop), - /* 526 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103), - /* 535 S> */ B(Nop), - /* 536 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105), - /* 545 S> */ B(Nop), - /* 546 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107), - /* 555 S> */ B(Nop), - /* 556 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109), - /* 565 S> */ B(Nop), - /* 566 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111), - /* 575 S> */ B(Nop), - /* 576 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113), - /* 585 S> */ B(Nop), - /* 586 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115), - /* 595 S> */ B(Nop), - /* 596 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117), - /* 605 S> */ B(Nop), - /* 606 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119), - /* 615 S> */ B(Nop), - /* 616 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121), - /* 625 S> */ B(Nop), - /* 626 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123), - /* 635 S> */ B(Nop), - /* 636 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125), - /* 645 S> */ B(Nop), - /* 646 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127), - /* 655 S> */ B(Nop), - /* 656 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129), - /* 665 S> */ B(Nop), - /* 666 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131), - /* 675 S> */ B(Nop), - /* 676 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133), - /* 685 S> */ B(Nop), - /* 686 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135), - /* 695 S> */ B(Nop), - /* 696 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137), - /* 705 S> */ B(Nop), - /* 706 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139), - /* 715 S> */ B(Nop), - /* 716 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141), - /* 725 S> */ B(Nop), - /* 726 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143), - /* 735 S> */ B(Nop), - /* 736 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145), - /* 745 S> */ B(Nop), - /* 746 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147), - /* 755 S> */ B(Nop), - /* 756 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149), - /* 765 S> */ B(Nop), - /* 766 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151), - /* 775 S> */ B(Nop), - /* 776 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153), - /* 785 S> */ B(Nop), - /* 786 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155), - /* 795 S> */ B(Nop), - /* 796 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157), - /* 805 S> */ B(Nop), - /* 806 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159), - /* 815 S> */ B(Nop), - /* 816 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161), - /* 825 S> */ B(Nop), - /* 826 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163), - /* 835 S> */ B(Nop), - /* 836 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165), - /* 845 S> */ B(Nop), - /* 846 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167), - /* 855 S> */ B(Nop), - /* 856 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169), - /* 865 S> */ B(Nop), - /* 866 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171), - /* 875 S> */ B(Nop), - /* 876 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173), - /* 885 S> */ B(Nop), - /* 886 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175), - /* 895 S> */ B(Nop), - /* 896 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177), - /* 905 S> */ B(Nop), - /* 906 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179), - /* 915 S> */ B(Nop), - /* 916 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181), - /* 925 S> */ B(Nop), - /* 926 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183), - /* 935 S> */ B(Nop), - /* 936 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185), - /* 945 S> */ B(Nop), - /* 946 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187), - /* 955 S> */ B(Nop), - /* 956 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189), - /* 965 S> */ B(Nop), - /* 966 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191), - /* 975 S> */ B(Nop), - /* 976 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193), - /* 985 S> */ B(Nop), - /* 986 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195), - /* 995 S> */ B(Nop), - /* 996 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197), - /* 1005 S> */ B(Nop), - /* 1006 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199), - /* 1015 S> */ B(Nop), - /* 1016 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201), - /* 1025 S> */ B(Nop), - /* 1026 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203), - /* 1035 S> */ B(Nop), - /* 1036 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205), - /* 1045 S> */ B(Nop), - /* 1046 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207), - /* 1055 S> */ B(Nop), - /* 1056 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209), - /* 1065 S> */ B(Nop), - /* 1066 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211), - /* 1075 S> */ B(Nop), - /* 1076 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213), - /* 1085 S> */ B(Nop), - /* 1086 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215), - /* 1095 S> */ B(Nop), - /* 1096 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217), - /* 1105 S> */ B(Nop), - /* 1106 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219), - /* 1115 S> */ B(Nop), - /* 1116 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221), - /* 1125 S> */ B(Nop), - /* 1126 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223), - /* 1135 S> */ B(Nop), - /* 1136 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225), - /* 1145 S> */ B(Nop), - /* 1146 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227), - /* 1155 S> */ B(Nop), - /* 1156 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229), - /* 1165 S> */ B(Nop), - /* 1166 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231), - /* 1175 S> */ B(Nop), - /* 1176 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233), - /* 1185 S> */ B(Nop), - /* 1186 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235), - /* 1195 S> */ B(Nop), - /* 1196 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237), - /* 1205 S> */ B(Nop), - /* 1206 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239), - /* 1215 S> */ B(Nop), - /* 1216 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241), - /* 1225 S> */ B(Nop), - /* 1226 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243), - /* 1235 S> */ B(Nop), - /* 1236 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245), - /* 1245 S> */ B(Nop), - /* 1246 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247), - /* 1255 S> */ B(Nop), - /* 1256 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249), - /* 1265 S> */ B(Nop), - /* 1266 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251), - /* 1275 S> */ B(Nop), - /* 1276 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253), - /* 1285 S> */ B(Nop), - /* 1286 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255), - /* 1295 S> */ B(Nop), - /* 1296 E> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(257), + /* 27 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), + /* 37 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), + /* 47 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7), + /* 57 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9), + /* 67 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11), + /* 77 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13), + /* 87 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15), + /* 97 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17), + /* 107 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19), + /* 117 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21), + /* 127 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23), + /* 137 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25), + /* 147 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27), + /* 157 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29), + /* 167 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31), + /* 177 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33), + /* 187 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35), + /* 197 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37), + /* 207 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39), + /* 217 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41), + /* 227 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43), + /* 237 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45), + /* 247 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47), + /* 257 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49), + /* 267 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51), + /* 277 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53), + /* 287 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55), + /* 297 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57), + /* 307 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59), + /* 317 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61), + /* 327 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63), + /* 337 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65), + /* 347 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67), + /* 357 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69), + /* 367 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71), + /* 377 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73), + /* 387 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75), + /* 397 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77), + /* 407 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79), + /* 417 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81), + /* 427 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83), + /* 437 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85), + /* 447 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87), + /* 457 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89), + /* 467 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91), + /* 477 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93), + /* 487 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95), + /* 497 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97), + /* 507 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99), + /* 517 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101), + /* 527 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103), + /* 537 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105), + /* 547 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107), + /* 557 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109), + /* 567 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111), + /* 577 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113), + /* 587 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115), + /* 597 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117), + /* 607 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119), + /* 617 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121), + /* 627 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123), + /* 637 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125), + /* 647 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127), + /* 657 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129), + /* 667 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131), + /* 677 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133), + /* 687 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135), + /* 697 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137), + /* 707 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139), + /* 717 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141), + /* 727 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143), + /* 737 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145), + /* 747 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147), + /* 757 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149), + /* 767 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151), + /* 777 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153), + /* 787 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155), + /* 797 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157), + /* 807 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159), + /* 817 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161), + /* 827 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163), + /* 837 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165), + /* 847 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167), + /* 857 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169), + /* 867 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171), + /* 877 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173), + /* 887 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175), + /* 897 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177), + /* 907 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179), + /* 917 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181), + /* 927 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183), + /* 937 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185), + /* 947 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187), + /* 957 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189), + /* 967 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191), + /* 977 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193), + /* 987 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195), + /* 997 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197), + /* 1007 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199), + /* 1017 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201), + /* 1027 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203), + /* 1037 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205), + /* 1047 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207), + /* 1057 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209), + /* 1067 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211), + /* 1077 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213), + /* 1087 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215), + /* 1097 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217), + /* 1107 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219), + /* 1117 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221), + /* 1127 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223), + /* 1137 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225), + /* 1147 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227), + /* 1157 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229), + /* 1167 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231), + /* 1177 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233), + /* 1187 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235), + /* 1197 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237), + /* 1207 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239), + /* 1217 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241), + /* 1227 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243), + /* 1237 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245), + /* 1247 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247), + /* 1257 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249), + /* 1267 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251), + /* 1277 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253), + /* 1287 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255), + /* 1297 S> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(257), /* 1305 S> */ B(LdaSmi), I8(2), /* 1307 E> */ B(Wide), B(StaGlobalSloppy), U16(1), U16(259), B(LdaUndefined), @@ -641,265 +513,137 @@ snippet: " " frame size: 0 parameter count: 2 -bytecode array length: 655 +bytecode array length: 527 bytecodes: [ /* 17 E> */ B(StackCheck), - /* 41 S> */ B(Nop), - /* 42 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), - /* 51 S> */ B(Nop), - /* 52 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), - /* 61 S> */ B(Nop), - /* 62 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7), - /* 71 S> */ B(Nop), - /* 72 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9), - /* 81 S> */ B(Nop), - /* 82 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11), - /* 91 S> */ B(Nop), - /* 92 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13), - /* 101 S> */ B(Nop), - /* 102 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15), - /* 111 S> */ B(Nop), - /* 112 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17), - /* 121 S> */ B(Nop), - /* 122 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19), - /* 131 S> */ B(Nop), - /* 132 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21), - /* 141 S> */ B(Nop), - /* 142 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23), - /* 151 S> */ B(Nop), - /* 152 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25), - /* 161 S> */ B(Nop), - /* 162 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27), - /* 171 S> */ B(Nop), - /* 172 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29), - /* 181 S> */ B(Nop), - /* 182 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31), - /* 191 S> */ B(Nop), - /* 192 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33), - /* 201 S> */ B(Nop), - /* 202 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35), - /* 211 S> */ B(Nop), - /* 212 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37), - /* 221 S> */ B(Nop), - /* 222 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39), - /* 231 S> */ B(Nop), - /* 232 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41), - /* 241 S> */ B(Nop), - /* 242 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43), - /* 251 S> */ B(Nop), - /* 252 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45), - /* 261 S> */ B(Nop), - /* 262 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47), - /* 271 S> */ B(Nop), - /* 272 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49), - /* 281 S> */ B(Nop), - /* 282 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51), - /* 291 S> */ B(Nop), - /* 292 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53), - /* 301 S> */ B(Nop), - /* 302 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55), - /* 311 S> */ B(Nop), - /* 312 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57), - /* 321 S> */ B(Nop), - /* 322 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59), - /* 331 S> */ B(Nop), - /* 332 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61), - /* 341 S> */ B(Nop), - /* 342 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63), - /* 351 S> */ B(Nop), - /* 352 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65), - /* 361 S> */ B(Nop), - /* 362 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67), - /* 371 S> */ B(Nop), - /* 372 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69), - /* 381 S> */ B(Nop), - /* 382 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71), - /* 391 S> */ B(Nop), - /* 392 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73), - /* 401 S> */ B(Nop), - /* 402 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75), - /* 411 S> */ B(Nop), - /* 412 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77), - /* 421 S> */ B(Nop), - /* 422 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79), - /* 431 S> */ B(Nop), - /* 432 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81), - /* 441 S> */ B(Nop), - /* 442 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83), - /* 451 S> */ B(Nop), - /* 452 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85), - /* 461 S> */ B(Nop), - /* 462 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87), - /* 471 S> */ B(Nop), - /* 472 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89), - /* 481 S> */ B(Nop), - /* 482 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91), - /* 491 S> */ B(Nop), - /* 492 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93), - /* 501 S> */ B(Nop), - /* 502 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95), - /* 511 S> */ B(Nop), - /* 512 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97), - /* 521 S> */ B(Nop), - /* 522 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99), - /* 531 S> */ B(Nop), - /* 532 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101), - /* 541 S> */ B(Nop), - /* 542 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103), - /* 551 S> */ B(Nop), - /* 552 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105), - /* 561 S> */ B(Nop), - /* 562 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107), - /* 571 S> */ B(Nop), - /* 572 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109), - /* 581 S> */ B(Nop), - /* 582 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111), - /* 591 S> */ B(Nop), - /* 592 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113), - /* 601 S> */ B(Nop), - /* 602 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115), - /* 611 S> */ B(Nop), - /* 612 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117), - /* 621 S> */ B(Nop), - /* 622 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119), - /* 631 S> */ B(Nop), - /* 632 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121), - /* 641 S> */ B(Nop), - /* 642 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123), - /* 651 S> */ B(Nop), - /* 652 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125), - /* 661 S> */ B(Nop), - /* 662 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127), - /* 671 S> */ B(Nop), - /* 672 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129), - /* 681 S> */ B(Nop), - /* 682 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131), - /* 691 S> */ B(Nop), - /* 692 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133), - /* 701 S> */ B(Nop), - /* 702 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135), - /* 711 S> */ B(Nop), - /* 712 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137), - /* 721 S> */ B(Nop), - /* 722 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139), - /* 731 S> */ B(Nop), - /* 732 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141), - /* 741 S> */ B(Nop), - /* 742 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143), - /* 751 S> */ B(Nop), - /* 752 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145), - /* 761 S> */ B(Nop), - /* 762 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147), - /* 771 S> */ B(Nop), - /* 772 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149), - /* 781 S> */ B(Nop), - /* 782 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151), - /* 791 S> */ B(Nop), - /* 792 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153), - /* 801 S> */ B(Nop), - /* 802 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155), - /* 811 S> */ B(Nop), - /* 812 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157), - /* 821 S> */ B(Nop), - /* 822 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159), - /* 831 S> */ B(Nop), - /* 832 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161), - /* 841 S> */ B(Nop), - /* 842 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163), - /* 851 S> */ B(Nop), - /* 852 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165), - /* 861 S> */ B(Nop), - /* 862 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167), - /* 871 S> */ B(Nop), - /* 872 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169), - /* 881 S> */ B(Nop), - /* 882 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171), - /* 891 S> */ B(Nop), - /* 892 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173), - /* 901 S> */ B(Nop), - /* 902 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175), - /* 911 S> */ B(Nop), - /* 912 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177), - /* 921 S> */ B(Nop), - /* 922 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179), - /* 931 S> */ B(Nop), - /* 932 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181), - /* 941 S> */ B(Nop), - /* 942 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183), - /* 951 S> */ B(Nop), - /* 952 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185), - /* 961 S> */ B(Nop), - /* 962 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187), - /* 971 S> */ B(Nop), - /* 972 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189), - /* 981 S> */ B(Nop), - /* 982 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191), - /* 991 S> */ B(Nop), - /* 992 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193), - /* 1001 S> */ B(Nop), - /* 1002 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195), - /* 1011 S> */ B(Nop), - /* 1012 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197), - /* 1021 S> */ B(Nop), - /* 1022 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199), - /* 1031 S> */ B(Nop), - /* 1032 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201), - /* 1041 S> */ B(Nop), - /* 1042 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203), - /* 1051 S> */ B(Nop), - /* 1052 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205), - /* 1061 S> */ B(Nop), - /* 1062 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207), - /* 1071 S> */ B(Nop), - /* 1072 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209), - /* 1081 S> */ B(Nop), - /* 1082 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211), - /* 1091 S> */ B(Nop), - /* 1092 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213), - /* 1101 S> */ B(Nop), - /* 1102 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215), - /* 1111 S> */ B(Nop), - /* 1112 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217), - /* 1121 S> */ B(Nop), - /* 1122 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219), - /* 1131 S> */ B(Nop), - /* 1132 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221), - /* 1141 S> */ B(Nop), - /* 1142 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223), - /* 1151 S> */ B(Nop), - /* 1152 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225), - /* 1161 S> */ B(Nop), - /* 1162 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227), - /* 1171 S> */ B(Nop), - /* 1172 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229), - /* 1181 S> */ B(Nop), - /* 1182 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231), - /* 1191 S> */ B(Nop), - /* 1192 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233), - /* 1201 S> */ B(Nop), - /* 1202 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235), - /* 1211 S> */ B(Nop), - /* 1212 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237), - /* 1221 S> */ B(Nop), - /* 1222 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239), - /* 1231 S> */ B(Nop), - /* 1232 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241), - /* 1241 S> */ B(Nop), - /* 1242 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243), - /* 1251 S> */ B(Nop), - /* 1252 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245), - /* 1261 S> */ B(Nop), - /* 1262 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247), - /* 1271 S> */ B(Nop), - /* 1272 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249), - /* 1281 S> */ B(Nop), - /* 1282 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251), - /* 1291 S> */ B(Nop), - /* 1292 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253), - /* 1301 S> */ B(Nop), - /* 1302 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255), - /* 1311 S> */ B(Nop), - /* 1312 E> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(257), + /* 43 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), + /* 53 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), + /* 63 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7), + /* 73 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9), + /* 83 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11), + /* 93 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13), + /* 103 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15), + /* 113 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17), + /* 123 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19), + /* 133 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21), + /* 143 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23), + /* 153 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25), + /* 163 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27), + /* 173 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29), + /* 183 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31), + /* 193 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33), + /* 203 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35), + /* 213 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37), + /* 223 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39), + /* 233 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41), + /* 243 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43), + /* 253 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45), + /* 263 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47), + /* 273 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49), + /* 283 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51), + /* 293 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53), + /* 303 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55), + /* 313 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57), + /* 323 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59), + /* 333 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61), + /* 343 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63), + /* 353 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65), + /* 363 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67), + /* 373 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69), + /* 383 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71), + /* 393 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73), + /* 403 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75), + /* 413 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77), + /* 423 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79), + /* 433 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81), + /* 443 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83), + /* 453 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85), + /* 463 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87), + /* 473 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89), + /* 483 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91), + /* 493 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93), + /* 503 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95), + /* 513 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97), + /* 523 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99), + /* 533 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101), + /* 543 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103), + /* 553 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105), + /* 563 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107), + /* 573 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109), + /* 583 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111), + /* 593 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113), + /* 603 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115), + /* 613 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117), + /* 623 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119), + /* 633 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121), + /* 643 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123), + /* 653 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125), + /* 663 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127), + /* 673 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129), + /* 683 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131), + /* 693 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133), + /* 703 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135), + /* 713 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137), + /* 723 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139), + /* 733 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141), + /* 743 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143), + /* 753 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145), + /* 763 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147), + /* 773 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149), + /* 783 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151), + /* 793 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153), + /* 803 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155), + /* 813 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157), + /* 823 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159), + /* 833 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161), + /* 843 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163), + /* 853 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165), + /* 863 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167), + /* 873 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169), + /* 883 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171), + /* 893 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173), + /* 903 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175), + /* 913 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177), + /* 923 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179), + /* 933 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181), + /* 943 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183), + /* 953 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185), + /* 963 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187), + /* 973 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189), + /* 983 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191), + /* 993 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193), + /* 1003 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195), + /* 1013 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197), + /* 1023 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199), + /* 1033 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201), + /* 1043 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203), + /* 1053 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205), + /* 1063 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207), + /* 1073 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209), + /* 1083 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211), + /* 1093 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213), + /* 1103 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215), + /* 1113 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217), + /* 1123 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219), + /* 1133 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221), + /* 1143 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223), + /* 1153 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225), + /* 1163 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227), + /* 1173 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229), + /* 1183 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231), + /* 1193 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233), + /* 1203 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235), + /* 1213 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237), + /* 1223 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239), + /* 1233 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241), + /* 1243 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243), + /* 1253 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245), + /* 1263 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247), + /* 1273 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249), + /* 1283 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251), + /* 1293 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253), + /* 1303 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255), + /* 1313 S> */ B(Wide), B(LdaNamedProperty), R16(arg0), U16(0), U16(257), /* 1321 S> */ B(LdaSmi), I8(2), /* 1323 E> */ B(Wide), B(StaGlobalStrict), U16(1), U16(259), B(LdaUndefined), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/StringConcat.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/StringConcat.golden new file mode 100644 index 0000000000..ee01b7b573 --- /dev/null +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/StringConcat.golden @@ -0,0 +1,200 @@ +# +# Autogenerated by generate-bytecode-expectations. +# + +--- +wrap: yes + +--- +snippet: " + var a = 1; + var b = 2; + return a + b + 'string'; +" +frame size: 3 +parameter count: 1 +bytecode array length: 22 +bytecodes: [ + /* 30 E> */ B(StackCheck), + /* 42 S> */ B(LdaSmi), I8(1), + B(Star), R(0), + /* 53 S> */ B(LdaSmi), I8(2), + B(Star), R(1), + /* 56 S> */ B(Ldar), R(1), + /* 65 E> */ B(Add), R(0), U8(3), + B(Star), R(2), + B(LdaConstant), U8(0), + /* 69 E> */ B(Add), R(2), U8(4), + /* 80 S> */ B(Return), +] +constant pool: [ + ONE_BYTE_INTERNALIZED_STRING_TYPE ["string"], +] +handlers: [ +] + +--- +snippet: " + var a = 1; + var b = 2; + return 'string' + a + b; +" +frame size: 3 +parameter count: 1 +bytecode array length: 26 +bytecodes: [ + /* 30 E> */ B(StackCheck), + /* 42 S> */ B(LdaSmi), I8(1), + B(Star), R(0), + /* 53 S> */ B(LdaSmi), I8(2), + B(Star), R(1), + /* 56 S> */ B(LdaConstant), U8(0), + B(Star), R(2), + B(Ldar), R(0), + /* 72 E> */ B(Add), R(2), U8(3), + B(Star), R(2), + B(Ldar), R(1), + /* 76 E> */ B(Add), R(2), U8(4), + /* 80 S> */ B(Return), +] +constant pool: [ + ONE_BYTE_INTERNALIZED_STRING_TYPE ["string"], +] +handlers: [ +] + +--- +snippet: " + var a = 1; + var b = 2; + return a + 'string' + b; +" +frame size: 3 +parameter count: 1 +bytecode array length: 22 +bytecodes: [ + /* 30 E> */ B(StackCheck), + /* 42 S> */ B(LdaSmi), I8(1), + B(Star), R(0), + /* 53 S> */ B(LdaSmi), I8(2), + B(Star), R(1), + /* 56 S> */ B(LdaConstant), U8(0), + /* 65 E> */ B(Add), R(0), U8(3), + B(Star), R(2), + B(Ldar), R(1), + /* 76 E> */ B(Add), R(2), U8(4), + /* 80 S> */ B(Return), +] +constant pool: [ + ONE_BYTE_INTERNALIZED_STRING_TYPE ["string"], +] +handlers: [ +] + +--- +snippet: " + var a = 1; + var b = 2; + return 'foo' + a + 'bar' + b + 'baz' + 1; +" +frame size: 3 +parameter count: 1 +bytecode array length: 43 +bytecodes: [ + /* 30 E> */ B(StackCheck), + /* 42 S> */ B(LdaSmi), I8(1), + B(Star), R(0), + /* 53 S> */ B(LdaSmi), I8(2), + B(Star), R(1), + /* 56 S> */ B(LdaConstant), U8(0), + B(Star), R(2), + B(Ldar), R(0), + /* 69 E> */ B(Add), R(2), U8(3), + B(Star), R(2), + B(LdaConstant), U8(1), + /* 73 E> */ B(Add), R(2), U8(4), + B(Star), R(2), + B(Ldar), R(1), + /* 81 E> */ B(Add), R(2), U8(5), + B(Star), R(2), + B(LdaConstant), U8(2), + /* 85 E> */ B(Add), R(2), U8(6), + /* 93 E> */ B(AddSmi), I8(1), U8(7), + /* 97 S> */ B(Return), +] +constant pool: [ + ONE_BYTE_INTERNALIZED_STRING_TYPE ["foo"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["bar"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["baz"], +] +handlers: [ +] + +--- +snippet: " + var a = 1; + var b = 2; + return (a + 'string') + ('string' + b); +" +frame size: 4 +parameter count: 1 +bytecode array length: 29 +bytecodes: [ + /* 30 E> */ B(StackCheck), + /* 42 S> */ B(LdaSmi), I8(1), + B(Star), R(0), + /* 53 S> */ B(LdaSmi), I8(2), + B(Star), R(1), + /* 56 S> */ B(LdaConstant), U8(0), + /* 66 E> */ B(Add), R(0), U8(3), + B(Star), R(2), + B(LdaConstant), U8(0), + B(Star), R(3), + B(Ldar), R(1), + /* 90 E> */ B(Add), R(3), U8(4), + /* 78 E> */ B(Add), R(2), U8(5), + /* 95 S> */ B(Return), +] +constant pool: [ + ONE_BYTE_INTERNALIZED_STRING_TYPE ["string"], +] +handlers: [ +] + +--- +snippet: " + var a = 1; + var b = 2; + function foo(a, b) { }; + return 'string' + foo(a, b) + a + b; +" +frame size: 4 +parameter count: 1 +bytecode array length: 42 +bytecodes: [ + B(CreateClosure), U8(0), U8(3), U8(2), + B(Star), R(2), + /* 30 E> */ B(StackCheck), + /* 42 S> */ B(LdaSmi), I8(1), + B(Star), R(0), + /* 53 S> */ B(LdaSmi), I8(2), + B(Star), R(1), + /* 80 S> */ B(LdaConstant), U8(1), + B(Star), R(3), + /* 98 E> */ B(CallUndefinedReceiver2), R(2), R(0), R(1), U8(4), + /* 96 E> */ B(Add), R(3), U8(6), + B(Star), R(3), + B(Ldar), R(0), + /* 108 E> */ B(Add), R(3), U8(7), + B(Star), R(3), + B(Ldar), R(1), + /* 112 E> */ B(Add), R(3), U8(8), + /* 116 S> */ B(Return), +] +constant pool: [ + SHARED_FUNCTION_INFO_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["string"], +] +handlers: [ +] + diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/StringConstants.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/StringConstants.golden index 260153b8e6..0f4b595c8e 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/StringConstants.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/StringConstants.golden @@ -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"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden index 425bdb1b9c..99614d56c5 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden @@ -25,7 +25,7 @@ bytecodes: [ B(Star), R(2), B(Mov), R(closure), R(1), B(Mov), R(new_target), R(0), - B(Ldar), R(new_target), + B(Ldar), R(0), /* 93 E> */ B(StackCheck), /* 93 S> */ B(Ldar), R(1), B(GetSuperConstructor), R(3), @@ -53,13 +53,13 @@ snippet: " " frame size: 7 parameter count: 1 -bytecode array length: 58 +bytecode array length: 44 bytecodes: [ B(CreateRestParameter), B(Star), R(2), B(Mov), R(closure), R(1), B(Mov), R(new_target), R(0), - B(Ldar), R(new_target), + B(Ldar), R(0), /* 128 E> */ B(StackCheck), B(Mov), R(2), R(3), /* 140 S> */ B(Ldar), R(1), @@ -71,13 +71,10 @@ bytecodes: [ /* 140 E> */ B(ConstructWithSpread), R(4), R(5), U8(2), B(Star), R(4), B(Ldar), R(this), - B(JumpIfNotHole), U8(4), - B(Jump), U8(7), - /* 140 E> */ B(CallRuntime), U16(Runtime::kThrowSuperAlreadyCalledError), R(0), U8(0), + /* 140 E> */ B(ThrowSuperAlreadyCalledIfNotHole), B(Mov), R(4), R(this), B(Ldar), R(this), - B(JumpIfNotHole), U8(7), - B(CallRuntime), U16(Runtime::kThrowSuperNotCalled), R(0), U8(0), + B(ThrowSuperNotCalledIfHole), /* 159 S> */ B(Return), ] constant pool: [ @@ -100,13 +97,13 @@ snippet: " " frame size: 10 parameter count: 1 -bytecode array length: 91 +bytecode array length: 77 bytecodes: [ B(CreateRestParameter), B(Star), R(2), B(Mov), R(closure), R(1), B(Mov), R(new_target), R(0), - B(Ldar), R(new_target), + B(Ldar), R(0), /* 128 E> */ B(StackCheck), B(Mov), R(2), R(3), /* 140 S> */ B(LdaUndefined), @@ -115,14 +112,14 @@ bytecodes: [ B(Star), R(5), B(LdaUndefined), B(Star), R(6), - B(CreateArrayLiteral), U8(0), U8(3), U8(17), + B(CreateArrayLiteral), U8(0), U8(3), U8(37), B(Star), R(7), B(LdaUndefined), B(Star), R(8), B(Mov), R(2), R(9), /* 152 E> */ B(CallJSRuntime), U8(%spread_iterable), R(8), U8(2), B(Star), R(8), - B(CreateArrayLiteral), U8(1), U8(4), U8(17), + B(CreateArrayLiteral), U8(1), U8(4), U8(37), B(Star), R(9), B(CallJSRuntime), U8(%spread_arguments), R(6), U8(4), B(Star), R(6), @@ -130,13 +127,10 @@ bytecodes: [ /* 140 E> */ B(CallJSRuntime), U8(%reflect_construct), R(4), U8(4), B(Star), R(4), B(Ldar), R(this), - B(JumpIfNotHole), U8(4), - B(Jump), U8(7), - /* 140 E> */ B(CallRuntime), U16(Runtime::kThrowSuperAlreadyCalledError), R(0), U8(0), + /* 140 E> */ B(ThrowSuperAlreadyCalledIfNotHole), B(Mov), R(4), R(this), B(Ldar), R(this), - B(JumpIfNotHole), U8(7), - B(CallRuntime), U16(Runtime::kThrowSuperNotCalled), R(0), U8(0), + B(ThrowSuperNotCalledIfHole), /* 162 S> */ B(Return), ] constant pool: [ diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/Switch.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/Switch.golden index 798ffa0408..3a6b272a06 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/Switch.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/Switch.golden @@ -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), ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ThisFunction.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ThisFunction.golden index 5d1c7c9143..6e4eec57b9 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ThisFunction.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ThisFunction.golden @@ -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: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/TopLevelObjectLiterals.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/TopLevelObjectLiterals.golden index 21dd67c139..d5743a5e03 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/TopLevelObjectLiterals.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/TopLevelObjectLiterals.golden @@ -12,7 +12,7 @@ snippet: " " frame size: 4 parameter count: 1 -bytecode array length: 43 +bytecode array length: 36 bytecodes: [ B(LdaConstant), U8(0), B(Star), R(1), @@ -21,23 +21,20 @@ bytecodes: [ B(Mov), R(closure), R(3), B(CallRuntime), U16(Runtime::kDeclareGlobalsForInterpreter), R(1), U8(3), /* 0 E> */ B(StackCheck), - /* 8 S> */ B(LdaConstant), U8(1), - B(Star), R(1), - B(LdaZero), - B(CreateObjectLiteral), U8(2), U8(6), U8(1), R(3), - B(Star), R(2), - B(CreateClosure), U8(3), U8(5), U8(0), - B(StaNamedOwnProperty), R(3), U8(4), U8(7), - B(CallRuntime), U16(Runtime::kInitializeVarGlobal), R(1), U8(3), + /* 8 S> */ B(CreateObjectLiteral), U8(1), U8(6), U8(41), R(1), + B(CreateClosure), U8(2), U8(5), U8(0), + B(StaNamedOwnProperty), R(1), U8(3), U8(7), + B(Ldar), R(1), + /* 8 E> */ B(StaGlobalSloppy), U8(4), U8(9), B(LdaUndefined), /* 33 S> */ B(Return), ] constant pool: [ FIXED_ARRAY_TYPE, - ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], FIXED_ARRAY_TYPE, SHARED_FUNCTION_INFO_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], ] handlers: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/TryCatch.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/TryCatch.golden index 16800815c1..cad702e9a3 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/TryCatch.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/TryCatch.golden @@ -11,13 +11,13 @@ snippet: " " frame size: 2 parameter count: 1 -bytecode array length: 32 +bytecode array length: 30 bytecodes: [ /* 30 E> */ B(StackCheck), B(Mov), R(context), R(0), /* 40 S> */ B(LdaSmi), I8(1), - /* 75 S> */ B(Return), - B(Jump), U8(23), + /* 49 S> */ B(Return), + B(Jump), U8(21), B(Star), R(1), B(Ldar), R(closure), B(CreateCatchContext), R(1), U8(0), U8(1), @@ -27,8 +27,7 @@ bytecodes: [ B(Ldar), R(0), B(PushContext), R(1), /* 63 S> */ B(LdaSmi), I8(2), - B(PopContext), R(1), - /* 75 S> */ B(Return), + /* 72 S> */ B(Return), B(LdaUndefined), /* 75 S> */ B(Return), ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/Typeof.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/Typeof.golden index 7a2559e453..a05b5fc69c 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/Typeof.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/Typeof.golden @@ -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(3), B(TypeOf), - /* 46 S> */ B(Return), + /* 45 S> */ B(Return), ] constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE ["x"], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/UnaryOperators.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/UnaryOperators.golden index 6473a7d0a6..fdce3c2c48 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/UnaryOperators.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/UnaryOperators.golden @@ -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: [ ] @@ -74,15 +74,14 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 11 +bytecode array length: 10 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(101), B(Star), R(0), - /* 47 S> */ B(Nop), - /* 61 E> */ B(MulSmi), I8(3), U8(3), + /* 61 S> */ B(MulSmi), I8(3), U8(3), B(LdaUndefined), - /* 67 S> */ B(Return), + /* 66 S> */ B(Return), ] constant pool: [ ] @@ -97,18 +96,16 @@ snippet: " " frame size: 2 parameter count: 1 -bytecode array length: 19 +bytecode array length: 17 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(Wide), B(LdaSmi), I16(1234), B(Star), R(0), - /* 56 S> */ B(Nop), - /* 64 E> */ B(Mul), R(0), U8(3), + /* 64 S> */ B(Mul), R(0), U8(3), /* 68 E> */ B(SubSmi), I8(1), U8(4), B(LdaUndefined), B(Star), R(1), - /* 74 S> */ B(Nop), - /* 84 S> */ B(Return), + /* 83 S> */ B(Return), ] constant pool: [ ] @@ -122,14 +119,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(13), B(Star), R(0), - /* 46 S> */ B(Nop), - /* 53 E> */ B(BitwiseXorSmi), I8(-1), U8(3), - /* 57 S> */ B(Return), + /* 53 S> */ B(BitwiseXorSmi), I8(-1), U8(3), + /* 56 S> */ B(Return), ] constant pool: [ ] @@ -143,14 +139,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(13), B(Star), R(0), - /* 46 S> */ B(Nop), - /* 53 E> */ B(MulSmi), I8(1), U8(3), - /* 57 S> */ B(Return), + /* 53 S> */ B(MulSmi), I8(1), U8(3), + /* 56 S> */ B(Return), ] constant pool: [ ] @@ -164,14 +159,13 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 10 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(LdaSmi), I8(13), B(Star), R(0), - /* 46 S> */ B(Nop), - /* 53 E> */ B(MulSmi), I8(-1), U8(3), - /* 57 S> */ B(Return), + /* 53 S> */ B(MulSmi), I8(-1), U8(3), + /* 56 S> */ B(Return), ] constant pool: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/WideRegisters.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/WideRegisters.golden index b333c2f7e7..2b3b7c616f 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/WideRegisters.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/WideRegisters.golden @@ -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(3), 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: [ ] @@ -703,23 +703,23 @@ snippet: " " frame size: 157 parameter count: 1 -bytecode array length: 37 +bytecode array length: 39 bytecodes: [ /* 30 E> */ B(StackCheck), /* 1503 S> */ B(LdaZero), B(Star), R(0), /* 1506 S> */ B(LdaSmi), I8(3), /* 1515 E> */ B(Wide), B(TestEqual), R16(129), U16(3), - B(JumpIfFalse), U8(10), + B(JumpIfFalse), U8(12), /* 1534 S> */ B(Wide), B(Mov), R16(0), R16(129), - B(Ldar), R(0), + B(Wide), B(Ldar), R16(129), /* 1540 S> */ B(LdaSmi), I8(3), /* 1547 E> */ B(TestGreaterThan), R(2), U8(4), 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: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/WithStatement.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/WithStatement.golden index 67822005ba..cfa3f256bd 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/WithStatement.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/WithStatement.golden @@ -11,18 +11,17 @@ snippet: " " frame size: 1 parameter count: 1 -bytecode array length: 22 +bytecode array length: 20 bytecodes: [ /* 30 E> */ B(StackCheck), - /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(0), + /* 34 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(41), R(0), B(Ldar), R(0), B(ToObject), R(0), B(Ldar), R(closure), B(CreateWithContext), R(0), U8(1), B(PushContext), R(0), /* 50 S> */ B(LdaLookupSlot), U8(2), - B(PopContext), R(0), - /* 62 S> */ B(Return), + /* 59 S> */ B(Return), ] constant pool: [ FIXED_ARRAY_TYPE, diff --git a/deps/v8/test/cctest/interpreter/generate-bytecode-expectations.cc b/deps/v8/test/cctest/interpreter/generate-bytecode-expectations.cc index 172a3e9b8f..6ca7426c6b 100644 --- a/deps/v8/test/cctest/interpreter/generate-bytecode-expectations.cc +++ b/deps/v8/test/cctest/interpreter/generate-bytecode-expectations.cc @@ -109,7 +109,6 @@ bool ParseBoolean(const char* string) { return false; } else { UNREACHABLE(); - return false; } } @@ -303,7 +302,7 @@ void ProgramOptions::PrintHeader(std::ostream& stream) const { // NOLINT V8InitializationScope::V8InitializationScope(const char* exec_path) : platform_(v8::platform::CreateDefaultPlatform()) { - i::FLAG_ignition = true; + i::FLAG_stress_fullcodegen = false; i::FLAG_always_opt = false; i::FLAG_allow_natives_syntax = true; diff --git a/deps/v8/test/cctest/interpreter/interpreter-tester.cc b/deps/v8/test/cctest/interpreter/interpreter-tester.cc index 815c54233c..7e7688c453 100644 --- a/deps/v8/test/cctest/interpreter/interpreter-tester.cc +++ b/deps/v8/test/cctest/interpreter/interpreter-tester.cc @@ -23,7 +23,7 @@ InterpreterTester::InterpreterTester( source_(source), bytecode_(bytecode), feedback_metadata_(feedback_metadata) { - i::FLAG_ignition = true; + i::FLAG_stress_fullcodegen = false; i::FLAG_always_opt = false; } diff --git a/deps/v8/test/cctest/interpreter/test-bytecode-generator.cc b/deps/v8/test/cctest/interpreter/test-bytecode-generator.cc index 6b6227e96e..3c9cf80e96 100644 --- a/deps/v8/test/cctest/interpreter/test-bytecode-generator.cc +++ b/deps/v8/test/cctest/interpreter/test-bytecode-generator.cc @@ -72,7 +72,7 @@ static const char* kGoldenFileDirectory = class InitializedIgnitionHandleScope : public InitializedHandleScope { public: InitializedIgnitionHandleScope() { - i::FLAG_ignition = true; + i::FLAG_stress_fullcodegen = false; i::FLAG_always_opt = false; i::FLAG_allow_natives_syntax = true; } @@ -2348,12 +2348,44 @@ TEST(Generators) { "function* f() { for (let x of [42]) yield x }\n" "f();\n", + + "function* g() { yield 42 }\n" + "function* f() { yield* g() }\n" + "f();\n", }; CHECK(CompareTexts(BuildActual(printer, snippets), LoadGolden("Generators.golden"))); } +TEST(AsyncGenerators) { + bool old_flag = i::FLAG_harmony_async_iteration; + i::FLAG_harmony_async_iteration = true; + InitializedIgnitionHandleScope scope; + BytecodeExpectationsPrinter printer(CcTest::isolate()); + printer.set_wrap(false); + printer.set_test_function_name("f"); + + const char* snippets[] = { + "async function* f() { }\n" + "f();\n", + + "async function* f() { yield 42 }\n" + "f();\n", + + "async function* f() { for (let x of [42]) yield x }\n" + "f();\n", + + "function* g() { yield 42 }\n" + "async function* f() { yield* g() }\n" + "f();\n", + }; + + CHECK(CompareTexts(BuildActual(printer, snippets), + LoadGolden("AsyncGenerators.golden"))); + i::FLAG_harmony_async_iteration = old_flag; +} + TEST(Modules) { InitializedIgnitionHandleScope scope; BytecodeExpectationsPrinter printer(CcTest::isolate()); @@ -2609,6 +2641,41 @@ TEST(ForOfLoop) { LoadGolden("ForOfLoop.golden"))); } +TEST(StringConcat) { + InitializedIgnitionHandleScope scope; + BytecodeExpectationsPrinter printer(CcTest::isolate()); + + const char* snippets[] = { + "var a = 1;\n" + "var b = 2;\n" + "return a + b + 'string';\n", + + "var a = 1;\n" + "var b = 2;\n" + "return 'string' + a + b;\n", + + "var a = 1;\n" + "var b = 2;\n" + "return a + 'string' + b;\n", + + "var a = 1;\n" + "var b = 2;\n" + "return 'foo' + a + 'bar' + b + 'baz' + 1;\n", + + "var a = 1;\n" + "var b = 2;\n" + "return (a + 'string') + ('string' + b);\n", + + "var a = 1;\n" + "var b = 2;\n" + "function foo(a, b) { };\n" + "return 'string' + foo(a, b) + a + b;\n", + }; + + CHECK(CompareTexts(BuildActual(printer, snippets), + LoadGolden("StringConcat.golden"))); +} + } // namespace interpreter } // namespace internal } // namespace v8 diff --git a/deps/v8/test/cctest/interpreter/test-interpreter.cc b/deps/v8/test/cctest/interpreter/test-interpreter.cc index eba3ba3057..67bcd21a59 100644 --- a/deps/v8/test/cctest/interpreter/test-interpreter.cc +++ b/deps/v8/test/cctest/interpreter/test-interpreter.cc @@ -45,7 +45,6 @@ TEST(InterpreterReturn) { CHECK(return_val.is_identical_to(undefined_value)); } - TEST(InterpreterLoadUndefined) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -62,7 +61,6 @@ TEST(InterpreterLoadUndefined) { CHECK(return_val.is_identical_to(undefined_value)); } - TEST(InterpreterLoadNull) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -79,7 +77,6 @@ TEST(InterpreterLoadNull) { CHECK(return_val.is_identical_to(null_value)); } - TEST(InterpreterLoadTheHole) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -96,7 +93,6 @@ TEST(InterpreterLoadTheHole) { CHECK(return_val.is_identical_to(the_hole_value)); } - TEST(InterpreterLoadTrue) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -113,7 +109,6 @@ TEST(InterpreterLoadTrue) { CHECK(return_val.is_identical_to(true_value)); } - TEST(InterpreterLoadFalse) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -130,7 +125,6 @@ TEST(InterpreterLoadFalse) { CHECK(return_val.is_identical_to(false_value)); } - TEST(InterpreterLoadLiteral) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -199,7 +193,6 @@ TEST(InterpreterLoadLiteral) { } } - TEST(InterpreterLoadStoreRegisters) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -276,11 +269,9 @@ static double BinaryOpC(Token::Value op, double lhs, double rhs) { } default: UNREACHABLE(); - return std::numeric_limits<double>::min(); } } - TEST(InterpreterShiftOpsSmi) { int lhs_inputs[] = {0, -17, -182, 1073741823, -1}; int rhs_inputs[] = {5, 2, 1, -1, -2, 0, 31, 32, -32, 64, 37}; @@ -319,7 +310,6 @@ TEST(InterpreterShiftOpsSmi) { } } - TEST(InterpreterBinaryOpsSmi) { int lhs_inputs[] = {3266, 1024, 0, -17, -18000}; int rhs_inputs[] = {3266, 5, 4, 3, 2, 1, -1, -2}; @@ -358,7 +348,6 @@ TEST(InterpreterBinaryOpsSmi) { } } - TEST(InterpreterBinaryOpsHeapNumber) { double lhs_inputs[] = {3266.101, 1024.12, 0.01, -17.99, -18000.833, 9.1e17}; double rhs_inputs[] = {3266.101, 5.999, 4.778, 3.331, 2.643, @@ -401,7 +390,6 @@ TEST(InterpreterBinaryOpsHeapNumber) { } } - TEST(InterpreterStringAdd) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -474,7 +462,6 @@ TEST(InterpreterStringAdd) { } } - TEST(InterpreterParameter1) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -498,7 +485,6 @@ TEST(InterpreterParameter1) { CHECK_EQ(Smi::cast(*return_val), Smi::FromInt(3)); } - TEST(InterpreterParameter8) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -960,7 +946,6 @@ TEST(InterpreterParameter1Assign) { CHECK_EQ(Smi::cast(*return_val), Smi::FromInt(5)); } - TEST(InterpreterLoadGlobal) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -978,7 +963,6 @@ TEST(InterpreterLoadGlobal) { CHECK_EQ(Smi::cast(*return_val), Smi::FromInt(321)); } - TEST(InterpreterStoreGlobal) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -1000,7 +984,6 @@ TEST(InterpreterStoreGlobal) { CHECK_EQ(Smi::cast(*global_obj), Smi::FromInt(999)); } - TEST(InterpreterCallGlobal) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -1018,7 +1001,6 @@ TEST(InterpreterCallGlobal) { CHECK_EQ(Smi::cast(*return_val), Smi::FromInt(15)); } - TEST(InterpreterLoadUnallocated) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -1036,7 +1018,6 @@ TEST(InterpreterLoadUnallocated) { CHECK_EQ(Smi::cast(*return_val), Smi::FromInt(123)); } - TEST(InterpreterStoreUnallocated) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -1058,7 +1039,6 @@ TEST(InterpreterStoreUnallocated) { CHECK_EQ(Smi::cast(*global_obj), Smi::FromInt(999)); } - TEST(InterpreterLoadNamedProperty) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -1111,7 +1091,6 @@ TEST(InterpreterLoadNamedProperty) { CHECK_EQ(Smi::cast(*return_val), Smi::FromInt(789)); } - TEST(InterpreterLoadKeyedProperty) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -1154,7 +1133,6 @@ TEST(InterpreterLoadKeyedProperty) { CHECK_EQ(Smi::cast(*return_val), Smi::FromInt(789)); } - TEST(InterpreterStoreNamedProperty) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -1217,7 +1195,6 @@ TEST(InterpreterStoreNamedProperty) { CHECK_EQ(Smi::cast(*result), Smi::FromInt(999)); } - TEST(InterpreterStoreKeyedProperty) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -1269,7 +1246,7 @@ TEST(InterpreterStoreKeyedProperty) { CHECK_EQ(Smi::cast(*result), Smi::FromInt(999)); } -static void TestInterpreterCall(TailCallMode tail_call_mode) { +TEST(InterpreterCall) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); Zone* zone = handles.main_zone(); @@ -1298,11 +1275,7 @@ static void TestInterpreterCall(TailCallMode tail_call_mode) { .StoreAccumulatorInRegister(reg) .MoveRegister(builder.Receiver(), args[0]); - if (tail_call_mode == TailCallMode::kAllow) { - builder.TailCall(reg, args, call_slot_index); - } else { - builder.CallProperty(reg, args, call_slot_index); - } + builder.CallProperty(reg, args, call_slot_index); builder.Return(); ast_factory.Internalize(isolate); @@ -1325,11 +1298,7 @@ static void TestInterpreterCall(TailCallMode tail_call_mode) { builder.LoadNamedProperty(builder.Receiver(), name, slot_index) .StoreAccumulatorInRegister(reg) .MoveRegister(builder.Receiver(), args[0]); - if (tail_call_mode == TailCallMode::kAllow) { - builder.TailCall(reg, args, call_slot_index); - } else { - builder.CallProperty(reg, args, call_slot_index); - } + builder.CallProperty(reg, args, call_slot_index); builder.Return(); ast_factory.Internalize(isolate); Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray(isolate); @@ -1361,11 +1330,7 @@ static void TestInterpreterCall(TailCallMode tail_call_mode) { .LoadLiteral(Smi::FromInt(11)) .StoreAccumulatorInRegister(args[2]); - if (tail_call_mode == TailCallMode::kAllow) { - builder.TailCall(reg, args, call_slot_index); - } else { - builder.CallProperty(reg, args, call_slot_index); - } + builder.CallProperty(reg, args, call_slot_index); builder.Return(); @@ -1414,11 +1379,7 @@ static void TestInterpreterCall(TailCallMode tail_call_mode) { .LoadLiteral(ast_factory.NewString(ast_factory.GetOneByteString("j"))) .StoreAccumulatorInRegister(args[10]); - if (tail_call_mode == TailCallMode::kAllow) { - builder.TailCall(reg, args, call_slot_index); - } else { - builder.CallProperty(reg, args, call_slot_index); - } + builder.CallProperty(reg, args, call_slot_index); builder.Return(); @@ -1442,10 +1403,6 @@ static void TestInterpreterCall(TailCallMode tail_call_mode) { } } -TEST(InterpreterCall) { TestInterpreterCall(TailCallMode::kDisallow); } - -TEST(InterpreterTailCall) { TestInterpreterCall(TailCallMode::kAllow); } - static BytecodeArrayBuilder& SetRegister(BytecodeArrayBuilder& builder, Register reg, int value, Register scratch) { @@ -1466,7 +1423,6 @@ static BytecodeArrayBuilder& IncrementRegister(BytecodeArrayBuilder& builder, .LoadAccumulatorWithRegister(scratch); } - TEST(InterpreterJumps) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -1501,10 +1457,9 @@ TEST(InterpreterJumps) { InterpreterTester tester(isolate, bytecode_array, metadata); auto callable = tester.GetCallable<>(); Handle<Object> return_value = callable().ToHandleChecked(); - CHECK_EQ(Smi::cast(*return_value)->value(), 7); + CHECK_EQ(Smi::ToInt(*return_value), 7); } - TEST(InterpreterConditionalJumps) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -1551,7 +1506,7 @@ TEST(InterpreterConditionalJumps) { InterpreterTester tester(isolate, bytecode_array, metadata); auto callable = tester.GetCallable<>(); Handle<Object> return_value = callable().ToHandleChecked(); - CHECK_EQ(Smi::cast(*return_value)->value(), 7); + CHECK_EQ(Smi::ToInt(*return_value), 7); } TEST(InterpreterConditionalJumps2) { @@ -1601,7 +1556,7 @@ TEST(InterpreterConditionalJumps2) { InterpreterTester tester(isolate, bytecode_array, metadata); auto callable = tester.GetCallable<>(); Handle<Object> return_value = callable().ToHandleChecked(); - CHECK_EQ(Smi::cast(*return_value)->value(), 7); + CHECK_EQ(Smi::ToInt(*return_value), 7); } TEST(InterpreterJumpConstantWith16BitOperand) { @@ -1734,11 +1689,9 @@ bool CompareC(Token::Value op, T lhs, T rhs, bool types_differed = false) { return lhs >= rhs; default: UNREACHABLE(); - return false; } } - TEST(InterpreterSmiComparisons) { // NB Constants cover 31-bit space. int inputs[] = {v8::internal::kMinInt / 2, @@ -1793,7 +1746,6 @@ TEST(InterpreterSmiComparisons) { } } - TEST(InterpreterHeapNumberComparisons) { double inputs[] = {std::numeric_limits<double>::min(), std::numeric_limits<double>::max(), @@ -1843,7 +1795,6 @@ TEST(InterpreterHeapNumberComparisons) { } } - TEST(InterpreterStringComparisons) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2172,7 +2123,6 @@ TEST(InterpreterInstanceOf) { } } - TEST(InterpreterTestIn) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2182,7 +2132,7 @@ TEST(InterpreterTestIn) { isolate->heap()->HashSeed()); // Allocate an array Handle<i::JSArray> array = - factory->NewJSArray(0, i::ElementsKind::FAST_SMI_ELEMENTS); + factory->NewJSArray(0, i::ElementsKind::PACKED_SMI_ELEMENTS); // Check for these properties on the array object const char* properties[] = {"length", "fuzzle", "x", "0"}; for (size_t i = 0; i < arraysize(properties); i++) { @@ -2209,7 +2159,6 @@ TEST(InterpreterTestIn) { } } - TEST(InterpreterUnaryNot) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2233,7 +2182,6 @@ TEST(InterpreterUnaryNot) { } } - TEST(InterpreterUnaryNotNonBoolean) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2271,7 +2219,6 @@ TEST(InterpreterUnaryNotNonBoolean) { } } - TEST(InterpreterTypeof) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2299,7 +2246,6 @@ TEST(InterpreterTypeof) { } } - TEST(InterpreterCallRuntime) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2361,7 +2307,6 @@ TEST(InterpreterFunctionLiteral) { CHECK_EQ(Smi::cast(*return_val), Smi::FromInt(5)); } - TEST(InterpreterRegExpLiterals) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2390,7 +2335,6 @@ TEST(InterpreterRegExpLiterals) { } } - TEST(InterpreterArrayLiterals) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2421,7 +2365,6 @@ TEST(InterpreterArrayLiterals) { } } - TEST(InterpreterObjectLiterals) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2474,7 +2417,6 @@ TEST(InterpreterObjectLiterals) { } } - TEST(InterpreterConstruct) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2494,7 +2436,6 @@ TEST(InterpreterConstruct) { CHECK_EQ(Smi::cast(*return_val), Smi::kZero); } - TEST(InterpreterConstructWithArgument) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2514,7 +2455,6 @@ TEST(InterpreterConstructWithArgument) { CHECK_EQ(Smi::cast(*return_val), Smi::FromInt(3)); } - TEST(InterpreterConstructWithArguments) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2536,7 +2476,6 @@ TEST(InterpreterConstructWithArguments) { CHECK_EQ(Smi::cast(*return_val), Smi::FromInt(15)); } - TEST(InterpreterContextVariables) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2576,7 +2515,6 @@ TEST(InterpreterContextVariables) { } } - TEST(InterpreterContextParameters) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2605,7 +2543,6 @@ TEST(InterpreterContextParameters) { } } - TEST(InterpreterOuterContextVariables) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2638,7 +2575,6 @@ TEST(InterpreterOuterContextVariables) { } } - TEST(InterpreterComma) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2666,7 +2602,6 @@ TEST(InterpreterComma) { } } - TEST(InterpreterLogicalOr) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2694,7 +2629,6 @@ TEST(InterpreterLogicalOr) { } } - TEST(InterpreterLogicalAnd) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2727,7 +2661,6 @@ TEST(InterpreterLogicalAnd) { } } - TEST(InterpreterTryCatch) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2754,7 +2687,6 @@ TEST(InterpreterTryCatch) { } } - TEST(InterpreterTryFinally) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2811,7 +2743,6 @@ TEST(InterpreterTryFinally) { } } - TEST(InterpreterThrow) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2844,7 +2775,6 @@ TEST(InterpreterThrow) { } } - TEST(InterpreterCountOperators) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2904,7 +2834,6 @@ TEST(InterpreterCountOperators) { } } - TEST(InterpreterGlobalCountOperators) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2933,7 +2862,6 @@ TEST(InterpreterGlobalCountOperators) { } } - TEST(InterpreterCompoundExpressions) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2964,7 +2892,6 @@ TEST(InterpreterCompoundExpressions) { } } - TEST(InterpreterGlobalCompoundExpressions) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -2987,7 +2914,6 @@ TEST(InterpreterGlobalCompoundExpressions) { } } - TEST(InterpreterCreateArguments) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -3063,7 +2989,6 @@ TEST(InterpreterCreateArguments) { } } - TEST(InterpreterConditional) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -3097,7 +3022,6 @@ TEST(InterpreterConditional) { } } - TEST(InterpreterDelete) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -3153,7 +3077,6 @@ TEST(InterpreterDelete) { } } - TEST(InterpreterDeleteSloppyUnqualifiedIdentifier) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -3192,7 +3115,6 @@ TEST(InterpreterDeleteSloppyUnqualifiedIdentifier) { } } - TEST(InterpreterGlobalDelete) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -3258,7 +3180,6 @@ TEST(InterpreterGlobalDelete) { } } - TEST(InterpreterBasicLoops) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -3354,7 +3275,6 @@ TEST(InterpreterBasicLoops) { } } - TEST(InterpreterForIn) { std::pair<const char*, int> for_in_samples[] = { {"var r = -1;\n" @@ -3545,7 +3465,6 @@ TEST(InterpreterForIn) { } } - TEST(InterpreterForOf) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -3655,7 +3574,6 @@ TEST(InterpreterForOf) { } } - TEST(InterpreterSwitch) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -3735,7 +3653,6 @@ TEST(InterpreterSwitch) { } } - TEST(InterpreterSloppyThis) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -3769,7 +3686,6 @@ TEST(InterpreterSloppyThis) { } } - TEST(InterpreterThisFunction) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -3783,7 +3699,6 @@ TEST(InterpreterThisFunction) { CHECK(return_value->SameValue(*factory->NewStringFromStaticChars("f"))); } - TEST(InterpreterNewTarget) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -3800,7 +3715,6 @@ TEST(InterpreterNewTarget) { CHECK(new_target_name->SameValue(*factory->NewStringFromStaticChars("f"))); } - TEST(InterpreterAssignmentInExpressions) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -3942,7 +3856,6 @@ TEST(InterpreterAssignmentInExpressions) { } } - TEST(InterpreterToName) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -3985,7 +3898,6 @@ TEST(InterpreterToName) { } } - TEST(TemporaryRegisterAllocation) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -4019,7 +3931,6 @@ TEST(TemporaryRegisterAllocation) { } } - TEST(InterpreterLookupSlot) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -4165,7 +4076,6 @@ TEST(InterpreterCallLookupSlot) { } } - TEST(InterpreterLookupSlotWide) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -4209,7 +4119,6 @@ TEST(InterpreterLookupSlotWide) { } } - TEST(InterpreterDeleteLookupSlot) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -4250,7 +4159,6 @@ TEST(InterpreterDeleteLookupSlot) { } } - TEST(JumpWithConstantsAndWideConstants) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -4287,7 +4195,6 @@ TEST(JumpWithConstantsAndWideConstants) { } } - TEST(InterpreterEval) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -4336,7 +4243,6 @@ TEST(InterpreterEval) { } } - TEST(InterpreterEvalParams) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -4364,7 +4270,6 @@ TEST(InterpreterEvalParams) { } } - TEST(InterpreterEvalGlobal) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -4391,7 +4296,6 @@ TEST(InterpreterEvalGlobal) { } } - TEST(InterpreterEvalVariableDecl) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -4441,7 +4345,6 @@ TEST(InterpreterEvalVariableDecl) { } } - TEST(InterpreterEvalFunctionDecl) { HandleAndZoneScope handles; Isolate* isolate = handles.main_isolate(); @@ -5001,6 +4904,161 @@ TEST(InterpreterGenerators) { } } +TEST(InterpreterToPrimitiveToString) { + HandleAndZoneScope handles; + Isolate* isolate = handles.main_isolate(); + Zone* zone = handles.main_zone(); + Factory* factory = isolate->factory(); + + struct TestCase { + Handle<Object> input; + Handle<Object> expected_value; + int32_t expected_feedback; + } test_cases[] = { + {factory->NewStringFromAsciiChecked("Foo"), + factory->NewStringFromAsciiChecked("Foo"), + BinaryOperationFeedback::kNonEmptyString}, + {factory->NewStringFromAsciiChecked(""), + factory->NewStringFromAsciiChecked(""), + BinaryOperationFeedback::kString}, + {handle(Smi::FromInt(123), isolate), + factory->NewStringFromAsciiChecked("123"), + BinaryOperationFeedback::kAny}, + {factory->NewHeapNumber(2.45), factory->NewStringFromAsciiChecked("2.45"), + BinaryOperationFeedback::kAny}, + {factory->undefined_value(), + factory->NewStringFromAsciiChecked("undefined"), + BinaryOperationFeedback::kAny}, + {InterpreterTester::NewObject("({ val : 123 })"), + factory->NewStringFromAsciiChecked("[object Object]"), + BinaryOperationFeedback::kAny}, + }; + + for (size_t i = 0; i < arraysize(test_cases); i++) { + BytecodeArrayBuilder builder(isolate, zone, 1, 1); + FeedbackVectorSpec feedback_spec(zone); + FeedbackSlot slot = feedback_spec.AddInterpreterBinaryOpICSlot(); + Handle<i::FeedbackMetadata> metadata = + NewFeedbackMetadata(isolate, &feedback_spec); + + Register reg0(0); + builder.LoadAccumulatorWithRegister(builder.Receiver()) + .ToPrimitiveToString(reg0, GetIndex(slot)) + .LoadAccumulatorWithRegister(reg0) + .Return(); + Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray(isolate); + InterpreterTester tester(isolate, bytecode_array, metadata); + auto callable = tester.GetCallable<Handle<Object>>(); + + Handle<Object> return_value = + callable(test_cases[i].input).ToHandleChecked(); + CHECK(return_value->SameValue(*test_cases[i].expected_value)); + + Object* feedback = callable.vector()->Get(slot); + CHECK(feedback->IsSmi()); + CHECK_EQ(test_cases[i].expected_feedback, + static_cast<Smi*>(feedback)->value()); + } +} + +class OneByteResource : public v8::String::ExternalOneByteStringResource { + public: + OneByteResource(const char* data, size_t length) + : data_(data), length_(length) {} + ~OneByteResource() { i::DeleteArray(data_); } + virtual const char* data() const { return data_; } + virtual size_t length() const { return length_; } + + private: + const char* data_; + size_t length_; +}; + +TEST(InterpreterStringConcat) { + HandleAndZoneScope handles; + Isolate* isolate = handles.main_isolate(); + v8::Isolate* ext_isolate = reinterpret_cast<v8::Isolate*>(isolate); + Factory* factory = isolate->factory(); + Zone* zone = handles.main_zone(); + + uc16 array1[] = {2001, 2002, 2003}; + Vector<const uc16> two_byte_str_1(array1); + + uc16 array2[] = {1001, 1002, 1003, 1004, 1005, 1006}; + Vector<const uc16> two_byte_str_2(array2); + + uc16 array3[] = {1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009}; + Vector<const uc16> two_byte_str_3(array3); + + OneByteResource* external_resource = + new OneByteResource(StrDup("external"), 8); + v8::Local<v8::String> ext_string_local = + v8::String::NewExternalOneByte(ext_isolate, external_resource) + .ToLocalChecked(); + Handle<String> external_string = v8::Utils::OpenHandle(*ext_string_local); + + Handle<String> thin_string = + factory->NewStringFromAsciiChecked("thin_string"); + factory->InternalizeString(thin_string); + DCHECK_IMPLIES(FLAG_thin_strings, thin_string->IsThinString()); + + Handle<String> sliced_string = + factory->NewStringFromAsciiChecked("string that is going to be sliced"); + sliced_string = factory->NewProperSubString(sliced_string, 2, 27); + DCHECK_IMPLIES(FLAG_string_slices, sliced_string->IsSlicedString()); + + Handle<String> inputs[] = { + factory->NewStringFromAsciiChecked(""), + factory->NewStringFromAsciiChecked("a"), + factory->NewStringFromAsciiChecked("abc"), + factory->NewStringFromAsciiChecked("underconsmin"), + factory->NewStringFromAsciiChecked("long string over cons min length"), + factory->NewStringFromTwoByte(two_byte_str_1).ToHandleChecked(), + factory->NewStringFromTwoByte(two_byte_str_2).ToHandleChecked(), + factory->NewStringFromTwoByte(two_byte_str_3).ToHandleChecked(), + factory + ->NewConsString(factory->NewStringFromAsciiChecked("foo"), + factory->NewStringFromAsciiChecked("bar")) + .ToHandleChecked(), + factory + ->NewConsString(factory->empty_string(), + factory->NewStringFromAsciiChecked("bar")) + .ToHandleChecked(), + factory + ->NewConsString(factory->NewStringFromAsciiChecked("foo"), + factory->empty_string()) + .ToHandleChecked(), + external_string, + thin_string, + sliced_string, + }; + + BytecodeArrayBuilder builder(isolate, zone, 3, 0, 0); + RegisterList args(builder.Receiver().index(), 3); + builder.StringConcat(args).Return(); + Handle<BytecodeArray> bytecode_array = builder.ToBytecodeArray(isolate); + InterpreterTester tester(isolate, bytecode_array); + typedef Handle<Object> H; + auto callable = tester.GetCallable<H, H, H>(); + + for (size_t i = 0; i < arraysize(inputs); i++) { + for (size_t j = 0; j < arraysize(inputs); j++) { + for (size_t k = 0; k < arraysize(inputs); k++) { + Handle<Object> return_value = + callable(inputs[i], inputs[j], inputs[k]).ToHandleChecked(); + CHECK(return_value->IsString()); + Handle<String> expected = + factory + ->NewConsString(factory->NewConsString(inputs[i], inputs[j]) + .ToHandleChecked(), + inputs[k]) + .ToHandleChecked(); + CHECK(String::Equals(Handle<String>::cast(return_value), expected)); + } + } + } +} + } // namespace interpreter } // namespace internal } // namespace v8 diff --git a/deps/v8/test/cctest/interpreter/test-source-positions.cc b/deps/v8/test/cctest/interpreter/test-source-positions.cc index 912432a73e..52839efc42 100644 --- a/deps/v8/test/cctest/interpreter/test-source-positions.cc +++ b/deps/v8/test/cctest/interpreter/test-source-positions.cc @@ -110,15 +110,15 @@ class OptimizedBytecodeSourcePositionTester final { explicit OptimizedBytecodeSourcePositionTester(Isolate* isolate) : isolate_(isolate) { SaveOptimizationFlags(); - saved_flag_ignition_ = FLAG_ignition; - FLAG_ignition = true; + saved_flag_stress_fullcodegen_ = FLAG_stress_fullcodegen; + FLAG_stress_fullcodegen = false; saved_flag_always_opt_ = FLAG_always_opt; FLAG_always_opt = false; } ~OptimizedBytecodeSourcePositionTester() { RestoreOptimizationFlags(); - FLAG_ignition = saved_flag_ignition_; + FLAG_stress_fullcodegen = saved_flag_stress_fullcodegen_; FLAG_always_opt = saved_flag_always_opt_; } @@ -143,7 +143,7 @@ class OptimizedBytecodeSourcePositionTester final { Isolate* isolate_; int saved_optimization_bitmap_; - bool saved_flag_ignition_; + bool saved_flag_stress_fullcodegen_; bool saved_flag_always_opt_; }; |