From 0e7ddbd3d7e9439c67573b854c49cf82c398ae82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Fri, 21 Sep 2018 09:14:51 +0200 Subject: deps: update V8 to 7.0.276.20 PR-URL: https://github.com/nodejs/node/pull/22754 Reviewed-By: Matteo Collina Reviewed-By: James M Snell Reviewed-By: Refael Ackermann Reviewed-By: Ali Ijaz Sheikh Reviewed-By: Colin Ihrig --- .../bytecode_expectations/ArrayLiterals.golden | 161 ++++++++ .../bytecode_expectations/AsyncGenerators.golden | 2 +- .../bytecode_expectations/ForAwaitOf.golden | 8 +- .../interpreter/bytecode_expectations/ForOf.golden | 8 +- .../bytecode_expectations/ForOfLoop.golden | 18 +- .../bytecode_expectations/Generators.golden | 2 +- .../IIFEWithOneshotOpt.golden | 408 ++++++++++++++++++++ .../IIFEWithoutOneshotOpt.golden | 109 ++++++ .../PropertyLoadStoreOneShot.golden | 423 +++++++++++++++++++++ .../PropertyLoadStoreWithoutOneShot.golden | 119 ++++++ .../bytecode_expectations/StandardForLoop.golden | 2 +- 11 files changed, 1240 insertions(+), 20 deletions(-) create mode 100644 deps/v8/test/cctest/interpreter/bytecode_expectations/IIFEWithOneshotOpt.golden create mode 100644 deps/v8/test/cctest/interpreter/bytecode_expectations/IIFEWithoutOneshotOpt.golden create mode 100644 deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoadStoreOneShot.golden create mode 100644 deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoadStoreWithoutOneShot.golden (limited to 'deps/v8/test/cctest/interpreter/bytecode_expectations') diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden index 9714926254..ae8d050914 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden @@ -117,3 +117,164 @@ constant pool: [ handlers: [ ] +--- +snippet: " + var a = [ 1, 2 ]; return [ ...a ]; +" +frame size: 8 +parameter count: 1 +bytecode array length: 86 +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), + /* 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: [ +] + +--- +snippet: " + var a = [ 1, 2 ]; return [ 0, ...a ]; +" +frame size: 8 +parameter count: 1 +bytecode array length: 86 +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), + /* 67 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), + /* 71 S> */ B(Return), +] +constant pool: [ + ARRAY_BOILERPLATE_DESCRIPTION_TYPE, + ARRAY_BOILERPLATE_DESCRIPTION_TYPE, + Smi [1], + SYMBOL_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"], +] +handlers: [ +] + +--- +snippet: " + var a = [ 1, 2 ]; return [ ...a, 3 ]; +" +frame size: 8 +parameter count: 1 +bytecode array length: 98 +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(LdaSmi), I8(3), + B(StaInArrayLiteral), R(1), R(2), U8(2), + 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"], +] +handlers: [ +] + diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden index d7109321c6..f5cbed6a7a 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden @@ -362,7 +362,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(149), + B(Wide), B(LdaSmi), I16(153), B(Star), R(18), B(LdaConstant), U8(14), B(Star), R(19), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden index e965d7a689..c5fae1f4f6 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden @@ -123,7 +123,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(149), + B(Wide), B(LdaSmi), I16(153), B(Star), R(19), B(LdaConstant), U8(11), B(Star), R(20), @@ -377,7 +377,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(149), + B(Wide), B(LdaSmi), I16(153), B(Star), R(19), B(LdaConstant), U8(11), B(Star), R(20), @@ -653,7 +653,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(149), + B(Wide), B(LdaSmi), I16(153), B(Star), R(19), B(LdaConstant), U8(11), B(Star), R(20), @@ -885,7 +885,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(149), + B(Wide), B(LdaSmi), I16(153), B(Star), R(17), B(LdaConstant), U8(9), B(Star), R(18), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOf.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOf.golden index 5c603964c8..bcb462bc75 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(149), + B(Wide), B(LdaSmi), I16(153), 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(149), + B(Wide), B(LdaSmi), I16(153), 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(149), + B(Wide), B(LdaSmi), I16(153), 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(149), + B(Wide), B(LdaSmi), I16(153), 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 90fcb9065d..d4fe1a091c 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(149), + B(Wide), B(LdaSmi), I16(153), 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(149), + B(Wide), B(LdaSmi), I16(153), 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(149), + B(Wide), B(LdaSmi), I16(153), B(Star), R(12), B(LdaConstant), U8(8), B(Star), R(13), @@ -495,7 +495,7 @@ bytecodes: [ B(JumpIfUndefined), U8(6), B(Ldar), R(6), B(JumpIfNotNull), U8(16), - B(LdaSmi), I8(78), + B(LdaSmi), I8(81), B(Star), R(18), B(LdaConstant), U8(4), B(Star), R(19), @@ -550,7 +550,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(149), + B(Wide), B(LdaSmi), I16(153), 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(149), + B(Wide), B(LdaSmi), I16(153), 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(149), + B(Wide), B(LdaSmi), I16(153), B(Star), R(14), B(LdaConstant), U8(12), B(Star), R(15), @@ -1007,7 +1007,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(149), + B(Wide), B(LdaSmi), I16(153), B(Star), R(20), B(LdaConstant), U8(6), B(Star), R(21), @@ -1218,7 +1218,7 @@ bytecodes: [ B(TestTypeOf), U8(6), B(JumpIfFalse), U8(4), B(Jump), U8(18), - B(Wide), B(LdaSmi), I16(149), + B(Wide), B(LdaSmi), I16(153), B(Star), R(19), B(LdaConstant), U8(7), B(Star), R(20), diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/Generators.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/Generators.golden index 54deec7198..641a2b2eb0 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(149), + B(Wide), B(LdaSmi), I16(153), 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 new file mode 100644 index 0000000000..f2653a6ed1 --- /dev/null +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/IIFEWithOneshotOpt.golden @@ -0,0 +1,408 @@ +# +# Autogenerated by generate-bytecode-expectations. +# + +--- +wrap: no +top level: yes +print callee: yes +oneshot opt: yes + +--- +snippet: " + + (function() { + l = {}; + l.aa = 2; + l.bb = l.aa; + return arguments.callee; + })(); + +" +frame size: 6 +parameter count: 1 +bytecode array length: 82 +bytecodes: [ + B(CreateMappedArguments), + B(Star), R(0), + /* 16 E> */ B(StackCheck), + /* 29 S> */ B(CreateEmptyObjectLiteral), + /* 31 E> */ B(StaGlobal), U8(0), U8(0), + /* 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), + /* 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), + /* 108 S> */ B(Return), +] +constant pool: [ + ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["aa"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["bb"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"], +] +handlers: [ +] + +--- +snippet: " + + (function() { + l = {}; + for (i = 0; i < 5; ++i) { + l.aa = 2; + l.bb = l.aa; + } + return arguments.callee; + })(); + +" +frame size: 4 +parameter count: 1 +bytecode array length: 77 +bytecodes: [ + B(CreateMappedArguments), + B(Star), R(0), + /* 16 E> */ B(StackCheck), + /* 29 S> */ B(CreateEmptyObjectLiteral), + /* 31 E> */ B(StaGlobal), U8(0), U8(0), + /* 50 S> */ B(LdaZero), + /* 52 E> */ B(StaGlobal), U8(1), U8(2), + /* 59 S> */ B(LdaGlobal), U8(1), U8(4), + B(Star), R(1), + B(LdaSmi), I8(5), + /* 59 E> */ B(TestLessThan), R(1), U8(6), + B(JumpIfFalse), U8(43), + /* 45 E> */ B(StackCheck), + /* 81 S> */ B(LdaGlobal), U8(0), U8(7), + B(Star), R(1), + B(LdaSmi), I8(2), + /* 86 E> */ B(StaNamedProperty), R(1), U8(2), U8(9), + /* 101 S> */ B(LdaGlobal), U8(0), U8(7), + B(Star), R(1), + /* 108 E> */ B(LdaGlobal), U8(0), U8(7), + B(Star), R(2), + /* 110 E> */ B(LdaNamedProperty), R(2), U8(2), U8(11), + /* 106 E> */ B(StaNamedProperty), R(1), U8(3), U8(13), + /* 66 S> */ B(LdaGlobal), U8(1), U8(4), + 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), + /* 156 S> */ B(Return), +] +constant pool: [ + ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["i"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["aa"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["bb"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"], +] +handlers: [ +] + +--- +snippet: " + + (function() { + l = {}; + c = 4; + while(c > 4) { + l.aa = 2; + l.bb = l.aa; + c--; + } + return arguments.callee; + })(); + +" +frame size: 4 +parameter count: 1 +bytecode array length: 78 +bytecodes: [ + B(CreateMappedArguments), + B(Star), R(0), + /* 16 E> */ B(StackCheck), + /* 29 S> */ B(CreateEmptyObjectLiteral), + /* 31 E> */ B(StaGlobal), U8(0), U8(0), + /* 45 S> */ B(LdaSmi), I8(4), + /* 47 E> */ B(StaGlobal), U8(1), U8(2), + /* 68 S> */ B(LdaGlobal), U8(1), U8(4), + B(Star), R(1), + B(LdaSmi), I8(4), + /* 68 E> */ B(TestGreaterThan), R(1), U8(6), + B(JumpIfFalse), U8(43), + /* 60 E> */ B(StackCheck), + /* 85 S> */ B(LdaGlobal), U8(0), U8(7), + B(Star), R(1), + B(LdaSmi), I8(2), + /* 90 E> */ B(StaNamedProperty), R(1), U8(2), U8(9), + /* 105 S> */ B(LdaGlobal), U8(0), U8(7), + B(Star), R(1), + /* 112 E> */ B(LdaGlobal), U8(0), U8(7), + B(Star), R(2), + /* 114 E> */ B(LdaNamedProperty), R(2), U8(2), U8(11), + /* 110 E> */ B(StaNamedProperty), R(1), U8(3), U8(13), + /* 128 S> */ B(LdaGlobal), U8(1), U8(4), + 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), + /* 175 S> */ B(Return), +] +constant pool: [ + ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["c"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["aa"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["bb"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"], +] +handlers: [ +] + +--- +snippet: " + + (function() { + l = {}; + c = 4; + do { + l.aa = 2; + l.bb = l.aa; + c--; + } while(c > 4) + return arguments.callee; + })(); + +" +frame size: 4 +parameter count: 1 +bytecode array length: 78 +bytecodes: [ + B(CreateMappedArguments), + B(Star), R(0), + /* 16 E> */ B(StackCheck), + /* 29 S> */ B(CreateEmptyObjectLiteral), + /* 31 E> */ B(StaGlobal), U8(0), U8(0), + /* 45 S> */ B(LdaSmi), I8(4), + /* 47 E> */ B(StaGlobal), U8(1), U8(2), + /* 60 E> */ B(StackCheck), + /* 75 S> */ B(LdaGlobal), U8(0), U8(4), + B(Star), R(1), + B(LdaSmi), I8(2), + /* 80 E> */ B(StaNamedProperty), R(1), U8(2), U8(6), + /* 95 S> */ B(LdaGlobal), U8(0), U8(4), + B(Star), R(1), + /* 102 E> */ B(LdaGlobal), U8(0), U8(4), + B(Star), R(2), + /* 104 E> */ B(LdaNamedProperty), R(2), U8(2), U8(8), + /* 100 E> */ B(StaNamedProperty), R(1), U8(3), U8(10), + /* 118 S> */ B(LdaGlobal), U8(1), U8(12), + B(Dec), U8(14), + /* 119 E> */ B(StaGlobal), U8(1), U8(2), + /* 141 S> */ B(LdaGlobal), U8(1), U8(12), + B(Star), R(1), + B(LdaSmi), I8(4), + /* 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), + /* 178 S> */ B(Return), +] +constant pool: [ + ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["c"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["aa"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["bb"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"], +] +handlers: [ +] + +--- +snippet: " + + (function() { + l = { + 'aa': 3.3, + 'bb': 4.4 + }; + if (l.aa < 3) { + l.aa = 3; + } else { + l.aa = l.bb; + } + return arguments.callee; + })(); + +" +frame size: 6 +parameter count: 1 +bytecode array length: 121 +bytecodes: [ + B(CreateMappedArguments), + B(Star), R(0), + /* 16 E> */ B(StackCheck), + /* 29 S> */ B(LdaConstant), U8(0), + B(Star), R(2), + B(LdaSmi), I8(41), + B(Star), R(3), + B(CallRuntime), U16(Runtime::kCreateObjectLiteralWithoutAllocationSite), R(2), U8(2), + /* 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), + B(Star), R(1), + B(LdaSmi), I8(3), + /* 104 E> */ B(TestLessThan), R(1), U8(4), + B(JumpIfFalse), U8(28), + /* 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), + /* 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), + /* 213 S> */ B(Return), +] +constant pool: [ + OBJECT_BOILERPLATE_DESCRIPTION_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["aa"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["bb"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"], +] +handlers: [ +] + +--- +snippet: " + + (function() { + a = [0, [1, 1,2,], 3]; + return arguments.callee; + })(); + +" +frame size: 4 +parameter count: 1 +bytecode array length: 32 +bytecodes: [ + B(CreateMappedArguments), + B(Star), R(0), + /* 16 E> */ B(StackCheck), + /* 29 S> */ B(LdaConstant), U8(0), + B(Star), R(1), + B(LdaSmi), I8(4), + B(Star), R(2), + B(CallRuntime), U16(Runtime::kCreateArrayLiteralWithoutAllocationSite), R(1), 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), + /* 84 S> */ B(Return), +] +constant pool: [ + ARRAY_BOILERPLATE_DESCRIPTION_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"], +] +handlers: [ +] + +--- +snippet: " + + (function() { + a = []; + return arguments.callee; + })(); + +" +frame size: 4 +parameter count: 1 +bytecode array length: 32 +bytecodes: [ + B(CreateMappedArguments), + B(Star), R(0), + /* 16 E> */ B(StackCheck), + /* 29 S> */ B(LdaConstant), U8(0), + B(Star), R(1), + B(LdaSmi), I8(37), + B(Star), R(2), + B(CallRuntime), U16(Runtime::kCreateArrayLiteralWithoutAllocationSite), R(1), 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), + /* 69 S> */ B(Return), +] +constant pool: [ + ARRAY_BOILERPLATE_DESCRIPTION_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], + 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 new file mode 100644 index 0000000000..f116bdc68f --- /dev/null +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/IIFEWithoutOneshotOpt.golden @@ -0,0 +1,109 @@ +# +# Autogenerated by generate-bytecode-expectations. +# + +--- +wrap: no +top level: yes +print callee: yes + +--- +snippet: " + + (function() { + l = {}; + l.a = 2; + l.b = l.a; + return arguments.callee; + })(); + +" +frame size: 3 +parameter count: 1 +bytecode array length: 42 +bytecodes: [ + B(CreateMappedArguments), + B(Star), R(0), + /* 16 E> */ B(StackCheck), + /* 29 S> */ B(CreateEmptyObjectLiteral), + /* 31 E> */ B(StaGlobal), U8(0), U8(0), + /* 45 S> */ B(LdaGlobal), U8(0), U8(2), + B(Star), R(1), + B(LdaSmi), I8(2), + /* 49 E> */ B(StaNamedProperty), R(1), U8(1), U8(4), + /* 62 S> */ B(LdaGlobal), U8(0), U8(2), + B(Star), R(1), + /* 68 E> */ B(LdaGlobal), U8(0), U8(2), + B(Star), R(2), + /* 70 E> */ B(LdaNamedProperty), R(2), U8(1), U8(6), + /* 66 E> */ B(StaNamedProperty), R(1), U8(2), U8(8), + /* 98 S> */ B(LdaNamedProperty), R(0), U8(3), U8(10), + /* 105 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 ["callee"], +] +handlers: [ +] + +--- +snippet: " + + (function() { + l = { + 'a': 4.3, + 'b': 3.4 + }; + if (l.a < 3) { + l.a = 3; + } else { + l.a = l.b; + } + return arguments.callee; + })(); + +" +frame size: 3 +parameter count: 1 +bytecode array length: 68 +bytecodes: [ + B(CreateMappedArguments), + B(Star), R(0), + /* 16 E> */ B(StackCheck), + /* 29 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41), R(1), + B(Ldar), R(1), + /* 31 E> */ B(StaGlobal), U8(1), U8(1), + /* 93 S> */ B(LdaGlobal), U8(1), U8(3), + B(Star), R(1), + /* 99 E> */ B(LdaNamedProperty), R(1), U8(2), U8(5), + B(Star), R(1), + B(LdaSmi), I8(3), + /* 101 E> */ B(TestLessThan), R(1), U8(7), + B(JumpIfFalse), U8(15), + /* 118 S> */ B(LdaGlobal), U8(1), U8(3), + B(Star), R(1), + B(LdaSmi), I8(3), + /* 122 E> */ B(StaNamedProperty), R(1), U8(2), U8(8), + B(Jump), U8(20), + /* 154 S> */ B(LdaGlobal), U8(1), U8(3), + B(Star), R(1), + /* 160 E> */ B(LdaGlobal), U8(1), U8(3), + B(Star), R(2), + /* 162 E> */ B(LdaNamedProperty), R(2), U8(3), U8(10), + /* 158 E> */ B(StaNamedProperty), R(1), U8(2), U8(8), + /* 200 S> */ B(LdaNamedProperty), R(0), U8(4), U8(12), + /* 207 S> */ B(Return), +] +constant pool: [ + OBJECT_BOILERPLATE_DESCRIPTION_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["callee"], +] +handlers: [ +] + diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoadStoreOneShot.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoadStoreOneShot.golden new file mode 100644 index 0000000000..3bc175b7da --- /dev/null +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoadStoreOneShot.golden @@ -0,0 +1,423 @@ +# +# Autogenerated by generate-bytecode-expectations. +# + +--- +wrap: no +top level: yes +oneshot opt: yes + +--- +snippet: " + + l = { + 'a': 1, + 'b': 2 + }; + + v = l['a'] + l['b']; + l['b'] = 7; + l['a'] = l['b']; + +" +frame size: 7 +parameter count: 1 +bytecode array length: 128 +bytecodes: [ + /* 0 E> */ B(StackCheck), + /* 7 S> */ B(LdaConstant), U8(0), + B(Star), R(2), + B(LdaSmi), I8(41), + B(Star), R(3), + B(CallRuntime), U16(Runtime::kCreateObjectLiteralWithoutAllocationSite), R(2), U8(2), + /* 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), + 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), + /* 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), + /* 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), + 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), + B(Ldar), R(0), + /* 128 S> */ B(Return), +] +constant pool: [ + OBJECT_BOILERPLATE_DESCRIPTION_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["v"], +] +handlers: [ +] + +--- +snippet: " + + l = { + 'a': 1.1, + 'b': 2.2 + }; + for (i = 0; i < 5; ++i) { + l['a'] = l['a'] + l['b']; + l['b'] = l['a'] + l['b']; + } + +" +frame size: 4 +parameter count: 1 +bytecode array length: 120 +bytecodes: [ + /* 0 E> */ B(StackCheck), + /* 7 S> */ B(LdaConstant), U8(0), + B(Star), R(2), + B(LdaSmi), I8(41), + B(Star), R(3), + B(CallRuntime), U16(Runtime::kCreateObjectLiteralWithoutAllocationSite), R(2), U8(2), + /* 9 E> */ B(StaGlobal), U8(1), U8(0), + B(LdaUndefined), + B(Star), R(0), + /* 68 S> */ B(LdaZero), + /* 70 E> */ B(StaGlobal), U8(2), U8(2), + /* 77 S> */ B(LdaGlobal), U8(2), U8(4), + B(Star), R(1), + B(LdaSmi), I8(5), + /* 77 E> */ B(TestLessThan), R(1), U8(6), + B(JumpIfFalse), U8(83), + /* 63 E> */ B(StackCheck), + /* 97 S> */ B(LdaGlobal), U8(1), U8(7), + B(Star), R(1), + /* 106 E> */ B(LdaGlobal), U8(1), U8(7), + B(Star), R(2), + /* 107 E> */ B(LdaNamedProperty), R(2), U8(3), U8(10), + B(Star), R(2), + /* 115 E> */ B(LdaGlobal), U8(1), U8(7), + B(Star), R(3), + /* 116 E> */ B(LdaNamedProperty), R(3), U8(4), U8(12), + /* 113 E> */ B(Add), R(2), U8(9), + /* 104 E> */ B(StaNamedProperty), R(1), U8(3), U8(14), + /* 131 S> */ B(LdaGlobal), U8(1), U8(7), + B(Star), R(1), + /* 140 E> */ B(LdaGlobal), U8(1), U8(7), + B(Star), R(2), + /* 141 E> */ B(LdaNamedProperty), R(2), U8(3), U8(10), + B(Star), R(2), + /* 149 E> */ B(LdaGlobal), U8(1), U8(7), + B(Star), R(3), + /* 150 E> */ B(LdaNamedProperty), R(3), U8(4), U8(12), + /* 147 E> */ B(Add), R(2), U8(16), + B(Star), R(2), + /* 138 E> */ B(StaNamedProperty), R(1), U8(4), U8(17), + B(Mov), R(2), R(0), + /* 84 S> */ B(LdaGlobal), U8(2), U8(4), + B(Inc), U8(19), + /* 84 E> */ B(StaGlobal), U8(2), U8(2), + B(JumpLoop), U8(90), I8(0), + B(Ldar), R(0), + /* 171 S> */ B(Return), +] +constant pool: [ + OBJECT_BOILERPLATE_DESCRIPTION_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["i"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"], +] +handlers: [ +] + +--- +snippet: " + + l = { + 'a': 1.1, + 'b': 2.2 + }; + while (s > 0) { + l['a'] = l['a'] - l['b']; + l['b'] = l['b'] - l['a']; + } + +" +frame size: 4 +parameter count: 1 +bytecode array length: 109 +bytecodes: [ + /* 0 E> */ B(StackCheck), + /* 7 S> */ B(LdaConstant), U8(0), + B(Star), R(2), + B(LdaSmi), I8(41), + B(Star), R(3), + B(CallRuntime), U16(Runtime::kCreateObjectLiteralWithoutAllocationSite), R(2), U8(2), + /* 9 E> */ B(StaGlobal), U8(1), U8(0), + B(LdaUndefined), + B(Star), R(0), + /* 72 S> */ B(LdaGlobal), U8(2), U8(2), + B(Star), R(1), + B(LdaZero), + /* 72 E> */ B(TestGreaterThan), R(1), U8(4), + B(JumpIfFalse), U8(77), + /* 63 E> */ B(StackCheck), + /* 87 S> */ B(LdaGlobal), U8(1), U8(5), + B(Star), R(1), + /* 97 E> */ B(LdaGlobal), U8(1), U8(5), + B(Star), R(2), + /* 98 E> */ B(LdaNamedProperty), R(2), U8(3), U8(8), + B(Star), R(2), + /* 106 E> */ B(LdaGlobal), U8(1), U8(5), + B(Star), R(3), + /* 107 E> */ B(LdaNamedProperty), R(3), U8(4), U8(10), + /* 104 E> */ B(Sub), R(2), U8(7), + /* 95 E> */ B(StaNamedProperty), R(1), U8(3), U8(12), + /* 122 S> */ B(LdaGlobal), U8(1), U8(5), + B(Star), R(1), + /* 132 E> */ B(LdaGlobal), U8(1), U8(5), + B(Star), R(2), + /* 133 E> */ B(LdaNamedProperty), R(2), U8(4), U8(10), + B(Star), R(2), + /* 141 E> */ B(LdaGlobal), U8(1), U8(5), + B(Star), R(3), + /* 142 E> */ B(LdaNamedProperty), R(3), U8(3), U8(8), + /* 139 E> */ B(Sub), R(2), U8(14), + B(Star), R(2), + /* 130 E> */ B(StaNamedProperty), R(1), U8(4), U8(15), + B(Mov), R(2), R(0), + B(Ldar), R(2), + B(JumpLoop), U8(83), I8(0), + B(Ldar), R(0), + /* 163 S> */ B(Return), +] +constant pool: [ + OBJECT_BOILERPLATE_DESCRIPTION_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["s"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"], +] +handlers: [ +] + +--- +snippet: " + + l = { + 'a': 1.1, + 'b': 2.2 + }; + s = 10; + do { + l['a'] = l['b'] - l['a']; + } while (s < 10); + +" +frame size: 4 +parameter count: 1 +bytecode array length: 81 +bytecodes: [ + /* 0 E> */ B(StackCheck), + /* 7 S> */ B(LdaConstant), U8(0), + B(Star), R(2), + B(LdaSmi), I8(41), + B(Star), R(3), + B(CallRuntime), U16(Runtime::kCreateObjectLiteralWithoutAllocationSite), R(2), U8(2), + /* 9 E> */ B(StaGlobal), U8(1), U8(0), + /* 63 S> */ B(LdaSmi), I8(10), + /* 65 E> */ B(StaGlobal), U8(2), U8(2), + B(LdaUndefined), + B(Star), R(0), + /* 77 E> */ B(StackCheck), + /* 90 S> */ B(LdaGlobal), U8(1), U8(4), + B(Star), R(1), + /* 99 E> */ B(LdaGlobal), U8(1), U8(4), + B(Star), R(2), + /* 100 E> */ B(LdaNamedProperty), R(2), U8(3), U8(7), + B(Star), R(2), + /* 108 E> */ B(LdaGlobal), U8(1), U8(4), + B(Star), R(3), + /* 109 E> */ B(LdaNamedProperty), R(3), U8(4), U8(9), + /* 106 E> */ B(Sub), R(2), U8(6), + B(Star), R(2), + /* 97 E> */ B(StaNamedProperty), R(1), U8(4), U8(11), + B(Mov), R(2), R(0), + /* 133 S> */ B(LdaGlobal), U8(2), U8(13), + B(Star), R(1), + B(LdaSmi), I8(10), + /* 133 E> */ B(TestLessThan), R(1), U8(15), + B(JumpIfFalse), U8(5), + B(JumpLoop), U8(50), I8(0), + B(Ldar), R(0), + /* 146 S> */ B(Return), +] +constant pool: [ + OBJECT_BOILERPLATE_DESCRIPTION_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["s"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], +] +handlers: [ +] + +--- +snippet: " + + l = { + 'c': 1.1, + 'd': 2.2 + }; + if (l['c'] < 3) { + l['c'] = 3; + } else { + l['d'] = 3; + } + +" +frame size: 7 +parameter count: 1 +bytecode array length: 111 +bytecodes: [ + /* 0 E> */ B(StackCheck), + /* 7 S> */ B(LdaConstant), U8(0), + B(Star), R(2), + B(LdaSmi), I8(41), + B(Star), R(3), + B(CallRuntime), U16(Runtime::kCreateObjectLiteralWithoutAllocationSite), R(2), U8(2), + /* 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), + B(Star), R(1), + B(LdaSmi), I8(3), + /* 74 E> */ B(TestLessThan), R(1), U8(4), + B(JumpIfFalse), U8(36), + /* 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), + B(Ldar), R(2), + B(Jump), U8(34), + /* 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), + B(Ldar), R(2), + B(Ldar), R(0), + /* 150 S> */ B(Return), +] +constant pool: [ + OBJECT_BOILERPLATE_DESCRIPTION_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["c"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["d"], +] +handlers: [ +] + +--- +snippet: " + + a = [1.1, [2.2, 4.5]]; + +" +frame size: 3 +parameter count: 1 +bytecode array length: 20 +bytecodes: [ + /* 0 E> */ B(StackCheck), + /* 7 S> */ B(LdaConstant), U8(0), + B(Star), R(1), + B(LdaSmi), I8(4), + B(Star), R(2), + B(CallRuntime), U16(Runtime::kCreateArrayLiteralWithoutAllocationSite), R(1), U8(2), + /* 9 E> */ B(StaGlobal), U8(1), U8(0), + B(Star), R(0), + /* 36 S> */ B(Return), +] +constant pool: [ + ARRAY_BOILERPLATE_DESCRIPTION_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], +] +handlers: [ +] + +--- +snippet: " + + b = []; + +" +frame size: 3 +parameter count: 1 +bytecode array length: 20 +bytecodes: [ + /* 0 E> */ B(StackCheck), + /* 7 S> */ B(LdaConstant), U8(0), + B(Star), R(1), + B(LdaSmi), I8(37), + B(Star), R(2), + B(CallRuntime), U16(Runtime::kCreateArrayLiteralWithoutAllocationSite), R(1), U8(2), + /* 9 E> */ B(StaGlobal), U8(1), U8(0), + B(Star), R(0), + /* 21 S> */ B(Return), +] +constant pool: [ + ARRAY_BOILERPLATE_DESCRIPTION_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"], +] +handlers: [ +] + diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoadStoreWithoutOneShot.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoadStoreWithoutOneShot.golden new file mode 100644 index 0000000000..4b249ea15f --- /dev/null +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PropertyLoadStoreWithoutOneShot.golden @@ -0,0 +1,119 @@ +# +# Autogenerated by generate-bytecode-expectations. +# + +--- +wrap: no +top level: yes + +--- +snippet: " + + l = { + 'aa': 1.1, + 'bb': 2.2 + }; + + v = l['aa'] + l['bb']; + l['bb'] = 7; + l['aa'] = l['bb']; + +" +frame size: 3 +parameter count: 1 +bytecode array length: 74 +bytecodes: [ + /* 0 E> */ B(StackCheck), + /* 7 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41), R(1), + B(Ldar), R(1), + /* 9 E> */ B(StaGlobal), U8(1), U8(1), + /* 66 S> */ B(LdaGlobal), U8(1), U8(4), + B(Star), R(1), + /* 71 E> */ B(LdaNamedProperty), R(1), U8(2), U8(6), + B(Star), R(1), + /* 80 E> */ B(LdaGlobal), U8(1), U8(4), + B(Star), R(2), + /* 81 E> */ B(LdaNamedProperty), R(2), U8(3), U8(8), + /* 78 E> */ B(Add), R(1), U8(3), + /* 68 E> */ B(StaGlobal), U8(4), U8(10), + /* 95 S> */ B(LdaGlobal), U8(1), U8(4), + B(Star), R(1), + B(LdaSmi), I8(7), + /* 103 E> */ B(StaNamedProperty), R(1), U8(3), U8(12), + /* 114 S> */ B(LdaGlobal), U8(1), U8(4), + B(Star), R(1), + /* 124 E> */ B(LdaGlobal), U8(1), U8(4), + B(Star), R(2), + /* 125 E> */ B(LdaNamedProperty), R(2), U8(3), U8(8), + B(Star), R(2), + /* 122 E> */ B(StaNamedProperty), R(1), U8(2), U8(14), + B(Mov), R(2), R(0), + B(Ldar), R(0), + /* 139 S> */ B(Return), +] +constant pool: [ + OBJECT_BOILERPLATE_DESCRIPTION_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["aa"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["bb"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["v"], +] +handlers: [ +] + +--- +snippet: " + + l = { + 'cc': 3.1, + 'dd': 4.2 + }; + if (l['cc'] < 3) { + l['cc'] = 3; + } else { + l['dd'] = 3; + } + +" +frame size: 3 +parameter count: 1 +bytecode array length: 70 +bytecodes: [ + /* 0 E> */ B(StackCheck), + /* 7 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41), R(1), + B(Ldar), R(1), + /* 9 E> */ B(StaGlobal), U8(1), U8(1), + /* 65 S> */ B(LdaGlobal), U8(1), U8(3), + B(Star), R(1), + /* 70 E> */ B(LdaNamedProperty), R(1), U8(2), U8(5), + B(Star), R(1), + B(LdaSmi), I8(3), + /* 77 E> */ B(TestLessThan), R(1), U8(7), + B(JumpIfFalse), U8(22), + /* 92 S> */ B(LdaGlobal), U8(1), U8(3), + B(Star), R(1), + B(LdaSmi), I8(3), + B(Star), R(2), + /* 100 E> */ B(StaNamedProperty), R(1), U8(2), U8(8), + B(Mov), R(2), R(0), + B(Ldar), R(2), + B(Jump), U8(20), + /* 128 S> */ B(LdaGlobal), U8(1), U8(3), + B(Star), R(1), + B(LdaSmi), I8(3), + B(Star), R(2), + /* 136 E> */ B(StaNamedProperty), R(1), U8(3), U8(10), + B(Mov), R(2), R(0), + B(Ldar), R(2), + B(Ldar), R(0), + /* 155 S> */ B(Return), +] +constant pool: [ + OBJECT_BOILERPLATE_DESCRIPTION_TYPE, + ONE_BYTE_INTERNALIZED_STRING_TYPE ["l"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["cc"], + ONE_BYTE_INTERNALIZED_STRING_TYPE ["dd"], +] +handlers: [ +] + diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden index e87ceaf0de..d870c4362f 100644 --- a/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden +++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden @@ -229,7 +229,7 @@ bytecodes: [ B(JumpIfUndefined), U8(6), B(Ldar), R(3), B(JumpIfNotNull), U8(16), - B(LdaSmi), I8(78), + B(LdaSmi), I8(81), B(Star), R(4), B(LdaConstant), U8(1), B(Star), R(5), -- cgit v1.2.1