diff options
author | Michaël Zasso <targos@protonmail.com> | 2018-12-04 08:20:37 +0100 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2018-12-06 15:23:33 +0100 |
commit | 9b4bf7de6c9a7c25f116c7a502384c20b5cfaea3 (patch) | |
tree | 2b0c843168dafb939d8df8a15b2aa72b76dee51d /deps/v8/test/cctest/interpreter/bytecode_expectations | |
parent | b8fbe69db1292307adb2c2b2e0d5ef48c4ab2faf (diff) | |
download | node-new-9b4bf7de6c9a7c25f116c7a502384c20b5cfaea3.tar.gz |
deps: update V8 to 7.1.302.28
PR-URL: https://github.com/nodejs/node/pull/23423
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Diffstat (limited to 'deps/v8/test/cctest/interpreter/bytecode_expectations')
17 files changed, 1088 insertions, 756 deletions
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden index ae8d050914..31272f1c29 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden @@ -35,17 +35,17 @@ bytecodes: [ /* 42 S> */ B(LdaSmi), I8(1), B(Star), R(0), /* 45 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37), - B(Star), R(1), - B(LdaZero), B(Star), R(2), + B(LdaZero), + B(Star), R(1), B(Ldar), R(0), - /* 54 E> */ B(StaKeyedProperty), R(1), R(2), U8(1), + /* 54 E> */ B(StaInArrayLiteral), R(2), R(1), U8(1), B(LdaSmi), I8(1), - B(Star), R(2), + B(Star), R(1), B(Ldar), R(0), /* 59 E> */ B(AddSmi), I8(1), U8(3), - B(StaKeyedProperty), R(1), R(2), U8(1), - B(Ldar), R(1), + B(StaInArrayLiteral), R(2), R(1), U8(1), + B(Ldar), R(2), /* 65 S> */ B(Return), ] constant pool: [ @@ -84,29 +84,29 @@ bytecodes: [ /* 42 S> */ B(LdaSmi), I8(1), B(Star), R(0), /* 45 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(4), - B(Star), R(1), - B(LdaZero), B(Star), R(2), - B(CreateArrayLiteral), U8(1), U8(3), U8(37), - B(Star), R(3), B(LdaZero), + B(Star), R(1), + B(CreateArrayLiteral), U8(1), U8(1), U8(37), B(Star), R(4), + B(LdaZero), + B(Star), R(3), B(Ldar), R(0), - /* 56 E> */ B(StaKeyedProperty), R(3), R(4), U8(4), - B(Ldar), R(3), - B(StaKeyedProperty), R(1), R(2), U8(1), + /* 56 E> */ B(StaInArrayLiteral), R(4), R(3), U8(2), + B(Ldar), R(4), + B(StaInArrayLiteral), R(2), R(1), U8(4), B(LdaSmi), I8(1), - B(Star), R(2), + B(Star), R(1), B(CreateArrayLiteral), U8(2), U8(6), U8(37), - B(Star), R(3), - B(LdaZero), B(Star), R(4), + B(LdaZero), + B(Star), R(3), B(Ldar), R(0), - /* 68 E> */ B(AddSmi), I8(2), U8(9), - B(StaKeyedProperty), R(3), R(4), U8(7), - B(Ldar), R(3), - B(StaKeyedProperty), R(1), R(2), U8(1), - B(Ldar), R(1), + /* 68 E> */ B(AddSmi), I8(2), U8(7), + B(StaInArrayLiteral), R(4), R(3), U8(8), + B(Ldar), R(4), + B(StaInArrayLiteral), R(2), R(1), U8(4), + B(Ldar), R(2), /* 76 S> */ B(Return), ] constant pool: [ @@ -121,50 +121,18 @@ handlers: [ snippet: " var a = [ 1, 2 ]; return [ ...a ]; " -frame size: 8 +frame size: 1 parameter count: 1 -bytecode array length: 86 +bytecode array length: 9 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37), B(Star), R(0), - /* 52 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(37), - B(Star), R(1), - B(LdaConstant), U8(2), - /* 64 S> */ B(Star), R(2), - B(LdaNamedProperty), R(0), U8(3), U8(7), - B(Star), R(7), - B(CallProperty0), R(7), R(0), U8(9), - B(Mov), R(0), R(6), - B(JumpIfJSReceiver), U8(7), - B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), - B(Star), R(5), - B(LdaNamedProperty), R(5), U8(4), U8(11), - B(Star), R(4), - B(CallProperty0), R(4), R(5), U8(13), - B(Star), R(3), - B(JumpIfJSReceiver), U8(7), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(3), U8(1), - B(LdaNamedProperty), R(3), U8(5), U8(15), - B(JumpIfToBooleanTrue), U8(21), - B(LdaNamedProperty), R(3), U8(6), U8(17), - B(Star), R(3), - B(StaInArrayLiteral), R(1), R(2), U8(2), - B(Ldar), R(2), - B(Inc), U8(4), - B(Star), R(2), - B(JumpLoop), U8(35), I8(0), - B(Ldar), R(1), + /* 52 S> */ B(CreateArrayFromIterable), /* 68 S> */ B(Return), ] constant pool: [ ARRAY_BOILERPLATE_DESCRIPTION_TYPE, - ARRAY_BOILERPLATE_DESCRIPTION_TYPE, - Smi [0], - SYMBOL_TYPE, - ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], - ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], - ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], ] handlers: [ ] @@ -181,32 +149,32 @@ bytecodes: [ /* 42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37), B(Star), R(0), /* 52 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(37), - B(Star), R(1), + B(Star), R(2), B(LdaConstant), U8(2), - /* 67 S> */ B(Star), R(2), - B(LdaNamedProperty), R(0), U8(3), U8(7), + /* 67 S> */ B(Star), R(1), + B(LdaNamedProperty), R(0), U8(3), U8(5), B(Star), R(7), - B(CallProperty0), R(7), R(0), U8(9), + B(CallProperty0), R(7), R(0), U8(7), B(Mov), R(0), R(6), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), B(Star), R(5), - B(LdaNamedProperty), R(5), U8(4), U8(11), + B(LdaNamedProperty), R(5), U8(4), U8(9), B(Star), R(4), - B(CallProperty0), R(4), R(5), U8(13), + B(CallProperty0), R(4), R(5), U8(11), B(Star), R(3), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(3), U8(1), - B(LdaNamedProperty), R(3), U8(5), U8(15), + B(LdaNamedProperty), R(3), U8(5), U8(13), B(JumpIfToBooleanTrue), U8(21), - B(LdaNamedProperty), R(3), U8(6), U8(17), + B(LdaNamedProperty), R(3), U8(6), U8(15), B(Star), R(3), - B(StaInArrayLiteral), R(1), R(2), U8(2), - B(Ldar), R(2), - B(Inc), U8(4), - B(Star), R(2), - B(JumpLoop), U8(35), I8(0), + B(StaInArrayLiteral), R(2), R(1), U8(3), B(Ldar), R(1), + B(Inc), U8(2), + B(Star), R(1), + B(JumpLoop), U8(35), I8(0), + B(Ldar), R(2), /* 71 S> */ B(Return), ] constant pool: [ @@ -225,55 +193,25 @@ handlers: [ snippet: " var a = [ 1, 2 ]; return [ ...a, 3 ]; " -frame size: 8 +frame size: 3 parameter count: 1 -bytecode array length: 98 +bytecode array length: 25 bytecodes: [ /* 30 E> */ B(StackCheck), /* 42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37), B(Star), R(0), - /* 52 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(37), - B(Star), R(1), - B(LdaConstant), U8(2), - /* 64 S> */ B(Star), R(2), - B(LdaNamedProperty), R(0), U8(3), U8(7), - B(Star), R(7), - B(CallProperty0), R(7), R(0), U8(9), - B(Mov), R(0), R(6), - B(JumpIfJSReceiver), U8(7), - B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), - B(Star), R(5), - B(LdaNamedProperty), R(5), U8(4), U8(11), - B(Star), R(4), - B(CallProperty0), R(4), R(5), U8(13), - B(Star), R(3), - B(JumpIfJSReceiver), U8(7), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(3), U8(1), - B(LdaNamedProperty), R(3), U8(5), U8(15), - B(JumpIfToBooleanTrue), U8(21), - B(LdaNamedProperty), R(3), U8(6), U8(17), - B(Star), R(3), - B(StaInArrayLiteral), R(1), R(2), U8(2), - B(Ldar), R(2), - B(Inc), U8(4), + /* 52 S> */ B(CreateArrayFromIterable), B(Star), R(2), - B(JumpLoop), U8(35), I8(0), + B(LdaNamedProperty), R(2), U8(1), U8(1), + B(Star), R(1), B(LdaSmi), I8(3), - B(StaInArrayLiteral), R(1), R(2), U8(2), + B(StaInArrayLiteral), R(2), R(1), U8(3), B(Ldar), R(2), - B(Inc), U8(4), - B(Star), R(2), - B(Ldar), R(1), /* 71 S> */ B(Return), ] constant pool: [ ARRAY_BOILERPLATE_DESCRIPTION_TYPE, - ARRAY_BOILERPLATE_DESCRIPTION_TYPE, - Smi [0], - SYMBOL_TYPE, - ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], - ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], - ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["length"], ] handlers: [ ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden index f5cbed6a7a..f3ddec23a0 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden @@ -252,19 +252,19 @@ frame size: 22 parameter count: 1 bytecode array length: 490 bytecodes: [ - B(SwitchOnGeneratorState), R(2), U8(0), U8(3), + B(SwitchOnGeneratorState), R(0), U8(0), U8(3), 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(2), + B(Star), R(0), /* 17 E> */ B(StackCheck), B(Mov), R(context), R(13), B(Mov), R(context), R(14), - B(Ldar), R(2), - /* 17 E> */ B(SuspendGenerator), R(2), R(0), U8(15), U8(0), - B(ResumeGenerator), R(2), R(0), U8(15), + B(Ldar), R(0), + /* 17 E> */ B(SuspendGenerator), R(0), R(0), U8(15), U8(0), + B(ResumeGenerator), R(0), R(0), U8(15), B(Star), R(15), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), B(SwitchOnSmiNoFeedback), U8(3), U8(2), I8(0), B(Ldar), R(15), /* 17 E> */ B(Throw), @@ -300,16 +300,16 @@ bytecodes: [ B(Star), R(7), B(Mov), R(8), R(3), /* 22 E> */ B(StackCheck), - B(Mov), R(3), R(0), + B(Mov), R(3), R(1), /* 42 S> */ B(LdaFalse), B(Star), R(21), - B(Mov), R(2), R(19), - B(Mov), R(0), R(20), + B(Mov), R(0), R(19), + B(Mov), R(1), R(20), B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorYield), R(19), U8(3), - /* 42 E> */ B(SuspendGenerator), R(2), R(0), U8(19), U8(1), - B(ResumeGenerator), R(2), R(0), U8(19), + /* 42 E> */ B(SuspendGenerator), R(0), R(0), U8(19), U8(1), + B(ResumeGenerator), R(0), R(0), U8(19), B(Star), R(19), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), B(SwitchOnSmiNoFeedback), U8(10), U8(2), I8(0), B(Ldar), R(19), /* 42 E> */ B(Throw), @@ -362,7 +362,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(18), B(LdaConstant), U8(14), B(Star), R(19), @@ -398,12 +398,12 @@ bytecodes: [ B(ReThrow), B(LdaUndefined), B(Star), R(16), - B(Mov), R(2), R(15), + B(Mov), R(0), R(15), B(CallJSRuntime), U8(%async_generator_await_uncaught), R(15), U8(2), - B(SuspendGenerator), R(2), R(0), U8(15), U8(2), - B(ResumeGenerator), R(2), R(0), U8(15), + B(SuspendGenerator), R(0), R(0), U8(15), U8(2), + B(ResumeGenerator), R(0), R(0), U8(15), B(Star), R(15), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1), B(Star), R(16), B(LdaZero), B(TestReferenceEqual), R(16), @@ -424,7 +424,7 @@ bytecodes: [ B(PushContext), R(15), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(17), - B(Mov), R(2), R(16), + B(Mov), R(0), R(16), B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorReject), R(16), U8(2), B(PopContext), R(15), B(Star), R(12), @@ -441,7 +441,7 @@ bytecodes: [ B(LdaTheHole), B(SetPendingMessage), B(Star), R(13), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(2), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorClose), R(0), U8(1), B(Ldar), R(13), B(SetPendingMessage), B(Ldar), R(11), @@ -449,7 +449,7 @@ bytecodes: [ B(Jump), U8(22), B(LdaTrue), B(Star), R(16), - B(Mov), R(2), R(14), + B(Mov), R(0), R(14), B(Mov), R(12), R(15), B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorResolve), R(14), U8(3), /* 50 S> */ B(Return), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallAndSpread.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallAndSpread.golden index 779e12c4ec..4c27e3a8d4 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallAndSpread.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallAndSpread.golden @@ -67,7 +67,7 @@ snippet: " " frame size: 10 parameter count: 1 -bytecode array length: 112 +bytecode array length: 109 bytecodes: [ /* 30 E> */ B(StackCheck), /* 34 S> */ B(LdaGlobal), U8(0), U8(0), @@ -75,38 +75,36 @@ bytecodes: [ B(LdaNamedProperty), R(0), U8(1), U8(2), B(Star), R(1), B(CreateArrayLiteral), U8(2), U8(4), U8(37), - B(Star), R(3), - B(LdaConstant), U8(3), B(Star), R(4), - /* 49 S> */ B(CreateArrayLiteral), U8(4), U8(10), U8(37), + B(LdaConstant), U8(3), + B(Star), R(3), + /* 49 S> */ B(CreateArrayLiteral), U8(4), U8(8), U8(37), B(Star), R(8), - B(LdaNamedProperty), R(8), U8(5), U8(11), + B(LdaNamedProperty), R(8), U8(5), U8(9), B(Star), R(9), - B(CallProperty0), R(9), R(8), U8(13), + B(CallProperty0), R(9), R(8), U8(11), B(Mov), R(0), R(2), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), B(Star), R(7), - B(LdaNamedProperty), R(7), U8(6), U8(15), + B(LdaNamedProperty), R(7), U8(6), U8(13), B(Star), R(6), - B(CallProperty0), R(6), R(7), U8(17), + B(CallProperty0), R(6), R(7), U8(15), B(Star), R(5), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1), - B(LdaNamedProperty), R(5), U8(7), U8(19), + B(LdaNamedProperty), R(5), U8(7), U8(17), B(JumpIfToBooleanTrue), U8(21), - B(LdaNamedProperty), R(5), U8(8), U8(21), + B(LdaNamedProperty), R(5), U8(8), U8(19), B(Star), R(5), - B(StaInArrayLiteral), R(3), R(4), U8(5), - B(Ldar), R(4), - B(Inc), U8(7), - B(Star), R(4), + B(StaInArrayLiteral), R(4), R(3), U8(6), + B(Ldar), R(3), + B(Inc), U8(5), + B(Star), R(3), B(JumpLoop), U8(35), I8(0), B(LdaSmi), I8(4), - B(StaInArrayLiteral), R(3), R(4), U8(5), - B(Ldar), R(4), - B(Inc), U8(7), - B(Star), R(4), + B(StaInArrayLiteral), R(4), R(3), U8(6), + B(Mov), R(4), R(3), B(CallJSRuntime), U8(%reflect_apply), R(1), U8(3), B(LdaUndefined), /* 64 S> */ B(Return), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden index 737d423fcb..c56e29436e 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden @@ -103,12 +103,12 @@ bytecodes: [ B(Star), R(3), B(LdaConstant), U8(3), B(Star), R(4), - B(LdaImmutableCurrentContextSlot), U8(4), - /* 75 E> */ B(ToName), R(7), + /* 75 S> */ B(LdaImmutableCurrentContextSlot), U8(4), + B(ToName), R(7), B(CreateClosure), U8(5), U8(1), U8(2), B(Star), R(8), - B(LdaImmutableCurrentContextSlot), U8(5), - /* 106 E> */ B(ToName), R(9), + /* 106 S> */ B(LdaImmutableCurrentContextSlot), U8(5), + B(ToName), R(9), B(LdaConstant), U8(6), B(TestEqualStrict), R(9), U8(2), B(Mov), R(3), R(5), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden index c5fae1f4f6..098130c480 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden @@ -16,20 +16,20 @@ snippet: " " frame size: 23 parameter count: 1 -bytecode array length: 514 +bytecode array length: 518 bytecodes: [ - B(SwitchOnGeneratorState), R(2), U8(0), U8(3), + B(SwitchOnGeneratorState), R(3), U8(0), U8(3), 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), + B(Star), R(3), /* 16 E> */ B(StackCheck), B(CallJSRuntime), U8(%async_function_promise_create), R(0), U8(0), - B(Star), R(11), + B(Star), R(0), B(Mov), R(context), R(14), B(Mov), R(context), R(15), B(LdaZero), - B(Star), R(7), + B(Star), R(8), B(Mov), R(context), R(18), B(Mov), R(context), R(19), /* 43 S> */ B(CreateArrayLiteral), U8(3), U8(0), U8(37), @@ -46,40 +46,40 @@ bytecodes: [ B(CallProperty0), R(21), R(20), U8(7), B(Star), R(21), B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(21), U8(1), - B(Star), R(4), - /* 43 E> */ B(LdaNamedProperty), R(4), U8(6), U8(9), B(Star), R(5), - /* 40 S> */ B(CallProperty0), R(5), R(4), U8(11), + /* 43 E> */ B(LdaNamedProperty), R(5), U8(6), U8(9), + B(Star), R(6), + /* 40 S> */ B(CallProperty0), R(6), R(5), U8(11), B(Star), R(21), - B(Mov), R(2), R(20), - B(Mov), R(11), R(22), + B(Mov), R(3), R(20), + B(Mov), R(0), R(22), B(CallJSRuntime), U8(%async_function_await_uncaught), R(20), U8(3), - /* 40 E> */ B(SuspendGenerator), R(2), R(0), U8(20), U8(0), - B(ResumeGenerator), R(2), R(0), U8(20), + /* 40 E> */ B(SuspendGenerator), R(3), R(0), U8(20), U8(0), + B(ResumeGenerator), R(3), R(0), U8(20), B(Star), R(20), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), B(Star), R(21), B(LdaZero), B(TestReferenceEqual), R(21), B(JumpIfTrue), U8(5), B(Ldar), R(20), B(ReThrow), - B(Mov), R(20), R(6), + B(Mov), R(20), R(7), /* 40 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(20), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(7), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(6), U8(1), - B(LdaNamedProperty), R(6), U8(7), U8(13), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(7), U8(1), + B(LdaNamedProperty), R(7), U8(7), U8(13), B(JumpIfToBooleanTrue), U8(25), - B(LdaNamedProperty), R(6), U8(8), U8(15), - B(Star), R(8), + B(LdaNamedProperty), R(7), U8(8), U8(15), + B(Star), R(9), B(LdaSmi), I8(2), - B(Star), R(7), - B(Mov), R(8), R(3), + B(Star), R(8), + B(Mov), R(9), R(4), /* 23 E> */ B(StackCheck), - B(Mov), R(3), R(0), + B(Mov), R(4), R(1), B(LdaZero), - B(Star), R(7), + B(Star), R(8), B(JumpLoop), U8(82), I8(0), B(Jump), U8(37), B(Star), R(20), @@ -90,10 +90,10 @@ bytecodes: [ B(Ldar), R(19), B(PushContext), R(20), B(LdaSmi), I8(2), - B(TestEqualStrict), R(7), U8(17), + B(TestEqualStrict), R(8), U8(17), B(JumpIfFalse), U8(6), B(LdaSmi), I8(1), - B(Star), R(7), + B(Star), R(8), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(21), B(CallRuntime), U16(Runtime::kReThrow), R(21), U8(1), @@ -109,38 +109,38 @@ bytecodes: [ B(SetPendingMessage), B(Star), R(18), B(LdaZero), - B(TestEqualStrict), R(7), U8(18), + B(TestEqualStrict), R(8), U8(18), B(JumpIfTrue), U8(167), - B(LdaNamedProperty), R(4), U8(10), U8(19), - B(Star), R(9), + B(LdaNamedProperty), R(5), U8(10), U8(19), + B(Star), R(10), B(TestUndetectable), B(JumpIfFalse), U8(4), B(Jump), U8(156), B(LdaSmi), I8(1), - B(TestEqualStrict), R(7), U8(21), + B(TestEqualStrict), R(8), U8(21), B(JumpIfFalse), U8(86), - B(Ldar), R(9), + B(Ldar), R(10), B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(19), B(LdaConstant), U8(11), B(Star), R(20), B(CallRuntime), U16(Runtime::kNewTypeError), R(19), U8(2), B(Throw), B(Mov), R(context), R(19), - B(Mov), R(9), R(20), - B(Mov), R(4), R(21), + B(Mov), R(10), R(20), + B(Mov), R(5), R(21), B(InvokeIntrinsic), U8(Runtime::k_Call), R(20), U8(2), B(Star), R(21), - B(Mov), R(2), R(20), - B(Mov), R(11), R(22), + B(Mov), R(3), R(20), + B(Mov), R(0), R(22), B(CallJSRuntime), U8(%async_function_await_caught), R(20), U8(3), - B(SuspendGenerator), R(2), R(0), U8(20), U8(1), - B(ResumeGenerator), R(2), R(0), U8(20), + B(SuspendGenerator), R(3), R(0), U8(20), U8(1), + B(ResumeGenerator), R(3), R(0), U8(20), B(Star), R(20), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), B(Star), R(21), B(LdaZero), B(TestReferenceEqual), R(21), @@ -153,28 +153,28 @@ bytecodes: [ B(SetPendingMessage), B(Ldar), R(19), B(Jump), U8(65), - B(Mov), R(9), R(19), - B(Mov), R(4), R(20), + B(Mov), R(10), R(19), + B(Mov), R(5), R(20), B(InvokeIntrinsic), U8(Runtime::k_Call), R(19), U8(2), B(Star), R(20), - B(Mov), R(2), R(19), - B(Mov), R(11), R(21), + B(Mov), R(3), R(19), + B(Mov), R(0), R(21), B(CallJSRuntime), U8(%async_function_await_uncaught), R(19), U8(3), - B(SuspendGenerator), R(2), R(0), U8(19), U8(2), - B(ResumeGenerator), R(2), R(0), U8(19), + B(SuspendGenerator), R(3), R(0), U8(19), U8(2), + B(ResumeGenerator), R(3), R(0), U8(19), B(Star), R(19), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), B(Star), R(20), B(LdaZero), B(TestReferenceEqual), R(20), B(JumpIfTrue), U8(5), B(Ldar), R(19), B(ReThrow), - B(Mov), R(19), R(10), + B(Mov), R(19), R(11), B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(19), U8(1), B(JumpIfToBooleanFalse), U8(4), B(Jump), U8(7), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1), B(Ldar), R(18), B(SetPendingMessage), B(LdaZero), @@ -183,14 +183,11 @@ bytecodes: [ B(Ldar), R(17), B(ReThrow), B(LdaUndefined), - B(Star), R(17), - B(Mov), R(11), R(16), - B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(16), U8(2), + B(Star), R(13), B(LdaZero), B(Star), R(12), - B(Mov), R(11), R(13), - B(Jump), U8(55), - B(Jump), U8(39), + B(Jump), U8(56), + B(Jump), U8(40), B(Star), R(16), B(CreateCatchContext), R(16), U8(12), B(Star), R(15), @@ -202,32 +199,37 @@ bytecodes: [ B(Star), R(18), B(LdaFalse), B(Star), R(19), - B(Mov), R(11), R(17), + B(Mov), R(0), R(17), B(InvokeIntrinsic), U8(Runtime::k_RejectPromise), R(17), U8(3), B(PopContext), R(16), - B(LdaZero), + B(LdaSmi), I8(1), B(Star), R(12), - B(Mov), R(11), R(13), + B(Mov), R(0), R(13), B(Jump), U8(16), B(LdaSmi), I8(-1), B(Star), R(13), B(Star), R(12), B(Jump), U8(8), B(Star), R(13), - B(LdaSmi), I8(1), + B(LdaSmi), I8(2), B(Star), R(12), B(LdaTheHole), B(SetPendingMessage), B(Star), R(14), B(LdaTrue), B(Star), R(16), - B(Mov), R(11), R(15), + B(Mov), R(0), R(15), B(CallJSRuntime), U8(%async_function_promise_release), R(15), U8(2), B(Ldar), R(14), B(SetPendingMessage), B(Ldar), R(12), - B(SwitchOnSmiNoFeedback), U8(13), U8(2), I8(0), - B(Jump), U8(8), + B(SwitchOnSmiNoFeedback), U8(13), U8(3), I8(0), + B(Jump), U8(21), + B(Mov), R(0), R(15), + B(Mov), R(13), R(16), + B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(15), U8(2), + B(Ldar), R(0), + /* 57 S> */ B(Return), B(Ldar), R(13), /* 57 S> */ B(Return), B(Ldar), R(13), @@ -250,11 +252,12 @@ constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE [""], SCOPE_INFO_TYPE, Smi [6], - Smi [9], + Smi [19], + Smi [22], ] handlers: [ - [26, 467, 475], - [29, 428, 430], + [26, 458, 466], + [29, 418, 420], [35, 211, 219], [38, 174, 176], [279, 328, 330], @@ -269,20 +272,20 @@ snippet: " " frame size: 23 parameter count: 1 -bytecode array length: 543 +bytecode array length: 532 bytecodes: [ - B(SwitchOnGeneratorState), R(2), U8(0), U8(3), + B(SwitchOnGeneratorState), R(3), U8(0), U8(3), 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), + B(Star), R(3), /* 16 E> */ B(StackCheck), B(CallJSRuntime), U8(%async_function_promise_create), R(0), U8(0), - B(Star), R(11), + B(Star), R(0), B(Mov), R(context), R(14), B(Mov), R(context), R(15), B(LdaZero), - B(Star), R(7), + B(Star), R(8), B(Mov), R(context), R(18), B(Mov), R(context), R(19), /* 43 S> */ B(CreateArrayLiteral), U8(3), U8(0), U8(37), @@ -299,41 +302,41 @@ bytecodes: [ B(CallProperty0), R(21), R(20), U8(7), B(Star), R(21), B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(21), U8(1), - B(Star), R(4), - /* 43 E> */ B(LdaNamedProperty), R(4), U8(6), U8(9), B(Star), R(5), - /* 40 S> */ B(CallProperty0), R(5), R(4), U8(11), + /* 43 E> */ B(LdaNamedProperty), R(5), U8(6), U8(9), + B(Star), R(6), + /* 40 S> */ B(CallProperty0), R(6), R(5), U8(11), B(Star), R(21), - B(Mov), R(2), R(20), - B(Mov), R(11), R(22), + B(Mov), R(3), R(20), + B(Mov), R(0), R(22), B(CallJSRuntime), U8(%async_function_await_uncaught), R(20), U8(3), - /* 40 E> */ B(SuspendGenerator), R(2), R(0), U8(20), U8(0), - B(ResumeGenerator), R(2), R(0), U8(20), + /* 40 E> */ B(SuspendGenerator), R(3), R(0), U8(20), U8(0), + B(ResumeGenerator), R(3), R(0), U8(20), B(Star), R(20), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), B(Star), R(21), B(LdaZero), B(TestReferenceEqual), R(21), B(JumpIfTrue), U8(5), B(Ldar), R(20), B(ReThrow), - B(Mov), R(20), R(6), + B(Mov), R(20), R(7), /* 40 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(20), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(7), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(6), U8(1), - B(LdaNamedProperty), R(6), U8(7), U8(13), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(7), U8(1), + B(LdaNamedProperty), R(7), U8(7), U8(13), B(JumpIfToBooleanTrue), U8(27), - B(LdaNamedProperty), R(6), U8(8), U8(15), - B(Star), R(8), + B(LdaNamedProperty), R(7), U8(8), U8(15), + B(Star), R(9), B(LdaSmi), I8(2), - B(Star), R(7), - B(Mov), R(8), R(3), + B(Star), R(8), + B(Mov), R(9), R(4), /* 23 E> */ B(StackCheck), - B(Mov), R(3), R(0), + B(Mov), R(4), R(1), /* 56 S> */ B(LdaZero), B(Star), R(16), - B(Mov), R(8), R(17), + B(Mov), R(9), R(17), B(Jump), U8(53), B(Jump), U8(37), B(Star), R(20), @@ -344,10 +347,10 @@ bytecodes: [ B(Ldar), R(19), B(PushContext), R(20), B(LdaSmi), I8(2), - B(TestEqualStrict), R(7), U8(17), + B(TestEqualStrict), R(8), U8(17), B(JumpIfFalse), U8(6), B(LdaSmi), I8(1), - B(Star), R(7), + B(Star), R(8), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(21), B(CallRuntime), U16(Runtime::kReThrow), R(21), U8(1), @@ -363,38 +366,38 @@ bytecodes: [ B(SetPendingMessage), B(Star), R(18), B(LdaZero), - B(TestEqualStrict), R(7), U8(18), + B(TestEqualStrict), R(8), U8(18), B(JumpIfTrue), U8(167), - B(LdaNamedProperty), R(4), U8(10), U8(19), - B(Star), R(9), + B(LdaNamedProperty), R(5), U8(10), U8(19), + B(Star), R(10), B(TestUndetectable), B(JumpIfFalse), U8(4), B(Jump), U8(156), B(LdaSmi), I8(1), - B(TestEqualStrict), R(7), U8(21), + B(TestEqualStrict), R(8), U8(21), B(JumpIfFalse), U8(86), - B(Ldar), R(9), + B(Ldar), R(10), B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(19), B(LdaConstant), U8(11), B(Star), R(20), B(CallRuntime), U16(Runtime::kNewTypeError), R(19), U8(2), B(Throw), B(Mov), R(context), R(19), - B(Mov), R(9), R(20), - B(Mov), R(4), R(21), + B(Mov), R(10), R(20), + B(Mov), R(5), R(21), B(InvokeIntrinsic), U8(Runtime::k_Call), R(20), U8(2), B(Star), R(21), - B(Mov), R(2), R(20), - B(Mov), R(11), R(22), + B(Mov), R(3), R(20), + B(Mov), R(0), R(22), B(CallJSRuntime), U8(%async_function_await_caught), R(20), U8(3), - B(SuspendGenerator), R(2), R(0), U8(20), U8(1), - B(ResumeGenerator), R(2), R(0), U8(20), + B(SuspendGenerator), R(3), R(0), U8(20), U8(1), + B(ResumeGenerator), R(3), R(0), U8(20), B(Star), R(20), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), B(Star), R(21), B(LdaZero), B(TestReferenceEqual), R(21), @@ -407,28 +410,28 @@ bytecodes: [ B(SetPendingMessage), B(Ldar), R(19), B(Jump), U8(65), - B(Mov), R(9), R(19), - B(Mov), R(4), R(20), + B(Mov), R(10), R(19), + B(Mov), R(5), R(20), B(InvokeIntrinsic), U8(Runtime::k_Call), R(19), U8(2), B(Star), R(20), - B(Mov), R(2), R(19), - B(Mov), R(11), R(21), + B(Mov), R(3), R(19), + B(Mov), R(0), R(21), B(CallJSRuntime), U8(%async_function_await_uncaught), R(19), U8(3), - B(SuspendGenerator), R(2), R(0), U8(19), U8(2), - B(ResumeGenerator), R(2), R(0), U8(19), + B(SuspendGenerator), R(3), R(0), U8(19), U8(2), + B(ResumeGenerator), R(3), R(0), U8(19), B(Star), R(19), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), B(Star), R(20), B(LdaZero), B(TestReferenceEqual), R(20), B(JumpIfTrue), U8(5), B(Ldar), R(19), B(ReThrow), - B(Mov), R(19), R(10), + B(Mov), R(19), R(11), B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(19), U8(1), B(JumpIfToBooleanFalse), U8(4), B(Jump), U8(7), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1), B(Ldar), R(18), B(SetPendingMessage), B(Ldar), R(16), @@ -437,16 +440,13 @@ bytecodes: [ B(LdaZero), B(Star), R(12), B(Mov), R(17), R(13), - B(Jump), U8(78), + B(Jump), U8(67), B(Ldar), R(17), B(ReThrow), B(LdaUndefined), - B(Star), R(17), - B(Mov), R(11), R(16), - B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(16), U8(2), - B(LdaSmi), I8(1), + B(Star), R(13), + B(LdaZero), B(Star), R(12), - B(Mov), R(11), R(13), B(Jump), U8(56), B(Jump), U8(40), B(Star), R(16), @@ -460,12 +460,12 @@ bytecodes: [ B(Star), R(18), B(LdaFalse), B(Star), R(19), - B(Mov), R(11), R(17), + B(Mov), R(0), R(17), B(InvokeIntrinsic), U8(Runtime::k_RejectPromise), R(17), U8(3), B(PopContext), R(16), B(LdaSmi), I8(1), B(Star), R(12), - B(Mov), R(11), R(13), + B(Mov), R(0), R(13), B(Jump), U8(16), B(LdaSmi), I8(-1), B(Star), R(13), @@ -479,17 +479,17 @@ bytecodes: [ B(Star), R(14), B(LdaTrue), B(Star), R(16), - B(Mov), R(11), R(15), + B(Mov), R(0), R(15), B(CallJSRuntime), U8(%async_function_promise_release), R(15), U8(2), B(Ldar), R(14), B(SetPendingMessage), B(Ldar), R(12), B(SwitchOnSmiNoFeedback), U8(15), U8(3), I8(0), B(Jump), U8(21), - B(Mov), R(11), R(15), + B(Mov), R(0), R(15), B(Mov), R(13), R(16), B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(15), U8(2), - B(Ldar), R(11), + B(Ldar), R(0), /* 68 S> */ B(Return), B(Ldar), R(13), /* 68 S> */ B(Return), @@ -519,8 +519,8 @@ constant pool: [ Smi [22], ] handlers: [ - [26, 483, 491], - [29, 443, 445], + [26, 472, 480], + [29, 432, 434], [35, 213, 221], [38, 176, 178], [282, 331, 333], @@ -538,20 +538,20 @@ snippet: " " frame size: 23 parameter count: 1 -bytecode array length: 532 +bytecode array length: 536 bytecodes: [ - B(SwitchOnGeneratorState), R(2), U8(0), U8(3), + B(SwitchOnGeneratorState), R(3), U8(0), U8(3), 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), + B(Star), R(3), /* 16 E> */ B(StackCheck), B(CallJSRuntime), U8(%async_function_promise_create), R(0), U8(0), - B(Star), R(11), + B(Star), R(0), B(Mov), R(context), R(14), B(Mov), R(context), R(15), B(LdaZero), - B(Star), R(7), + B(Star), R(8), B(Mov), R(context), R(18), B(Mov), R(context), R(19), /* 43 S> */ B(CreateArrayLiteral), U8(3), U8(0), U8(37), @@ -568,48 +568,48 @@ bytecodes: [ B(CallProperty0), R(21), R(20), U8(7), B(Star), R(21), B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(21), U8(1), - B(Star), R(4), - /* 43 E> */ B(LdaNamedProperty), R(4), U8(6), U8(9), B(Star), R(5), - /* 40 S> */ B(CallProperty0), R(5), R(4), U8(11), + /* 43 E> */ B(LdaNamedProperty), R(5), U8(6), U8(9), + B(Star), R(6), + /* 40 S> */ B(CallProperty0), R(6), R(5), U8(11), B(Star), R(21), - B(Mov), R(2), R(20), - B(Mov), R(11), R(22), + B(Mov), R(3), R(20), + B(Mov), R(0), R(22), B(CallJSRuntime), U8(%async_function_await_uncaught), R(20), U8(3), - /* 40 E> */ B(SuspendGenerator), R(2), R(0), U8(20), U8(0), - B(ResumeGenerator), R(2), R(0), U8(20), + /* 40 E> */ B(SuspendGenerator), R(3), R(0), U8(20), U8(0), + B(ResumeGenerator), R(3), R(0), U8(20), B(Star), R(20), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), B(Star), R(21), B(LdaZero), B(TestReferenceEqual), R(21), B(JumpIfTrue), U8(5), B(Ldar), R(20), B(ReThrow), - B(Mov), R(20), R(6), + B(Mov), R(20), R(7), /* 40 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(20), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(7), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(6), U8(1), - B(LdaNamedProperty), R(6), U8(7), U8(13), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(7), U8(1), + B(LdaNamedProperty), R(7), U8(7), U8(13), B(JumpIfToBooleanTrue), U8(43), - B(LdaNamedProperty), R(6), U8(8), U8(15), - B(Star), R(8), + B(LdaNamedProperty), R(7), U8(8), U8(15), + B(Star), R(9), B(LdaSmi), I8(2), - B(Star), R(7), - B(Mov), R(8), R(3), + B(Star), R(8), + B(Mov), R(9), R(4), /* 23 E> */ B(StackCheck), - B(Mov), R(3), R(0), + B(Mov), R(4), R(1), /* 63 S> */ B(LdaSmi), I8(10), - /* 69 E> */ B(TestEqual), R(0), U8(17), + /* 69 E> */ B(TestEqual), R(1), U8(17), B(JumpIfFalse), U8(4), /* 76 S> */ B(Jump), U8(14), /* 90 S> */ B(LdaSmi), I8(20), - /* 96 E> */ B(TestEqual), R(0), U8(18), + /* 96 E> */ B(TestEqual), R(1), U8(18), B(JumpIfFalse), U8(4), /* 103 S> */ B(Jump), U8(8), B(LdaZero), - B(Star), R(7), + B(Star), R(8), B(JumpLoop), U8(100), I8(0), B(Jump), U8(37), B(Star), R(20), @@ -620,10 +620,10 @@ bytecodes: [ B(Ldar), R(19), B(PushContext), R(20), B(LdaSmi), I8(2), - B(TestEqualStrict), R(7), U8(19), + B(TestEqualStrict), R(8), U8(19), B(JumpIfFalse), U8(6), B(LdaSmi), I8(1), - B(Star), R(7), + B(Star), R(8), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(21), B(CallRuntime), U16(Runtime::kReThrow), R(21), U8(1), @@ -639,38 +639,38 @@ bytecodes: [ B(SetPendingMessage), B(Star), R(18), B(LdaZero), - B(TestEqualStrict), R(7), U8(20), + B(TestEqualStrict), R(8), U8(20), B(JumpIfTrue), U8(167), - B(LdaNamedProperty), R(4), U8(10), U8(21), - B(Star), R(9), + B(LdaNamedProperty), R(5), U8(10), U8(21), + B(Star), R(10), B(TestUndetectable), B(JumpIfFalse), U8(4), B(Jump), U8(156), B(LdaSmi), I8(1), - B(TestEqualStrict), R(7), U8(23), + B(TestEqualStrict), R(8), U8(23), B(JumpIfFalse), U8(86), - B(Ldar), R(9), + B(Ldar), R(10), B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(19), B(LdaConstant), U8(11), B(Star), R(20), B(CallRuntime), U16(Runtime::kNewTypeError), R(19), U8(2), B(Throw), B(Mov), R(context), R(19), - B(Mov), R(9), R(20), - B(Mov), R(4), R(21), + B(Mov), R(10), R(20), + B(Mov), R(5), R(21), B(InvokeIntrinsic), U8(Runtime::k_Call), R(20), U8(2), B(Star), R(21), - B(Mov), R(2), R(20), - B(Mov), R(11), R(22), + B(Mov), R(3), R(20), + B(Mov), R(0), R(22), B(CallJSRuntime), U8(%async_function_await_caught), R(20), U8(3), - B(SuspendGenerator), R(2), R(0), U8(20), U8(1), - B(ResumeGenerator), R(2), R(0), U8(20), + B(SuspendGenerator), R(3), R(0), U8(20), U8(1), + B(ResumeGenerator), R(3), R(0), U8(20), B(Star), R(20), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), B(Star), R(21), B(LdaZero), B(TestReferenceEqual), R(21), @@ -683,28 +683,28 @@ bytecodes: [ B(SetPendingMessage), B(Ldar), R(19), B(Jump), U8(65), - B(Mov), R(9), R(19), - B(Mov), R(4), R(20), + B(Mov), R(10), R(19), + B(Mov), R(5), R(20), B(InvokeIntrinsic), U8(Runtime::k_Call), R(19), U8(2), B(Star), R(20), - B(Mov), R(2), R(19), - B(Mov), R(11), R(21), + B(Mov), R(3), R(19), + B(Mov), R(0), R(21), B(CallJSRuntime), U8(%async_function_await_uncaught), R(19), U8(3), - B(SuspendGenerator), R(2), R(0), U8(19), U8(2), - B(ResumeGenerator), R(2), R(0), U8(19), + B(SuspendGenerator), R(3), R(0), U8(19), U8(2), + B(ResumeGenerator), R(3), R(0), U8(19), B(Star), R(19), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), B(Star), R(20), B(LdaZero), B(TestReferenceEqual), R(20), B(JumpIfTrue), U8(5), B(Ldar), R(19), B(ReThrow), - B(Mov), R(19), R(10), + B(Mov), R(19), R(11), B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(19), U8(1), B(JumpIfToBooleanFalse), U8(4), B(Jump), U8(7), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1), B(Ldar), R(18), B(SetPendingMessage), B(LdaZero), @@ -713,14 +713,11 @@ bytecodes: [ B(Ldar), R(17), B(ReThrow), B(LdaUndefined), - B(Star), R(17), - B(Mov), R(11), R(16), - B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(16), U8(2), + B(Star), R(13), B(LdaZero), B(Star), R(12), - B(Mov), R(11), R(13), - B(Jump), U8(55), - B(Jump), U8(39), + B(Jump), U8(56), + B(Jump), U8(40), B(Star), R(16), B(CreateCatchContext), R(16), U8(12), B(Star), R(15), @@ -732,32 +729,37 @@ bytecodes: [ B(Star), R(18), B(LdaFalse), B(Star), R(19), - B(Mov), R(11), R(17), + B(Mov), R(0), R(17), B(InvokeIntrinsic), U8(Runtime::k_RejectPromise), R(17), U8(3), B(PopContext), R(16), - B(LdaZero), + B(LdaSmi), I8(1), B(Star), R(12), - B(Mov), R(11), R(13), + B(Mov), R(0), R(13), B(Jump), U8(16), B(LdaSmi), I8(-1), B(Star), R(13), B(Star), R(12), B(Jump), U8(8), B(Star), R(13), - B(LdaSmi), I8(1), + B(LdaSmi), I8(2), B(Star), R(12), B(LdaTheHole), B(SetPendingMessage), B(Star), R(14), B(LdaTrue), B(Star), R(16), - B(Mov), R(11), R(15), + B(Mov), R(0), R(15), B(CallJSRuntime), U8(%async_function_promise_release), R(15), U8(2), B(Ldar), R(14), B(SetPendingMessage), B(Ldar), R(12), - B(SwitchOnSmiNoFeedback), U8(13), U8(2), I8(0), - B(Jump), U8(8), + B(SwitchOnSmiNoFeedback), U8(13), U8(3), I8(0), + B(Jump), U8(21), + B(Mov), R(0), R(15), + B(Mov), R(13), R(16), + B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(15), U8(2), + B(Ldar), R(0), + /* 114 S> */ B(Return), B(Ldar), R(13), /* 114 S> */ B(Return), B(Ldar), R(13), @@ -780,11 +782,12 @@ constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE [""], SCOPE_INFO_TYPE, Smi [6], - Smi [9], + Smi [19], + Smi [22], ] handlers: [ - [26, 485, 493], - [29, 446, 448], + [26, 476, 484], + [29, 436, 438], [35, 229, 237], [38, 192, 194], [297, 346, 348], @@ -800,17 +803,17 @@ snippet: " " frame size: 20 parameter count: 1 -bytecode array length: 403 +bytecode array length: 392 bytecodes: [ /* 16 E> */ B(StackCheck), B(CallJSRuntime), U8(%async_function_promise_create), R(0), U8(0), - B(Star), R(9), + B(Star), R(0), B(Mov), R(context), R(12), B(Mov), R(context), R(13), /* 31 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41), R(14), - B(Mov), R(14), R(1), + B(Mov), R(14), R(2), B(LdaZero), - B(Star), R(5), + B(Star), R(6), B(Mov), R(context), R(16), B(Mov), R(context), R(17), /* 68 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(37), @@ -820,25 +823,25 @@ bytecodes: [ B(CallProperty0), R(19), R(18), U8(4), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), - B(Star), R(2), - /* 68 E> */ B(LdaNamedProperty), R(2), U8(3), U8(6), B(Star), R(3), - /* 59 S> */ B(CallProperty0), R(3), R(2), U8(8), + /* 68 E> */ B(LdaNamedProperty), R(3), U8(3), U8(6), B(Star), R(4), - /* 59 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(4), U8(1), + /* 59 S> */ B(CallProperty0), R(4), R(3), U8(8), + B(Star), R(5), + /* 59 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(5), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(7), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(4), U8(1), - B(LdaNamedProperty), R(4), U8(4), U8(10), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1), + B(LdaNamedProperty), R(5), U8(4), U8(10), B(JumpIfToBooleanTrue), U8(30), - /* 58 E> */ B(LdaNamedProperty), R(4), U8(5), U8(12), - B(Star), R(6), + /* 58 E> */ B(LdaNamedProperty), R(5), U8(5), U8(12), + B(Star), R(7), B(LdaSmi), I8(2), - B(Star), R(5), - B(Ldar), R(6), - B(StaNamedProperty), R(1), U8(6), U8(14), + B(Star), R(6), + B(Ldar), R(7), + B(StaNamedProperty), R(2), U8(6), U8(14), /* 53 E> */ B(StackCheck), - /* 87 S> */ B(LdaNamedProperty), R(1), U8(6), U8(16), + /* 87 S> */ B(LdaNamedProperty), R(2), U8(6), U8(16), B(Star), R(15), B(LdaZero), B(Star), R(14), @@ -852,10 +855,10 @@ bytecodes: [ B(Ldar), R(17), B(PushContext), R(18), B(LdaSmi), I8(2), - B(TestEqualStrict), R(5), U8(18), + B(TestEqualStrict), R(6), U8(18), B(JumpIfFalse), U8(6), B(LdaSmi), I8(1), - B(Star), R(5), + B(Star), R(6), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(19), B(CallRuntime), U16(Runtime::kReThrow), R(19), U8(1), @@ -871,43 +874,43 @@ bytecodes: [ B(SetPendingMessage), B(Star), R(16), B(LdaZero), - B(TestEqualStrict), R(5), U8(19), + B(TestEqualStrict), R(6), U8(19), B(JumpIfTrue), U8(90), - B(LdaNamedProperty), R(2), U8(8), U8(20), - B(Star), R(7), + B(LdaNamedProperty), R(3), U8(8), U8(20), + B(Star), R(8), B(TestUndetectable), B(JumpIfFalse), U8(4), B(Jump), U8(79), B(LdaSmi), I8(1), - B(TestEqualStrict), R(5), U8(22), + B(TestEqualStrict), R(6), U8(22), B(JumpIfFalse), U8(47), - B(Ldar), R(7), + B(Ldar), R(8), B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(17), B(LdaConstant), U8(9), B(Star), R(18), B(CallRuntime), U16(Runtime::kNewTypeError), R(17), U8(2), B(Throw), B(Mov), R(context), R(17), - B(Mov), R(7), R(18), - B(Mov), R(2), R(19), + B(Mov), R(8), R(18), + B(Mov), R(3), R(19), B(InvokeIntrinsic), U8(Runtime::k_Call), R(18), U8(2), B(Jump), U8(6), B(LdaTheHole), B(SetPendingMessage), B(Ldar), R(17), B(Jump), U8(27), - B(Mov), R(7), R(17), - B(Mov), R(2), R(18), + B(Mov), R(8), R(17), + B(Mov), R(3), R(18), B(InvokeIntrinsic), U8(Runtime::k_Call), R(17), U8(2), - B(Star), R(8), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(8), U8(1), + 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(8), U8(1), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1), B(Ldar), R(16), B(SetPendingMessage), B(Ldar), R(14), @@ -916,16 +919,13 @@ bytecodes: [ B(LdaZero), B(Star), R(10), B(Mov), R(15), R(11), - B(Jump), U8(78), + B(Jump), U8(67), B(Ldar), R(15), B(ReThrow), B(LdaUndefined), - B(Star), R(15), - B(Mov), R(9), R(14), - B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(14), U8(2), - B(LdaSmi), I8(1), + B(Star), R(11), + B(LdaZero), B(Star), R(10), - B(Mov), R(9), R(11), B(Jump), U8(56), B(Jump), U8(40), B(Star), R(14), @@ -939,12 +939,12 @@ bytecodes: [ B(Star), R(16), B(LdaFalse), B(Star), R(17), - B(Mov), R(9), R(15), + B(Mov), R(0), R(15), B(InvokeIntrinsic), U8(Runtime::k_RejectPromise), R(15), U8(3), B(PopContext), R(14), B(LdaSmi), I8(1), B(Star), R(10), - B(Mov), R(9), R(11), + B(Mov), R(0), R(11), B(Jump), U8(16), B(LdaSmi), I8(-1), B(Star), R(11), @@ -958,17 +958,17 @@ bytecodes: [ B(Star), R(12), B(LdaFalse), B(Star), R(14), - B(Mov), R(9), R(13), + B(Mov), R(0), R(13), B(CallJSRuntime), U8(%async_function_promise_release), R(13), U8(2), B(Ldar), R(12), B(SetPendingMessage), B(Ldar), R(10), B(SwitchOnSmiNoFeedback), U8(13), U8(3), I8(0), B(Jump), U8(21), - B(Mov), R(9), R(13), + B(Mov), R(0), R(13), B(Mov), R(11), R(14), B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(13), U8(2), - B(Ldar), R(9), + B(Ldar), R(0), /* 96 S> */ B(Return), B(Ldar), R(11), /* 96 S> */ B(Return), @@ -996,8 +996,8 @@ constant pool: [ Smi [22], ] handlers: [ - [10, 343, 351], - [13, 303, 305], + [10, 332, 340], + [13, 292, 294], [27, 150, 158], [30, 113, 115], [219, 229, 231], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOf.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOf.golden index bcb462bc75..b43429e008 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOf.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOf.golden @@ -85,7 +85,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(12), B(LdaConstant), U8(7), B(Star), R(13), @@ -217,7 +217,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(13), B(LdaConstant), U8(7), B(Star), R(14), @@ -361,7 +361,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(12), B(LdaConstant), U8(7), B(Star), R(13), @@ -495,7 +495,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(11), B(LdaConstant), U8(9), B(Star), R(12), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden index d4fe1a091c..9755e0af17 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden @@ -89,7 +89,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(14), B(LdaConstant), U8(6), B(Star), R(15), @@ -256,7 +256,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(14), B(LdaConstant), U8(11), B(Star), R(15), @@ -401,7 +401,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(12), B(LdaConstant), U8(8), B(Star), R(13), @@ -550,7 +550,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(17), B(LdaConstant), U8(8), B(Star), R(18), @@ -697,7 +697,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(15), B(LdaConstant), U8(9), B(Star), R(16), @@ -859,7 +859,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(14), B(LdaConstant), U8(12), B(Star), R(15), @@ -926,15 +926,15 @@ snippet: " " frame size: 23 parameter count: 2 -bytecode array length: 363 +bytecode array length: 367 bytecodes: [ /* 16 E> */ B(StackCheck), B(CallJSRuntime), U8(%async_function_promise_create), R(0), U8(0), - B(Star), R(12), + B(Star), R(0), B(Mov), R(context), R(15), B(Mov), R(context), R(16), B(LdaZero), - B(Star), R(8), + B(Star), R(9), B(Mov), R(context), R(19), B(Mov), R(context), R(20), /* 40 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0), @@ -943,27 +943,27 @@ bytecodes: [ B(Mov), R(arg0), R(21), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), - B(Star), R(5), - /* 40 E> */ B(LdaNamedProperty), R(5), U8(1), U8(4), B(Star), R(6), - /* 35 S> */ B(CallProperty0), R(6), R(5), U8(6), + /* 40 E> */ B(LdaNamedProperty), R(6), U8(1), U8(4), B(Star), R(7), - /* 35 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(7), U8(1), + /* 35 S> */ B(CallProperty0), R(7), R(6), U8(6), + B(Star), R(8), + /* 35 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(8), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(7), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(7), U8(1), - B(LdaNamedProperty), R(7), U8(2), U8(8), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(8), U8(1), + B(LdaNamedProperty), R(8), U8(2), U8(8), B(JumpIfToBooleanTrue), U8(28), - B(LdaNamedProperty), R(7), U8(3), U8(10), - B(Star), R(9), + B(LdaNamedProperty), R(8), U8(3), U8(10), + B(Star), R(10), B(LdaSmi), I8(2), - B(Star), R(8), - B(Mov), R(9), R(4), + B(Star), R(9), + B(Mov), R(10), R(5), /* 26 E> */ B(StackCheck), - B(Mov), R(4), R(1), - /* 55 S> */ B(Mov), R(1), R(0), + B(Mov), R(5), R(2), + /* 55 S> */ B(Mov), R(2), R(1), B(LdaZero), - B(Star), R(8), + B(Star), R(9), B(JumpLoop), U8(47), I8(0), B(Jump), U8(37), B(Star), R(21), @@ -974,10 +974,10 @@ bytecodes: [ B(Ldar), R(20), B(PushContext), R(21), B(LdaSmi), I8(2), - B(TestEqualStrict), R(8), U8(12), + B(TestEqualStrict), R(9), U8(12), B(JumpIfFalse), U8(6), B(LdaSmi), I8(1), - B(Star), R(8), + B(Star), R(9), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(22), B(CallRuntime), U16(Runtime::kReThrow), R(22), U8(1), @@ -993,43 +993,43 @@ bytecodes: [ B(SetPendingMessage), B(Star), R(19), B(LdaZero), - B(TestEqualStrict), R(8), U8(13), + B(TestEqualStrict), R(9), U8(13), B(JumpIfTrue), U8(90), - B(LdaNamedProperty), R(5), U8(5), U8(14), - B(Star), R(10), + B(LdaNamedProperty), R(6), U8(5), U8(14), + B(Star), R(11), B(TestUndetectable), B(JumpIfFalse), U8(4), B(Jump), U8(79), B(LdaSmi), I8(1), - B(TestEqualStrict), R(8), U8(16), + B(TestEqualStrict), R(9), U8(16), B(JumpIfFalse), U8(47), - B(Ldar), R(10), + B(Ldar), R(11), B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(20), B(LdaConstant), U8(6), B(Star), R(21), B(CallRuntime), U16(Runtime::kNewTypeError), R(20), U8(2), B(Throw), B(Mov), R(context), R(20), - B(Mov), R(10), R(21), - B(Mov), R(5), R(22), + B(Mov), R(11), R(21), + B(Mov), R(6), R(22), B(InvokeIntrinsic), U8(Runtime::k_Call), R(21), U8(2), B(Jump), U8(6), B(LdaTheHole), B(SetPendingMessage), B(Ldar), R(20), B(Jump), U8(27), - B(Mov), R(10), R(20), - B(Mov), R(5), R(21), + B(Mov), R(11), R(20), + B(Mov), R(6), R(21), B(InvokeIntrinsic), U8(Runtime::k_Call), R(20), U8(2), - B(Star), R(11), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1), + B(Star), R(12), + B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(12), U8(1), B(JumpIfToBooleanFalse), U8(4), B(Jump), U8(7), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1), B(Ldar), R(19), B(SetPendingMessage), B(LdaZero), @@ -1038,14 +1038,11 @@ bytecodes: [ B(Ldar), R(18), B(ReThrow), B(LdaUndefined), - B(Star), R(18), - B(Mov), R(12), R(17), - B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(17), U8(2), + B(Star), R(14), B(LdaZero), B(Star), R(13), - B(Mov), R(12), R(14), - B(Jump), U8(55), - B(Jump), U8(39), + B(Jump), U8(56), + B(Jump), U8(40), B(Star), R(17), B(CreateCatchContext), R(17), U8(7), B(Star), R(16), @@ -1057,32 +1054,37 @@ bytecodes: [ B(Star), R(19), B(LdaFalse), B(Star), R(20), - B(Mov), R(12), R(18), + B(Mov), R(0), R(18), B(InvokeIntrinsic), U8(Runtime::k_RejectPromise), R(18), U8(3), B(PopContext), R(17), - B(LdaZero), + B(LdaSmi), I8(1), B(Star), R(13), - B(Mov), R(12), R(14), + B(Mov), R(0), R(14), B(Jump), U8(16), B(LdaSmi), I8(-1), B(Star), R(14), B(Star), R(13), B(Jump), U8(8), B(Star), R(14), - B(LdaSmi), I8(1), + B(LdaSmi), I8(2), B(Star), R(13), B(LdaTheHole), B(SetPendingMessage), B(Star), R(15), B(LdaFalse), B(Star), R(17), - B(Mov), R(12), R(16), + B(Mov), R(0), R(16), B(CallJSRuntime), U8(%async_function_promise_release), R(16), U8(2), B(Ldar), R(15), B(SetPendingMessage), B(Ldar), R(13), - B(SwitchOnSmiNoFeedback), U8(8), U8(2), I8(0), - B(Jump), U8(8), + B(SwitchOnSmiNoFeedback), U8(8), U8(3), I8(0), + B(Jump), U8(21), + B(Mov), R(0), R(16), + B(Mov), R(14), R(17), + B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(16), U8(2), + B(Ldar), R(0), + /* 60 S> */ B(Return), B(Ldar), R(14), /* 60 S> */ B(Return), B(Ldar), R(14), @@ -1100,11 +1102,12 @@ constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE [""], SCOPE_INFO_TYPE, Smi [6], - Smi [9], + Smi [19], + Smi [22], ] handlers: [ - [10, 316, 324], - [13, 277, 279], + [10, 307, 315], + [13, 267, 269], [19, 137, 145], [22, 100, 102], [205, 215, 217], @@ -1119,20 +1122,20 @@ snippet: " " frame size: 23 parameter count: 2 -bytecode array length: 414 +bytecode array length: 418 bytecodes: [ - B(SwitchOnGeneratorState), R(2), U8(0), U8(1), + B(SwitchOnGeneratorState), R(3), U8(0), U8(1), 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), + B(Star), R(3), /* 16 E> */ B(StackCheck), B(CallJSRuntime), U8(%async_function_promise_create), R(0), U8(0), - B(Star), R(11), + B(Star), R(0), B(Mov), R(context), R(14), B(Mov), R(context), R(15), B(LdaZero), - B(Star), R(7), + B(Star), R(8), B(Mov), R(context), R(18), B(Mov), R(context), R(19), /* 40 S> */ B(LdaNamedProperty), R(arg0), U8(1), U8(0), @@ -1141,32 +1144,32 @@ bytecodes: [ B(Mov), R(arg0), R(20), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), - B(Star), R(4), - /* 40 E> */ B(LdaNamedProperty), R(4), U8(2), U8(4), B(Star), R(5), - /* 35 S> */ B(CallProperty0), R(5), R(4), U8(6), + /* 40 E> */ B(LdaNamedProperty), R(5), U8(2), U8(4), B(Star), R(6), - /* 35 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(6), U8(1), + /* 35 S> */ B(CallProperty0), R(6), R(5), U8(6), + B(Star), R(7), + /* 35 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(7), U8(1), B(ToBooleanLogicalNot), B(JumpIfFalse), U8(7), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(6), U8(1), - B(LdaNamedProperty), R(6), U8(3), U8(8), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(7), U8(1), + B(LdaNamedProperty), R(7), U8(3), U8(8), B(JumpIfToBooleanTrue), U8(63), - B(LdaNamedProperty), R(6), U8(4), U8(10), - B(Star), R(8), + B(LdaNamedProperty), R(7), U8(4), U8(10), + B(Star), R(9), B(LdaSmi), I8(2), - B(Star), R(7), - B(Mov), R(8), R(3), + B(Star), R(8), + B(Mov), R(9), R(4), /* 26 E> */ B(StackCheck), - B(Mov), R(3), R(0), - /* 45 S> */ B(Mov), R(2), R(20), - B(Mov), R(0), R(21), - B(Mov), R(11), R(22), + B(Mov), R(4), R(1), + /* 45 S> */ B(Mov), R(3), R(20), + B(Mov), R(1), R(21), + B(Mov), R(0), R(22), B(CallJSRuntime), U8(%async_function_await_uncaught), R(20), U8(3), - /* 45 E> */ B(SuspendGenerator), R(2), R(0), U8(20), U8(0), - B(ResumeGenerator), R(2), R(0), U8(20), + /* 45 E> */ B(SuspendGenerator), R(3), R(0), U8(20), U8(0), + B(ResumeGenerator), R(3), R(0), U8(20), B(Star), R(20), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(3), U8(1), B(Star), R(21), B(LdaZero), B(TestReferenceEqual), R(21), @@ -1174,7 +1177,7 @@ bytecodes: [ B(Ldar), R(20), B(ReThrow), B(LdaZero), - B(Star), R(7), + B(Star), R(8), B(JumpLoop), U8(82), I8(0), B(Jump), U8(37), B(Star), R(20), @@ -1185,10 +1188,10 @@ bytecodes: [ B(Ldar), R(19), B(PushContext), R(20), B(LdaSmi), I8(2), - B(TestEqualStrict), R(7), U8(12), + B(TestEqualStrict), R(8), U8(12), B(JumpIfFalse), U8(6), B(LdaSmi), I8(1), - B(Star), R(7), + B(Star), R(8), B(LdaImmutableCurrentContextSlot), U8(4), B(Star), R(21), B(CallRuntime), U16(Runtime::kReThrow), R(21), U8(1), @@ -1204,43 +1207,43 @@ bytecodes: [ B(SetPendingMessage), B(Star), R(18), B(LdaZero), - B(TestEqualStrict), R(7), U8(13), + B(TestEqualStrict), R(8), U8(13), B(JumpIfTrue), U8(90), - B(LdaNamedProperty), R(4), U8(6), U8(14), - B(Star), R(9), + B(LdaNamedProperty), R(5), U8(6), U8(14), + B(Star), R(10), B(TestUndetectable), B(JumpIfFalse), U8(4), B(Jump), U8(79), B(LdaSmi), I8(1), - B(TestEqualStrict), R(7), U8(16), + B(TestEqualStrict), R(8), U8(16), B(JumpIfFalse), U8(47), - B(Ldar), R(9), + B(Ldar), R(10), B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(19), B(LdaConstant), U8(7), B(Star), R(20), B(CallRuntime), U16(Runtime::kNewTypeError), R(19), U8(2), B(Throw), B(Mov), R(context), R(19), - B(Mov), R(9), R(20), - B(Mov), R(4), R(21), + B(Mov), R(10), R(20), + B(Mov), R(5), R(21), B(InvokeIntrinsic), U8(Runtime::k_Call), R(20), U8(2), B(Jump), U8(6), B(LdaTheHole), B(SetPendingMessage), B(Ldar), R(19), B(Jump), U8(27), - B(Mov), R(9), R(19), - B(Mov), R(4), R(20), + B(Mov), R(10), R(19), + B(Mov), R(5), R(20), B(InvokeIntrinsic), U8(Runtime::k_Call), R(19), U8(2), - B(Star), R(10), - B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(10), U8(1), + B(Star), R(11), + B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(11), U8(1), B(JumpIfToBooleanFalse), U8(4), B(Jump), U8(7), - B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1), + B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1), B(Ldar), R(18), B(SetPendingMessage), B(LdaZero), @@ -1249,14 +1252,11 @@ bytecodes: [ B(Ldar), R(17), B(ReThrow), B(LdaUndefined), - B(Star), R(17), - B(Mov), R(11), R(16), - B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(16), U8(2), + B(Star), R(13), B(LdaZero), B(Star), R(12), - B(Mov), R(11), R(13), - B(Jump), U8(55), - B(Jump), U8(39), + B(Jump), U8(56), + B(Jump), U8(40), B(Star), R(16), B(CreateCatchContext), R(16), U8(8), B(Star), R(15), @@ -1268,32 +1268,37 @@ bytecodes: [ B(Star), R(18), B(LdaFalse), B(Star), R(19), - B(Mov), R(11), R(17), + B(Mov), R(0), R(17), B(InvokeIntrinsic), U8(Runtime::k_RejectPromise), R(17), U8(3), B(PopContext), R(16), - B(LdaZero), + B(LdaSmi), I8(1), B(Star), R(12), - B(Mov), R(11), R(13), + B(Mov), R(0), R(13), B(Jump), U8(16), B(LdaSmi), I8(-1), B(Star), R(13), B(Star), R(12), B(Jump), U8(8), B(Star), R(13), - B(LdaSmi), I8(1), + B(LdaSmi), I8(2), B(Star), R(12), B(LdaTheHole), B(SetPendingMessage), B(Star), R(14), B(LdaTrue), B(Star), R(16), - B(Mov), R(11), R(15), + B(Mov), R(0), R(15), B(CallJSRuntime), U8(%async_function_promise_release), R(15), U8(2), B(Ldar), R(14), B(SetPendingMessage), B(Ldar), R(12), - B(SwitchOnSmiNoFeedback), U8(9), U8(2), I8(0), - B(Jump), U8(8), + B(SwitchOnSmiNoFeedback), U8(9), U8(3), I8(0), + B(Jump), U8(21), + B(Mov), R(0), R(15), + B(Mov), R(13), R(16), + B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(15), U8(2), + B(Ldar), R(0), + /* 54 S> */ B(Return), B(Ldar), R(13), /* 54 S> */ B(Return), B(Ldar), R(13), @@ -1312,11 +1317,12 @@ constant pool: [ ONE_BYTE_INTERNALIZED_STRING_TYPE [""], SCOPE_INFO_TYPE, Smi [6], - Smi [9], + Smi [19], + Smi [22], ] handlers: [ - [26, 367, 375], - [29, 328, 330], + [26, 358, 366], + [29, 318, 320], [35, 188, 196], [38, 151, 153], [256, 266, 268], diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/Generators.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/Generators.golden index 641a2b2eb0..df054bd5b2 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/Generators.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/Generators.golden @@ -203,7 +203,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(153), + B(Wide), B(LdaSmi), I16(154), B(Star), R(14), B(LdaConstant), U8(13), B(Star), R(15), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/IIFEWithOneshotOpt.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/IIFEWithOneshotOpt.golden index f2653a6ed1..a9f03b2c28 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/IIFEWithOneshotOpt.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/IIFEWithOneshotOpt.golden @@ -19,9 +19,9 @@ snippet: " })(); " -frame size: 6 +frame size: 3 parameter count: 1 -bytecode array length: 82 +bytecode array length: 40 bytecodes: [ B(CreateMappedArguments), B(Star), R(0), @@ -31,32 +31,14 @@ bytecodes: [ /* 45 S> */ B(LdaGlobal), U8(0), U8(2), B(Star), R(1), B(LdaSmi), I8(2), - B(Star), R(4), - B(LdaConstant), U8(1), - B(Star), R(3), - B(LdaZero), - B(Star), R(5), - B(Mov), R(1), R(2), - /* 50 E> */ B(CallRuntime), U16(Runtime::kSetProperty), R(2), U8(4), + /* 50 E> */ B(StaNamedPropertyNoFeedback), R(1), U8(1), U8(0), /* 63 S> */ B(LdaGlobal), U8(0), U8(2), B(Star), R(1), /* 70 E> */ B(LdaGlobal), U8(0), U8(2), B(Star), R(2), - B(LdaConstant), U8(1), - B(Star), R(4), - B(Mov), R(2), R(3), - /* 72 E> */ B(InvokeIntrinsic), U8(Runtime::k_GetProperty), R(3), U8(2), - B(Star), R(4), - B(LdaConstant), U8(2), - B(Star), R(3), - B(LdaZero), - B(Star), R(5), - B(Mov), R(1), R(2), - /* 68 E> */ B(CallRuntime), U16(Runtime::kSetProperty), R(2), U8(4), - /* 84 S> */ B(LdaConstant), U8(3), - B(Star), R(3), - B(Mov), R(0), R(2), - /* 101 E> */ B(InvokeIntrinsic), U8(Runtime::k_GetProperty), R(2), U8(2), + /* 72 E> */ B(LdaNamedPropertyNoFeedback), R(2), U8(1), + /* 68 E> */ B(StaNamedPropertyNoFeedback), R(1), U8(2), U8(0), + /* 101 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(3), /* 108 S> */ B(Return), ] constant pool: [ @@ -81,9 +63,9 @@ snippet: " })(); " -frame size: 4 +frame size: 3 parameter count: 1 -bytecode array length: 77 +bytecode array length: 69 bytecodes: [ B(CreateMappedArguments), B(Star), R(0), @@ -112,10 +94,7 @@ bytecodes: [ B(Inc), U8(15), /* 66 E> */ B(StaGlobal), U8(1), U8(2), B(JumpLoop), U8(50), I8(0), - /* 132 S> */ B(LdaConstant), U8(4), - B(Star), R(3), - B(Mov), R(0), R(2), - /* 149 E> */ B(InvokeIntrinsic), U8(Runtime::k_GetProperty), R(2), U8(2), + /* 149 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(4), /* 156 S> */ B(Return), ] constant pool: [ @@ -143,9 +122,9 @@ snippet: " })(); " -frame size: 4 +frame size: 3 parameter count: 1 -bytecode array length: 78 +bytecode array length: 70 bytecodes: [ B(CreateMappedArguments), B(Star), R(0), @@ -174,10 +153,7 @@ bytecodes: [ B(Dec), U8(15), /* 129 E> */ B(StaGlobal), U8(1), U8(2), B(JumpLoop), U8(50), I8(0), - /* 151 S> */ B(LdaConstant), U8(4), - B(Star), R(3), - B(Mov), R(0), R(2), - /* 168 E> */ B(InvokeIntrinsic), U8(Runtime::k_GetProperty), R(2), U8(2), + /* 168 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(4), /* 175 S> */ B(Return), ] constant pool: [ @@ -205,9 +181,9 @@ snippet: " })(); " -frame size: 4 +frame size: 3 parameter count: 1 -bytecode array length: 78 +bytecode array length: 70 bytecodes: [ B(CreateMappedArguments), B(Star), R(0), @@ -236,10 +212,7 @@ bytecodes: [ /* 141 E> */ B(TestGreaterThan), R(1), U8(15), B(JumpIfFalse), U8(5), B(JumpLoop), U8(50), I8(0), - /* 154 S> */ B(LdaConstant), U8(4), - B(Star), R(3), - B(Mov), R(0), R(2), - /* 171 E> */ B(InvokeIntrinsic), U8(Runtime::k_GetProperty), R(2), U8(2), + /* 171 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(4), /* 178 S> */ B(Return), ] constant pool: [ @@ -269,9 +242,9 @@ snippet: " })(); " -frame size: 6 +frame size: 4 parameter count: 1 -bytecode array length: 121 +bytecode array length: 71 bytecodes: [ B(CreateMappedArguments), B(Star), R(0), @@ -284,44 +257,23 @@ bytecodes: [ /* 31 E> */ B(StaGlobal), U8(1), U8(0), /* 95 S> */ B(LdaGlobal), U8(1), U8(2), B(Star), R(1), - B(LdaConstant), U8(2), - B(Star), R(3), - B(Mov), R(1), R(2), - /* 101 E> */ B(InvokeIntrinsic), U8(Runtime::k_GetProperty), R(2), U8(2), + /* 101 E> */ B(LdaNamedPropertyNoFeedback), R(1), U8(2), B(Star), R(1), B(LdaSmi), I8(3), /* 104 E> */ B(TestLessThan), R(1), U8(4), - B(JumpIfFalse), U8(28), + B(JumpIfFalse), U8(15), /* 121 S> */ B(LdaGlobal), U8(1), U8(2), B(Star), R(1), B(LdaSmi), I8(3), - B(Star), R(4), - B(LdaConstant), U8(2), - B(Star), R(3), - B(LdaZero), - B(Star), R(5), - B(Mov), R(1), R(2), - /* 126 E> */ B(CallRuntime), U16(Runtime::kSetProperty), R(2), U8(4), - B(Jump), U8(40), + /* 126 E> */ B(StaNamedPropertyNoFeedback), R(1), U8(2), U8(0), + B(Jump), U8(19), /* 158 S> */ B(LdaGlobal), U8(1), U8(2), B(Star), R(1), /* 165 E> */ B(LdaGlobal), U8(1), U8(2), B(Star), R(2), - B(LdaConstant), U8(3), - B(Star), R(4), - B(Mov), R(2), R(3), - /* 167 E> */ B(InvokeIntrinsic), U8(Runtime::k_GetProperty), R(3), U8(2), - B(Star), R(4), - B(LdaConstant), U8(2), - B(Star), R(3), - B(LdaZero), - B(Star), R(5), - B(Mov), R(1), R(2), - /* 163 E> */ B(CallRuntime), U16(Runtime::kSetProperty), R(2), U8(4), - /* 189 S> */ B(LdaConstant), U8(4), - B(Star), R(3), - B(Mov), R(0), R(2), - /* 206 E> */ B(InvokeIntrinsic), U8(Runtime::k_GetProperty), R(2), U8(2), + /* 167 E> */ B(LdaNamedPropertyNoFeedback), R(2), U8(3), + /* 163 E> */ B(StaNamedPropertyNoFeedback), R(1), U8(2), U8(0), + /* 206 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(4), /* 213 S> */ B(Return), ] constant pool: [ @@ -343,23 +295,20 @@ snippet: " })(); " -frame size: 4 +frame size: 5 parameter count: 1 -bytecode array length: 32 +bytecode array length: 24 bytecodes: [ B(CreateMappedArguments), B(Star), R(0), /* 16 E> */ B(StackCheck), /* 29 S> */ B(LdaConstant), U8(0), - B(Star), R(1), + B(Star), R(3), B(LdaSmi), I8(4), - B(Star), R(2), - B(CallRuntime), U16(Runtime::kCreateArrayLiteralWithoutAllocationSite), R(1), U8(2), + B(Star), R(4), + B(CallRuntime), U16(Runtime::kCreateArrayLiteralWithoutAllocationSite), R(3), U8(2), /* 31 E> */ B(StaGlobal), U8(1), U8(0), - /* 60 S> */ B(LdaConstant), U8(2), - B(Star), R(3), - B(Mov), R(0), R(2), - /* 77 E> */ B(InvokeIntrinsic), U8(Runtime::k_GetProperty), R(2), U8(2), + /* 77 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(2), /* 84 S> */ B(Return), ] constant pool: [ @@ -379,23 +328,20 @@ snippet: " })(); " -frame size: 4 +frame size: 5 parameter count: 1 -bytecode array length: 32 +bytecode array length: 24 bytecodes: [ B(CreateMappedArguments), B(Star), R(0), /* 16 E> */ B(StackCheck), /* 29 S> */ B(LdaConstant), U8(0), - B(Star), R(1), + B(Star), R(3), B(LdaSmi), I8(37), - B(Star), R(2), - B(CallRuntime), U16(Runtime::kCreateArrayLiteralWithoutAllocationSite), R(1), U8(2), + B(Star), R(4), + B(CallRuntime), U16(Runtime::kCreateArrayLiteralWithoutAllocationSite), R(3), U8(2), /* 31 E> */ B(StaGlobal), U8(1), U8(0), - /* 45 S> */ B(LdaConstant), U8(2), - B(Star), R(3), - B(Mov), R(0), R(2), - /* 62 E> */ B(InvokeIntrinsic), U8(Runtime::k_GetProperty), R(2), U8(2), + /* 62 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(2), /* 69 S> */ B(Return), ] constant pool: [ @@ -406,3 +352,300 @@ constant pool: [ handlers: [ ] +--- +snippet: " + + this.f0 = function() {}; + this.f1 = function(a) {}; + this.f2 = function(a, b) {}; + this.f3 = function(a, b, c) {}; + this.f4 = function(a, b, c, d) {}; + this.f5 = function(a, b, c, d, e) {}; + (function() { + this.f0(); + this.f1(1); + this.f2(1, 2); + this.f3(1, 2, 3); + this.f4(1, 2, 3, 4); + this.f5(1, 2, 3, 4, 5); + return arguments.callee; + })(); + +" +frame size: 8 +parameter count: 1 +bytecode array length: 137 +bytecodes: [ + B(CreateMappedArguments), + B(Star), R(0), + /* 237 E> */ B(StackCheck), + /* 255 S> */ B(LdaNamedPropertyNoFeedback), R(this), U8(0), + B(Star), R(1), + /* 255 E> */ B(CallNoFeedback), R(1), R(this), U8(1), + /* 274 S> */ B(LdaNamedPropertyNoFeedback), R(this), U8(1), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(3), + B(Mov), R(this), R(2), + /* 274 E> */ B(CallNoFeedback), R(1), R(2), U8(2), + /* 294 S> */ B(LdaNamedPropertyNoFeedback), R(this), U8(2), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(3), + B(LdaSmi), I8(2), + B(Star), R(4), + B(Mov), R(this), R(2), + /* 294 E> */ B(CallNoFeedback), R(1), R(2), U8(3), + /* 317 S> */ B(LdaNamedPropertyNoFeedback), R(this), U8(3), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(3), + B(LdaSmi), I8(2), + B(Star), R(4), + B(LdaSmi), I8(3), + B(Star), R(5), + B(Mov), R(this), R(2), + /* 317 E> */ B(CallNoFeedback), R(1), R(2), U8(4), + /* 343 S> */ B(LdaNamedPropertyNoFeedback), R(this), U8(4), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(3), + B(LdaSmi), I8(2), + B(Star), R(4), + B(LdaSmi), I8(3), + B(Star), R(5), + B(LdaSmi), I8(4), + B(Star), R(6), + B(Mov), R(this), R(2), + /* 343 E> */ B(CallNoFeedback), R(1), R(2), U8(5), + /* 372 S> */ B(LdaNamedPropertyNoFeedback), R(this), U8(5), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(3), + B(LdaSmi), I8(2), + B(Star), R(4), + B(LdaSmi), I8(3), + B(Star), R(5), + B(LdaSmi), I8(4), + B(Star), R(6), + B(LdaSmi), I8(5), + B(Star), R(7), + B(Mov), R(this), R(2), + /* 372 E> */ B(CallNoFeedback), R(1), R(2), U8(6), + /* 416 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(6), + /* 423 S> */ B(Return), +] +constant pool: [ + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f0"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f1"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f2"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f3"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f4"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f5"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"], +] +handlers: [ +] + +--- +snippet: " + + function f0() {} + function f1(a) {} + function f2(a, b) {} + function f3(a, b, c) {} + function f4(a, b, c, d) {} + function f5(a, b, c, d, e) {} + (function() { + f0(); + f1(1); + f2(1, 2); + f3(1, 2, 3); + f4(1, 2, 3, 4); + f5(1, 2, 3, 4, 5); + return arguments.callee; + })(); + +" +frame size: 8 +parameter count: 1 +bytecode array length: 140 +bytecodes: [ + B(CreateMappedArguments), + B(Star), R(0), + /* 189 E> */ B(StackCheck), + /* 202 S> */ B(LdaUndefined), + B(Star), R(2), + B(LdaGlobal), U8(0), U8(0), + B(Star), R(1), + /* 202 E> */ B(CallNoFeedback), R(1), R(2), U8(1), + /* 216 S> */ B(LdaUndefined), + B(Star), R(2), + B(LdaGlobal), U8(1), U8(2), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(3), + /* 216 E> */ B(CallNoFeedback), R(1), R(2), U8(2), + /* 231 S> */ B(LdaUndefined), + B(Star), R(2), + B(LdaGlobal), U8(2), U8(4), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(3), + B(LdaSmi), I8(2), + B(Star), R(4), + /* 231 E> */ B(CallNoFeedback), R(1), R(2), U8(3), + /* 249 S> */ B(LdaUndefined), + B(Star), R(2), + B(LdaGlobal), U8(3), U8(6), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(3), + B(LdaSmi), I8(2), + B(Star), R(4), + B(LdaSmi), I8(3), + B(Star), R(5), + /* 249 E> */ B(CallNoFeedback), R(1), R(2), U8(4), + /* 270 S> */ B(LdaUndefined), + B(Star), R(2), + B(LdaGlobal), U8(4), U8(8), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(3), + B(LdaSmi), I8(2), + B(Star), R(4), + B(LdaSmi), I8(3), + B(Star), R(5), + B(LdaSmi), I8(4), + B(Star), R(6), + /* 270 E> */ B(CallNoFeedback), R(1), R(2), U8(5), + /* 294 S> */ B(LdaUndefined), + B(Star), R(2), + B(LdaGlobal), U8(5), U8(10), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(3), + B(LdaSmi), I8(2), + B(Star), R(4), + B(LdaSmi), I8(3), + B(Star), R(5), + B(LdaSmi), I8(4), + B(Star), R(6), + B(LdaSmi), I8(5), + B(Star), R(7), + /* 294 E> */ B(CallNoFeedback), R(1), R(2), U8(6), + /* 338 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(6), + /* 345 S> */ B(Return), +] +constant pool: [ + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f0"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f1"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f2"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f3"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f4"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f5"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"], +] +handlers: [ +] + +--- +snippet: " + + var t = 0; + function f2() {}; + if (t == 0) { + (function(){ + l = {}; + l.a = 3; + l.b = 4; + f2(); + return arguments.callee; + })(); + } + +" +frame size: 3 +parameter count: 1 +bytecode array length: 46 +bytecodes: [ + B(CreateMappedArguments), + B(Star), R(0), + /* 79 E> */ B(StackCheck), + /* 93 S> */ B(CreateEmptyObjectLiteral), + /* 95 E> */ B(StaGlobal), U8(0), U8(0), + /* 111 S> */ B(LdaGlobal), U8(0), U8(2), + B(Star), R(1), + B(LdaSmi), I8(3), + /* 115 E> */ B(StaNamedPropertyNoFeedback), R(1), U8(1), U8(0), + /* 130 S> */ B(LdaGlobal), U8(0), U8(2), + B(Star), R(1), + B(LdaSmi), I8(4), + /* 134 E> */ B(StaNamedPropertyNoFeedback), R(1), U8(2), U8(0), + /* 149 S> */ B(LdaUndefined), + B(Star), R(2), + B(LdaGlobal), U8(3), U8(4), + B(Star), R(1), + /* 149 E> */ B(CallNoFeedback), R(1), R(2), U8(1), + /* 182 S> */ B(LdaNamedPropertyNoFeedback), R(0), U8(4), + /* 189 S> */ B(Return), +] +constant pool: [ + ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f2"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"], +] +handlers: [ +] + +--- +snippet: " + + function f2() {}; + function f() { + return (function(){ + l = {}; + l.a = 3; + l.b = 4; + f2(); + return arguments.callee; + })(); + } + f(); + +" +frame size: 2 +parameter count: 1 +bytecode array length: 43 +bytecodes: [ + B(CreateMappedArguments), + B(Star), R(0), + /* 76 E> */ B(StackCheck), + /* 92 S> */ B(CreateEmptyObjectLiteral), + /* 94 E> */ B(StaGlobal), U8(0), U8(0), + /* 112 S> */ B(LdaGlobal), U8(0), U8(2), + B(Star), R(1), + B(LdaSmi), I8(3), + /* 116 E> */ B(StaNamedProperty), R(1), U8(1), U8(4), + /* 133 S> */ B(LdaGlobal), U8(0), U8(2), + B(Star), R(1), + B(LdaSmi), I8(4), + /* 137 E> */ B(StaNamedProperty), R(1), U8(2), U8(6), + /* 154 S> */ B(LdaGlobal), U8(3), U8(8), + B(Star), R(1), + /* 154 E> */ B(CallUndefinedReceiver0), R(1), U8(10), + /* 189 S> */ B(LdaNamedProperty), R(0), U8(4), U8(12), + /* 196 S> */ B(Return), +] +constant pool: [ + ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f2"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"], +] +handlers: [ +] + diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/IIFEWithoutOneshotOpt.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/IIFEWithoutOneshotOpt.golden index f116bdc68f..efe9078eea 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/IIFEWithoutOneshotOpt.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/IIFEWithoutOneshotOpt.golden @@ -107,3 +107,186 @@ constant pool: [ handlers: [ ] +--- +snippet: " + + this.f0 = function() {}; + this.f1 = function(a) {}; + this.f2 = function(a, b) {}; + this.f3 = function(a, b, c) {}; + this.f4 = function(a, b, c, d) {}; + this.f5 = function(a, b, c, d, e) {}; + (function() { + this.f0(); + this.f1(1); + this.f2(1, 2); + this.f3(1, 2, 3); + this.f4(1, 2, 3, 4); + this.f5(1, 2, 3, 4, 5); + return arguments.callee; + })(); + +" +frame size: 8 +parameter count: 1 +bytecode array length: 144 +bytecodes: [ + B(CreateMappedArguments), + B(Star), R(0), + /* 237 E> */ B(StackCheck), + /* 255 S> */ B(LdaNamedProperty), R(this), U8(0), U8(0), + B(Star), R(1), + /* 255 E> */ B(CallProperty0), R(1), R(this), U8(2), + /* 274 S> */ B(LdaNamedProperty), R(this), U8(1), U8(4), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(3), + /* 274 E> */ B(CallProperty1), R(1), R(this), R(3), U8(6), + /* 294 S> */ B(LdaNamedProperty), R(this), U8(2), U8(8), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(3), + B(LdaSmi), I8(2), + B(Star), R(4), + /* 294 E> */ B(CallProperty2), R(1), R(this), R(3), R(4), U8(10), + /* 317 S> */ B(LdaNamedProperty), R(this), U8(3), U8(12), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(3), + B(LdaSmi), I8(2), + B(Star), R(4), + B(LdaSmi), I8(3), + B(Star), R(5), + B(Mov), R(this), R(2), + /* 317 E> */ B(CallProperty), R(1), R(2), U8(4), U8(14), + /* 343 S> */ B(LdaNamedProperty), R(this), U8(4), U8(16), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(3), + B(LdaSmi), I8(2), + B(Star), R(4), + B(LdaSmi), I8(3), + B(Star), R(5), + B(LdaSmi), I8(4), + B(Star), R(6), + B(Mov), R(this), R(2), + /* 343 E> */ B(CallProperty), R(1), R(2), U8(5), U8(18), + /* 372 S> */ B(LdaNamedProperty), R(this), U8(5), U8(20), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(3), + B(LdaSmi), I8(2), + B(Star), R(4), + B(LdaSmi), I8(3), + B(Star), R(5), + B(LdaSmi), I8(4), + B(Star), R(6), + B(LdaSmi), I8(5), + B(Star), R(7), + B(Mov), R(this), R(2), + /* 372 E> */ B(CallProperty), R(1), R(2), U8(6), U8(22), + /* 416 S> */ B(LdaNamedProperty), R(0), U8(6), U8(24), + /* 423 S> */ B(Return), +] +constant pool: [ + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f0"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f1"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f2"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f3"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f4"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f5"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"], +] +handlers: [ +] + +--- +snippet: " + + function f0() {} + function f1(a) {} + function f2(a, b) {} + function f3(a, b, c) {} + function f4(a, b, c, d) {} + function f5(a, b, c, d, e) {} + (function() { + f0(); + f1(1); + f2(1, 2); + f3(1, 2, 3); + f4(1, 2, 3, 4); + f5(1, 2, 3, 4, 5); + return arguments.callee; + })(); + +" +frame size: 7 +parameter count: 1 +bytecode array length: 126 +bytecodes: [ + B(CreateMappedArguments), + B(Star), R(0), + /* 189 E> */ B(StackCheck), + /* 202 S> */ B(LdaGlobal), U8(0), U8(0), + B(Star), R(1), + /* 202 E> */ B(CallUndefinedReceiver0), R(1), U8(2), + /* 216 S> */ B(LdaGlobal), U8(1), U8(4), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(2), + /* 216 E> */ B(CallUndefinedReceiver1), R(1), R(2), U8(6), + /* 231 S> */ B(LdaGlobal), U8(2), U8(8), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(2), + B(LdaSmi), I8(2), + B(Star), R(3), + /* 231 E> */ B(CallUndefinedReceiver2), R(1), R(2), R(3), U8(10), + /* 249 S> */ B(LdaGlobal), U8(3), U8(12), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(2), + B(LdaSmi), I8(2), + B(Star), R(3), + B(LdaSmi), I8(3), + B(Star), R(4), + /* 249 E> */ B(CallUndefinedReceiver), R(1), R(2), U8(3), U8(14), + /* 270 S> */ B(LdaGlobal), U8(4), U8(16), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(2), + B(LdaSmi), I8(2), + B(Star), R(3), + B(LdaSmi), I8(3), + B(Star), R(4), + B(LdaSmi), I8(4), + B(Star), R(5), + /* 270 E> */ B(CallUndefinedReceiver), R(1), R(2), U8(4), U8(18), + /* 294 S> */ B(LdaGlobal), U8(5), U8(20), + B(Star), R(1), + B(LdaSmi), I8(1), + B(Star), R(2), + B(LdaSmi), I8(2), + B(Star), R(3), + B(LdaSmi), I8(3), + B(Star), R(4), + B(LdaSmi), I8(4), + B(Star), R(5), + B(LdaSmi), I8(5), + B(Star), R(6), + /* 294 E> */ B(CallUndefinedReceiver), R(1), R(2), U8(5), U8(22), + /* 338 S> */ B(LdaNamedProperty), R(0), U8(6), U8(24), + /* 345 S> */ B(Return), +] +constant pool: [ + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f0"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f1"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f2"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f3"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f4"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["f5"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"], +] +handlers: [ +] + diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden index bdfb35c70b..056f9d7b84 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden @@ -86,7 +86,7 @@ snippet: " " frame size: 10 parameter count: 1 -bytecode array length: 127 +bytecode array length: 124 bytecodes: [ /* 30 E> */ B(StackCheck), B(LdaTheHole), @@ -101,37 +101,35 @@ bytecodes: [ B(Mov), R(4), R(0), B(Mov), R(0), R(1), /* 89 S> */ B(CreateArrayLiteral), U8(2), U8(1), U8(37), - B(Star), R(3), - B(LdaConstant), U8(3), B(Star), R(4), - /* 101 S> */ B(CreateArrayLiteral), U8(4), U8(7), U8(37), + B(LdaConstant), U8(3), + B(Star), R(3), + /* 101 S> */ B(CreateArrayLiteral), U8(4), U8(5), U8(37), B(Star), R(8), - B(LdaNamedProperty), R(8), U8(5), U8(8), + B(LdaNamedProperty), R(8), U8(5), U8(6), B(Star), R(9), - B(CallProperty0), R(9), R(8), U8(10), + B(CallProperty0), R(9), R(8), U8(8), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), B(Star), R(7), - B(LdaNamedProperty), R(7), U8(6), U8(12), + B(LdaNamedProperty), R(7), U8(6), U8(10), B(Star), R(6), - B(CallProperty0), R(6), R(7), U8(14), + B(CallProperty0), R(6), R(7), U8(12), B(Star), R(5), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1), - B(LdaNamedProperty), R(5), U8(7), U8(16), + B(LdaNamedProperty), R(5), U8(7), U8(14), B(JumpIfToBooleanTrue), U8(21), - B(LdaNamedProperty), R(5), U8(8), U8(18), + B(LdaNamedProperty), R(5), U8(8), U8(16), B(Star), R(5), - B(StaInArrayLiteral), R(3), R(4), U8(2), - B(Ldar), R(4), - B(Inc), U8(4), - B(Star), R(4), + B(StaInArrayLiteral), R(4), R(3), U8(3), + B(Ldar), R(3), + B(Inc), U8(2), + B(Star), R(3), B(JumpLoop), U8(35), I8(0), B(LdaSmi), I8(4), - B(StaInArrayLiteral), R(3), R(4), U8(2), - B(Ldar), R(4), - B(Inc), U8(4), - B(Star), R(4), + B(StaInArrayLiteral), R(4), R(3), U8(3), + B(Mov), R(4), R(3), B(CallJSRuntime), U8(%reflect_construct), R(2), U8(2), B(LdaUndefined), /* 116 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 fa64ffa2a4..a1f4d78f7c 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden @@ -246,7 +246,7 @@ bytecodes: [ B(Star), R(5), B(Mov), R(1), R(2), B(Mov), R(0), R(4), - /* 57 E> */ B(CallRuntime), U16(Runtime::kSetProperty), R(2), U8(4), + /* 57 E> */ B(CallRuntime), U16(Runtime::kSetKeyedProperty), R(2), U8(4), B(Ldar), R(2), /* 61 S> */ B(Return), ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoadStoreOneShot.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoadStoreOneShot.golden index 3bc175b7da..e6eacf6fd6 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoadStoreOneShot.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoadStoreOneShot.golden @@ -20,9 +20,9 @@ snippet: " l['a'] = l['b']; " -frame size: 7 +frame size: 4 parameter count: 1 -bytecode array length: 128 +bytecode array length: 77 bytecodes: [ /* 0 E> */ B(StackCheck), /* 7 S> */ B(LdaConstant), U8(0), @@ -33,46 +33,25 @@ bytecodes: [ /* 9 E> */ B(StaGlobal), U8(1), U8(0), /* 60 S> */ B(LdaGlobal), U8(1), U8(3), B(Star), R(1), - B(LdaConstant), U8(2), - B(Star), R(3), - B(Mov), R(1), R(2), - /* 65 E> */ B(InvokeIntrinsic), U8(Runtime::k_GetProperty), R(2), U8(2), + /* 65 E> */ B(LdaNamedPropertyNoFeedback), R(1), U8(2), B(Star), R(1), /* 73 E> */ B(LdaGlobal), U8(1), U8(3), B(Star), R(2), - B(LdaConstant), U8(3), - B(Star), R(4), - B(Mov), R(2), R(3), - /* 74 E> */ B(InvokeIntrinsic), U8(Runtime::k_GetProperty), R(3), U8(2), + /* 74 E> */ B(LdaNamedPropertyNoFeedback), R(2), U8(3), /* 71 E> */ B(Add), R(1), U8(2), /* 62 E> */ B(StaGlobal), U8(4), U8(5), /* 87 S> */ B(LdaGlobal), U8(1), U8(3), B(Star), R(1), B(LdaSmi), I8(7), - B(Star), R(4), - B(LdaConstant), U8(3), - B(Star), R(3), - B(LdaZero), - B(Star), R(5), - B(Mov), R(1), R(2), - /* 94 E> */ B(CallRuntime), U16(Runtime::kSetProperty), R(2), U8(4), + /* 94 E> */ B(StaNamedPropertyNoFeedback), R(1), U8(3), U8(0), /* 105 S> */ B(LdaGlobal), U8(1), U8(3), B(Star), R(1), /* 114 E> */ B(LdaGlobal), U8(1), U8(3), B(Star), R(2), - B(LdaConstant), U8(3), - B(Star), R(4), - B(Mov), R(2), R(3), - /* 115 E> */ B(InvokeIntrinsic), U8(Runtime::k_GetProperty), R(3), U8(2), + /* 115 E> */ B(LdaNamedPropertyNoFeedback), R(2), U8(3), B(Star), R(2), - B(LdaConstant), U8(2), - B(Star), R(4), - B(LdaZero), - B(Star), R(6), - B(Mov), R(1), R(3), - B(Mov), R(2), R(5), - /* 112 E> */ B(CallRuntime), U16(Runtime::kSetProperty), R(3), U8(4), - B(Mov), R(5), R(0), + /* 112 E> */ B(StaNamedPropertyNoFeedback), R(1), U8(2), U8(0), + B(Mov), R(2), R(0), B(Ldar), R(0), /* 128 S> */ B(Return), ] @@ -307,9 +286,9 @@ snippet: " } " -frame size: 7 +frame size: 4 parameter count: 1 -bytecode array length: 111 +bytecode array length: 75 bytecodes: [ /* 0 E> */ B(StackCheck), /* 7 S> */ B(LdaConstant), U8(0), @@ -320,40 +299,25 @@ bytecodes: [ /* 9 E> */ B(StaGlobal), U8(1), U8(0), /* 63 S> */ B(LdaGlobal), U8(1), U8(2), B(Star), R(1), - B(LdaConstant), U8(2), - B(Star), R(3), - B(Mov), R(1), R(2), - /* 68 E> */ B(InvokeIntrinsic), U8(Runtime::k_GetProperty), R(2), U8(2), + /* 68 E> */ B(LdaNamedPropertyNoFeedback), R(1), U8(2), B(Star), R(1), B(LdaSmi), I8(3), /* 74 E> */ B(TestLessThan), R(1), U8(4), - B(JumpIfFalse), U8(36), + B(JumpIfFalse), U8(22), /* 89 S> */ B(LdaGlobal), U8(1), U8(2), B(Star), R(1), B(LdaSmi), I8(3), B(Star), R(2), - B(LdaConstant), U8(2), - B(Star), R(4), - B(LdaZero), - B(Star), R(6), - B(Mov), R(1), R(3), - B(Mov), R(2), R(5), - /* 96 E> */ B(CallRuntime), U16(Runtime::kSetProperty), R(3), U8(4), - B(Mov), R(5), R(0), + /* 96 E> */ B(StaNamedPropertyNoFeedback), R(1), U8(2), U8(0), + B(Mov), R(2), R(0), B(Ldar), R(2), - B(Jump), U8(34), + B(Jump), U8(20), /* 124 S> */ B(LdaGlobal), U8(1), U8(2), B(Star), R(1), B(LdaSmi), I8(3), B(Star), R(2), - B(LdaConstant), U8(3), - B(Star), R(4), - B(LdaZero), - B(Star), R(6), - B(Mov), R(1), R(3), - B(Mov), R(2), R(5), - /* 131 E> */ B(CallRuntime), U16(Runtime::kSetProperty), R(3), U8(4), - B(Mov), R(5), R(0), + /* 131 E> */ B(StaNamedPropertyNoFeedback), R(1), U8(3), U8(0), + B(Mov), R(2), R(0), B(Ldar), R(2), B(Ldar), R(0), /* 150 S> */ B(Return), @@ -373,16 +337,16 @@ snippet: " a = [1.1, [2.2, 4.5]]; " -frame size: 3 +frame size: 5 parameter count: 1 bytecode array length: 20 bytecodes: [ /* 0 E> */ B(StackCheck), /* 7 S> */ B(LdaConstant), U8(0), - B(Star), R(1), + B(Star), R(3), B(LdaSmi), I8(4), - B(Star), R(2), - B(CallRuntime), U16(Runtime::kCreateArrayLiteralWithoutAllocationSite), R(1), U8(2), + B(Star), R(4), + B(CallRuntime), U16(Runtime::kCreateArrayLiteralWithoutAllocationSite), R(3), U8(2), /* 9 E> */ B(StaGlobal), U8(1), U8(0), B(Star), R(0), /* 36 S> */ B(Return), @@ -400,16 +364,16 @@ snippet: " b = []; " -frame size: 3 +frame size: 5 parameter count: 1 bytecode array length: 20 bytecodes: [ /* 0 E> */ B(StackCheck), /* 7 S> */ B(LdaConstant), U8(0), - B(Star), R(1), + B(Star), R(3), B(LdaSmi), I8(37), - B(Star), R(2), - B(CallRuntime), U16(Runtime::kCreateArrayLiteralWithoutAllocationSite), R(1), U8(2), + B(Star), R(4), + B(CallRuntime), U16(Runtime::kCreateArrayLiteralWithoutAllocationSite), R(3), U8(2), /* 9 E> */ B(StaGlobal), U8(1), U8(0), B(Star), R(0), /* 21 S> */ B(Return), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PublicClassFields.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PublicClassFields.golden index 4607d37d4b..cb09c45b1a 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/PublicClassFields.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PublicClassFields.golden @@ -37,7 +37,7 @@ bytecodes: [ B(Star), R(5), B(LdaConstant), U8(1), B(Star), R(6), - B(LdaConstant), U8(3), + /* 60 S> */ B(LdaConstant), U8(3), B(StaCurrentContextSlot), U8(4), B(Star), R(9), B(Mov), R(5), R(7), @@ -59,7 +59,7 @@ bytecodes: [ B(Star), R(5), B(LdaConstant), U8(7), B(Star), R(6), - B(LdaConstant), U8(3), + /* 99 S> */ B(LdaConstant), U8(3), B(StaCurrentContextSlot), U8(4), B(Star), R(9), B(Mov), R(5), R(7), @@ -145,7 +145,7 @@ bytecodes: [ B(Star), R(7), B(LdaConstant), U8(1), B(Star), R(8), - B(LdaConstant), U8(5), + /* 77 S> */ B(LdaConstant), U8(5), B(StaCurrentContextSlot), U8(4), B(Star), R(11), B(Mov), R(7), R(9), @@ -175,7 +175,7 @@ bytecodes: [ B(Star), R(7), B(LdaConstant), U8(9), B(Star), R(8), - B(LdaConstant), U8(5), + /* 133 S> */ B(LdaConstant), U8(5), B(StaCurrentContextSlot), U8(4), B(Star), R(11), B(CreateClosure), U8(13), U8(7), U8(2), @@ -198,7 +198,7 @@ bytecodes: [ B(Star), R(7), B(LdaConstant), U8(16), B(Star), R(8), - B(LdaConstant), U8(5), + /* 256 S> */ B(LdaConstant), U8(5), B(StaCurrentContextSlot), U8(4), B(Star), R(11), B(Mov), R(7), R(9), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden index d870c4362f..849f7beba3 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden @@ -381,35 +381,32 @@ snippet: " " frame size: 12 parameter count: 1 -bytecode array length: 140 +bytecode array length: 144 bytecodes: [ /* 16 E> */ B(StackCheck), B(CallJSRuntime), U8(%async_function_promise_create), R(0), U8(0), - B(Star), R(3), + B(Star), R(0), B(Mov), R(context), R(6), B(Mov), R(context), R(7), /* 36 S> */ B(LdaZero), - B(Star), R(1), + B(Star), R(2), /* 41 S> */ B(LdaSmi), I8(10), - /* 41 E> */ B(TestLessThan), R(1), U8(0), + /* 41 E> */ B(TestLessThan), R(2), U8(0), B(JumpIfFalse), U8(15), /* 23 E> */ B(StackCheck), - /* 62 S> */ B(Mov), R(1), R(0), - /* 49 S> */ B(Ldar), R(0), + /* 62 S> */ B(Mov), R(2), R(1), + /* 49 S> */ B(Ldar), R(1), B(Inc), U8(1), - B(Star), R(1), + B(Star), R(2), B(JumpLoop), U8(17), I8(0), B(LdaUndefined), - B(Star), R(9), - B(Mov), R(3), R(8), - /* 49 E> */ B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(8), U8(2), + B(Star), R(5), B(LdaZero), B(Star), R(4), - B(Mov), R(3), R(5), - B(Jump), U8(55), - B(Jump), U8(39), + B(Jump), U8(56), + B(Jump), U8(40), B(Star), R(8), - B(CreateCatchContext), R(8), U8(0), + /* 49 E> */ B(CreateCatchContext), R(8), U8(0), B(Star), R(7), B(LdaTheHole), B(SetPendingMessage), @@ -419,32 +416,37 @@ bytecodes: [ B(Star), R(10), B(LdaFalse), B(Star), R(11), - B(Mov), R(3), R(9), + B(Mov), R(0), R(9), B(InvokeIntrinsic), U8(Runtime::k_RejectPromise), R(9), U8(3), B(PopContext), R(8), - B(LdaZero), + B(LdaSmi), I8(1), B(Star), R(4), - B(Mov), R(3), R(5), + B(Mov), R(0), R(5), B(Jump), U8(16), B(LdaSmi), I8(-1), B(Star), R(5), B(Star), R(4), B(Jump), U8(8), B(Star), R(5), - B(LdaSmi), I8(1), + B(LdaSmi), I8(2), B(Star), R(4), B(LdaTheHole), B(SetPendingMessage), B(Star), R(6), B(LdaFalse), B(Star), R(8), - B(Mov), R(3), R(7), + B(Mov), R(0), R(7), B(CallJSRuntime), U8(%async_function_promise_release), R(7), U8(2), B(Ldar), R(6), B(SetPendingMessage), B(Ldar), R(4), - B(SwitchOnSmiNoFeedback), U8(1), U8(2), I8(0), - B(Jump), U8(8), + B(SwitchOnSmiNoFeedback), U8(1), U8(3), I8(0), + B(Jump), U8(21), + B(Mov), R(0), R(7), + B(Mov), R(5), R(8), + B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(7), U8(2), + B(Ldar), R(0), + /* 67 S> */ B(Return), B(Ldar), R(5), /* 67 S> */ B(Return), B(Ldar), R(5), @@ -455,11 +457,12 @@ bytecodes: [ constant pool: [ SCOPE_INFO_TYPE, Smi [6], - Smi [9], + Smi [19], + Smi [22], ] handlers: [ - [10, 93, 101], - [13, 54, 56], + [10, 84, 92], + [13, 44, 46], ] --- @@ -471,53 +474,50 @@ snippet: " " frame size: 11 parameter count: 1 -bytecode array length: 191 +bytecode array length: 195 bytecodes: [ - B(SwitchOnGeneratorState), R(1), U8(0), U8(1), + B(SwitchOnGeneratorState), R(2), U8(0), U8(1), 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(1), + B(Star), R(2), /* 16 E> */ B(StackCheck), B(CallJSRuntime), U8(%async_function_promise_create), R(0), U8(0), - B(Star), R(2), + B(Star), R(0), B(Mov), R(context), R(5), B(Mov), R(context), R(6), /* 36 S> */ B(LdaZero), - B(Star), R(0), + B(Star), R(1), /* 41 S> */ B(LdaSmi), I8(10), - /* 41 E> */ B(TestLessThan), R(0), U8(0), + /* 41 E> */ B(TestLessThan), R(1), U8(0), B(JumpIfFalse), U8(50), /* 23 E> */ B(StackCheck), - /* 52 S> */ B(Mov), R(1), R(7), - B(Mov), R(0), R(8), - B(Mov), R(2), R(9), + /* 52 S> */ B(Mov), R(2), R(7), + B(Mov), R(1), R(8), + B(Mov), R(0), R(9), B(CallJSRuntime), U8(%async_function_await_uncaught), R(7), U8(3), - /* 52 E> */ B(SuspendGenerator), R(1), R(0), U8(7), U8(0), - B(ResumeGenerator), R(1), R(0), U8(7), + /* 52 E> */ B(SuspendGenerator), R(2), R(0), U8(7), U8(0), + B(ResumeGenerator), R(2), R(0), U8(7), B(Star), R(7), - B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(1), U8(1), + B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(2), U8(1), B(Star), R(8), B(LdaZero), B(TestReferenceEqual), R(8), B(JumpIfTrue), U8(5), B(Ldar), R(7), B(ReThrow), - /* 49 S> */ B(Ldar), R(0), + /* 49 S> */ B(Ldar), R(1), B(Inc), U8(1), - B(Star), R(0), + B(Star), R(1), B(JumpLoop), U8(52), I8(0), B(LdaUndefined), - B(Star), R(8), - B(Mov), R(2), R(7), - /* 49 E> */ B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(7), U8(2), + B(Star), R(4), B(LdaZero), B(Star), R(3), - B(Mov), R(2), R(4), - B(Jump), U8(55), - B(Jump), U8(39), + B(Jump), U8(56), + B(Jump), U8(40), B(Star), R(7), - B(CreateCatchContext), R(7), U8(1), + /* 49 E> */ B(CreateCatchContext), R(7), U8(1), B(Star), R(6), B(LdaTheHole), B(SetPendingMessage), @@ -527,32 +527,37 @@ bytecodes: [ B(Star), R(9), B(LdaFalse), B(Star), R(10), - B(Mov), R(2), R(8), + B(Mov), R(0), R(8), B(InvokeIntrinsic), U8(Runtime::k_RejectPromise), R(8), U8(3), B(PopContext), R(7), - B(LdaZero), + B(LdaSmi), I8(1), B(Star), R(3), - B(Mov), R(2), R(4), + B(Mov), R(0), R(4), B(Jump), U8(16), B(LdaSmi), I8(-1), B(Star), R(4), B(Star), R(3), B(Jump), U8(8), B(Star), R(4), - B(LdaSmi), I8(1), + B(LdaSmi), I8(2), B(Star), R(3), B(LdaTheHole), B(SetPendingMessage), B(Star), R(5), B(LdaTrue), B(Star), R(7), - B(Mov), R(2), R(6), + B(Mov), R(0), R(6), B(CallJSRuntime), U8(%async_function_promise_release), R(6), U8(2), B(Ldar), R(5), B(SetPendingMessage), B(Ldar), R(3), - B(SwitchOnSmiNoFeedback), U8(2), U8(2), I8(0), - B(Jump), U8(8), + B(SwitchOnSmiNoFeedback), U8(2), U8(3), I8(0), + B(Jump), U8(21), + B(Mov), R(0), R(6), + B(Mov), R(4), R(7), + B(InvokeIntrinsic), U8(Runtime::k_ResolvePromise), R(6), U8(2), + B(Ldar), R(0), + /* 61 S> */ B(Return), B(Ldar), R(4), /* 61 S> */ B(Return), B(Ldar), R(4), @@ -564,10 +569,11 @@ constant pool: [ Smi [58], SCOPE_INFO_TYPE, Smi [6], - Smi [9], + Smi [19], + Smi [22], ] handlers: [ - [26, 144, 152], - [29, 105, 107], + [26, 135, 143], + [29, 95, 97], ] diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/StaticClassFields.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/StaticClassFields.golden index fcf5e9ae9a..da5c922456 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/StaticClassFields.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/StaticClassFields.golden @@ -44,10 +44,10 @@ bytecodes: [ B(Star), R(5), B(LdaConstant), U8(1), B(Star), R(6), - B(LdaConstant), U8(3), + /* 60 S> */ B(LdaConstant), U8(3), B(StaCurrentContextSlot), U8(4), B(Star), R(9), - B(LdaConstant), U8(4), + /* 92 S> */ B(LdaConstant), U8(4), B(Star), R(10), B(LdaConstant), U8(5), B(TestEqualStrict), R(10), U8(1), @@ -79,10 +79,10 @@ bytecodes: [ B(Star), R(5), B(LdaConstant), U8(10), B(Star), R(6), - B(LdaConstant), U8(3), + /* 131 S> */ B(LdaConstant), U8(3), B(StaCurrentContextSlot), U8(4), B(Star), R(9), - B(LdaConstant), U8(4), + /* 176 S> */ B(LdaConstant), U8(4), B(Star), R(10), B(LdaConstant), U8(5), B(TestEqualStrict), R(10), U8(1), @@ -188,10 +188,10 @@ bytecodes: [ B(Star), R(7), B(LdaConstant), U8(1), B(Star), R(8), - B(LdaConstant), U8(5), + /* 77 S> */ B(LdaConstant), U8(5), B(StaCurrentContextSlot), U8(4), B(Star), R(11), - B(LdaConstant), U8(6), + /* 109 S> */ B(LdaConstant), U8(6), B(Star), R(12), B(LdaConstant), U8(7), B(TestEqualStrict), R(12), U8(2), @@ -231,10 +231,10 @@ bytecodes: [ B(Star), R(7), B(LdaConstant), U8(12), B(Star), R(8), - B(LdaConstant), U8(5), + /* 165 S> */ B(LdaConstant), U8(5), B(StaCurrentContextSlot), U8(4), B(Star), R(11), - B(LdaConstant), U8(6), + /* 210 S> */ B(LdaConstant), U8(6), B(Star), R(12), B(LdaConstant), U8(7), B(TestEqualStrict), R(12), U8(2), @@ -267,10 +267,10 @@ bytecodes: [ B(Star), R(7), B(LdaConstant), U8(20), B(Star), R(8), - B(LdaConstant), U8(5), + /* 333 S> */ B(LdaConstant), U8(5), B(StaCurrentContextSlot), U8(4), B(Star), R(11), - B(LdaConstant), U8(6), + /* 378 S> */ B(LdaConstant), U8(6), B(Star), R(12), B(LdaConstant), U8(7), B(TestEqualStrict), R(12), U8(2), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden index 39e41739e1..42238ac049 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden @@ -93,7 +93,7 @@ snippet: " " frame size: 13 parameter count: 1 -bytecode array length: 137 +bytecode array length: 130 bytecodes: [ B(CreateRestParameter), B(Star), R(2), @@ -103,55 +103,51 @@ bytecodes: [ /* 140 S> */ B(Ldar), R(closure), B(GetSuperConstructor), R(5), B(CreateEmptyArrayLiteral), U8(0), - B(Star), R(6), - B(LdaZero), B(Star), R(7), + B(LdaZero), + B(Star), R(6), B(LdaSmi), I8(1), - B(StaKeyedProperty), R(6), R(7), U8(1), - B(LdaConstant), U8(0), - /* 152 S> */ B(Star), R(7), - B(LdaNamedProperty), R(2), U8(1), U8(8), + B(StaInArrayLiteral), R(7), R(6), U8(1), + B(Ldar), R(6), + B(Inc), U8(3), + /* 152 S> */ B(Star), R(6), + B(LdaNamedProperty), R(2), U8(0), U8(4), B(Star), R(12), - B(CallProperty0), R(12), R(2), U8(10), + B(CallProperty0), R(12), R(2), U8(6), B(Mov), R(2), R(11), B(Mov), R(1), R(4), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0), B(Star), R(10), - B(LdaNamedProperty), R(10), U8(2), U8(12), + B(LdaNamedProperty), R(10), U8(1), U8(8), B(Star), R(9), - B(CallProperty0), R(9), R(10), U8(14), + B(CallProperty0), R(9), R(10), U8(10), B(Star), R(8), B(JumpIfJSReceiver), U8(7), B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(8), U8(1), - B(LdaNamedProperty), R(8), U8(3), U8(16), + B(LdaNamedProperty), R(8), U8(2), U8(12), B(JumpIfToBooleanTrue), U8(21), - B(LdaNamedProperty), R(8), U8(4), U8(18), + B(LdaNamedProperty), R(8), U8(3), U8(14), B(Star), R(8), - B(StaInArrayLiteral), R(6), R(7), U8(3), - B(Ldar), R(7), - B(Inc), U8(5), - B(Star), R(7), + B(StaInArrayLiteral), R(7), R(6), U8(1), + B(Ldar), R(6), + B(Inc), U8(3), + B(Star), R(6), B(JumpLoop), U8(35), I8(0), B(LdaSmi), I8(1), - B(StaInArrayLiteral), R(6), R(7), U8(3), - B(Ldar), R(7), - B(Inc), U8(5), - B(Star), R(7), - B(Mov), R(5), R(8), - B(Mov), R(6), R(9), - B(Mov), R(0), R(10), - /* 140 E> */ B(CallJSRuntime), U8(%reflect_construct), R(8), U8(3), - B(Star), R(11), + B(StaInArrayLiteral), R(7), R(6), U8(1), + B(Mov), R(5), R(6), + B(Mov), R(0), R(8), + /* 140 E> */ B(CallJSRuntime), U8(%reflect_construct), R(6), U8(3), + B(Star), R(9), B(Ldar), R(this), B(ThrowSuperAlreadyCalledIfNotHole), - B(Mov), R(11), R(this), + B(Mov), R(9), R(this), B(Ldar), R(this), B(ThrowSuperNotCalledIfHole), /* 162 S> */ B(Return), ] constant pool: [ - Smi [1], SYMBOL_TYPE, ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], |