summaryrefslogtreecommitdiff
path: root/deps/v8/test/cctest/interpreter
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/test/cctest/interpreter')
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden18
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden277
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/CallAndSpread.golden17
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/DestructuringAssignment.golden342
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden527
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/ForIn.golden20
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/ForOf.golden347
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden776
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/Generators.golden170
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden17
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorAccess.golden192
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorDeclaration.golden398
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodAccess.golden104
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodDeclaration.golden198
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethods.golden160
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden5
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden18
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/WideRegisters.golden5
-rw-r--r--deps/v8/test/cctest/interpreter/test-bytecode-generator.cc171
19 files changed, 2274 insertions, 1488 deletions
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden
index 9392d60181..d6097e938d 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ArrayLiterals.golden
@@ -141,9 +141,9 @@ handlers: [
snippet: "
var a = [ 1, 2 ]; return [ 0, ...a ];
"
-frame size: 8
+frame size: 7
parameter count: 1
-bytecode array length: 84
+bytecode array length: 80
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
@@ -152,22 +152,21 @@ bytecodes: [
B(Star), R(2),
B(LdaConstant), U8(2),
/* 67 S> */ B(Star), R(1),
- B(LdaNamedProperty), R(0), U8(3), U8(2),
+ B(GetIterator), R(0), U8(2),
B(Star), R(6),
B(CallProperty0), R(6), R(0), U8(4),
- B(Mov), R(0), R(5),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(4),
- B(LdaNamedProperty), R(4), U8(4), U8(6),
+ B(LdaNamedProperty), R(4), U8(3), U8(6),
B(Star), R(3),
B(CallProperty0), R(3), R(4), U8(15),
- B(Star), R(7),
+ B(Star), R(5),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(7), U8(1),
- B(LdaNamedProperty), R(7), U8(5), U8(17),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1),
+ B(LdaNamedProperty), R(5), U8(4), U8(17),
B(JumpIfToBooleanTrue), U8(19),
- B(LdaNamedProperty), R(7), U8(6), U8(8),
+ B(LdaNamedProperty), R(5), U8(5), U8(8),
B(StaInArrayLiteral), R(2), R(1), U8(13),
B(Ldar), R(1),
B(Inc), U8(12),
@@ -180,7 +179,6 @@ 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"],
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden
index ce579699d8..1dbb999371 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden
@@ -212,9 +212,9 @@ snippet: "
async function* f() { for (let x of [42]) yield x }
f();
"
-frame size: 21
+frame size: 19
parameter count: 1
-bytecode array length: 372
+bytecode array length: 369
bytecodes: [
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(4),
@@ -235,103 +235,102 @@ bytecodes: [
B(LdaSmi), I8(1),
B(Star), R(4),
B(Mov), R(8), R(5),
- B(JumpConstant), U8(16),
+ B(JumpConstant), U8(15),
/* 36 S> */ B(CreateArrayLiteral), U8(4), U8(0), U8(37),
B(Star), R(10),
- B(LdaNamedProperty), R(10), U8(5), U8(1),
+ B(GetIterator), R(10), U8(1),
B(Star), R(11),
B(CallProperty0), R(11), R(10), U8(3),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(9),
- B(LdaNamedProperty), R(9), U8(6), U8(5),
+ B(LdaNamedProperty), R(9), U8(5), U8(5),
B(Star), R(8),
B(LdaFalse),
- B(Star), R(12),
- B(Mov), R(context), R(15),
+ B(Star), R(10),
+ B(Mov), R(context), R(13),
B(LdaTrue),
- B(Star), R(12),
+ B(Star), R(10),
/* 31 S> */ B(CallProperty0), R(8), R(9), U8(7),
- B(Star), R(16),
+ B(Star), R(14),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(16), U8(1),
- B(LdaNamedProperty), R(16), U8(7), U8(9),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1),
+ B(LdaNamedProperty), R(14), U8(6), U8(9),
B(JumpIfToBooleanTrue), U8(67),
- B(LdaNamedProperty), R(16), U8(8), U8(11),
- B(Star), R(16),
+ B(LdaNamedProperty), R(14), U8(7), U8(11),
+ B(Star), R(14),
B(LdaFalse),
- B(Star), R(12),
- B(Mov), R(16), R(1),
+ B(Star), R(10),
+ B(Mov), R(14), R(1),
/* 22 E> */ B(StackCheck),
/* 31 S> */ B(Mov), R(1), R(3),
/* 42 S> */ B(LdaFalse),
- B(Star), R(19),
- B(Mov), R(0), R(17),
- B(Mov), R(3), R(18),
- B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorYield), R(17), U8(3),
- /* 42 E> */ B(SuspendGenerator), R(0), R(0), U8(17), U8(1),
- B(ResumeGenerator), R(0), R(0), U8(17),
B(Star), R(17),
+ B(Mov), R(0), R(15),
+ B(Mov), R(3), R(16),
+ B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorYield), R(15), U8(3),
+ /* 42 E> */ B(SuspendGenerator), R(0), R(0), U8(15), U8(1),
+ B(ResumeGenerator), R(0), R(0), U8(15),
+ B(Star), R(15),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
- B(SwitchOnSmiNoFeedback), U8(9), U8(2), I8(0),
- B(Ldar), R(17),
+ B(SwitchOnSmiNoFeedback), U8(8), U8(2), I8(0),
+ B(Ldar), R(15),
/* 42 E> */ B(Throw),
B(LdaSmi), I8(1),
- B(Star), R(13),
- B(Mov), R(17), R(14),
+ B(Star), R(11),
+ B(Mov), R(15), R(12),
B(Jump), U8(20),
- B(Ldar), R(17),
+ B(Ldar), R(15),
B(JumpLoop), U8(84), I8(0),
B(LdaSmi), I8(-1),
- B(Star), R(14),
- B(Star), R(13),
+ B(Star), R(12),
+ B(Star), R(11),
B(Jump), U8(7),
- B(Star), R(14),
+ B(Star), R(12),
B(LdaZero),
- B(Star), R(13),
+ B(Star), R(11),
B(LdaTheHole),
B(SetPendingMessage),
+ B(Star), R(13),
+ B(Ldar), R(10),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(9), U8(10), U8(13),
B(Star), R(15),
- B(Ldar), R(12),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(9), U8(11), U8(13),
- B(Star), R(17),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(18),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(16),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(19),
- B(LdaConstant), U8(12),
- B(Star), R(20),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(19), U8(2),
+ B(Star), R(17),
+ B(LdaConstant), U8(11),
+ B(Star), R(18),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(17), U8(2),
B(Throw),
- B(CallProperty0), R(17), R(9), U8(15),
+ B(CallProperty0), R(15), R(9), U8(15),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(19),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(19), U8(1),
+ B(Star), R(17),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(17), U8(1),
B(Jump), U8(12),
- B(Star), R(18),
+ B(Star), R(16),
B(LdaZero),
- B(TestReferenceEqual), R(13),
+ B(TestReferenceEqual), R(11),
B(JumpIfTrue), U8(5),
- B(Ldar), R(18),
+ B(Ldar), R(16),
B(ReThrow),
- B(Ldar), R(15),
- B(SetPendingMessage),
B(Ldar), R(13),
- B(SwitchOnSmiNoFeedback), U8(13), U8(2), I8(0),
+ B(SetPendingMessage),
+ B(Ldar), R(11),
+ B(SwitchOnSmiNoFeedback), U8(12), U8(2), I8(0),
B(Jump), U8(14),
- B(Ldar), R(14),
+ B(Ldar), R(12),
B(ReThrow),
B(LdaSmi), I8(1),
B(Star), R(4),
- B(Mov), R(14), R(5),
+ B(Mov), R(12), R(5),
B(Jump), U8(51),
B(Jump), U8(36),
B(Star), R(8),
- B(CreateCatchContext), R(8), U8(15),
+ B(CreateCatchContext), R(8), U8(14),
B(Star), R(7),
B(LdaTheHole),
B(SetPendingMessage),
@@ -360,7 +359,7 @@ bytecodes: [
B(Ldar), R(6),
B(SetPendingMessage),
B(Ldar), R(4),
- B(SwitchOnSmiNoFeedback), U8(17), U8(3), I8(0),
+ B(SwitchOnSmiNoFeedback), U8(16), U8(3), I8(0),
B(Jump), U8(22),
B(Ldar), R(5),
B(ReThrow),
@@ -377,11 +376,10 @@ bytecodes: [
]
constant pool: [
Smi [30],
- Smi [149],
+ Smi [148],
Smi [16],
Smi [7],
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -392,16 +390,16 @@ constant pool: [
Smi [6],
Smi [9],
SCOPE_INFO_TYPE,
- Smi [277],
+ Smi [274],
Smi [6],
Smi [9],
Smi [23],
]
handlers: [
- [20, 318, 326],
- [23, 282, 284],
- [93, 180, 188],
- [214, 247, 249],
+ [20, 315, 323],
+ [23, 279, 281],
+ [92, 179, 187],
+ [211, 244, 246],
]
---
@@ -410,9 +408,9 @@ snippet: "
async function* f() { yield* g() }
f();
"
-frame size: 19
+frame size: 17
parameter count: 1
-bytecode array length: 475
+bytecode array length: 466
bytecodes: [
B(SwitchOnGeneratorState), R(0), U8(0), U8(5),
B(Mov), R(closure), R(1),
@@ -433,44 +431,69 @@ bytecodes: [
B(LdaSmi), I8(1),
B(Star), R(1),
B(Mov), R(5), R(2),
- B(JumpConstant), U8(18),
+ B(JumpConstant), U8(17),
/* 49 S> */ B(LdaGlobal), U8(7), U8(0),
B(Star), R(9),
/* 56 E> */ B(CallUndefinedReceiver0), R(9), U8(2),
B(Star), R(10),
B(LdaNamedProperty), R(10), U8(8), U8(4),
- B(JumpIfUndefined), U8(17),
- B(JumpIfNull), U8(15),
+ B(JumpIfUndefinedOrNull), U8(15),
B(Star), R(11),
B(CallProperty0), R(11), R(10), U8(6),
- B(JumpIfJSReceiver), U8(23),
+ B(JumpIfJSReceiver), U8(22),
B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0),
- B(LdaNamedProperty), R(10), U8(9), U8(8),
+ B(GetIterator), R(10), U8(8),
B(Star), R(11),
B(CallProperty0), R(11), R(10), U8(10),
B(Star), R(11),
B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(11), U8(1),
B(Star), R(7),
- B(LdaNamedProperty), R(7), U8(10), U8(12),
+ B(LdaNamedProperty), R(7), U8(9), U8(12),
B(Star), R(9),
B(LdaUndefined),
B(Star), R(8),
B(LdaZero),
B(Star), R(6),
B(Ldar), R(6),
- B(SwitchOnSmiNoFeedback), U8(11), U8(2), I8(1),
+ B(SwitchOnSmiNoFeedback), U8(10), U8(2), I8(1),
B(CallProperty1), R(9), R(7), R(8), U8(14),
- B(Jump), U8(146),
- B(LdaNamedProperty), R(7), U8(13), U8(16),
- B(JumpIfUndefined), U8(13),
- B(JumpIfNull), U8(11),
+ B(Jump), U8(140),
+ B(LdaNamedProperty), R(7), U8(12), U8(16),
+ B(JumpIfUndefinedOrNull), U8(11),
+ B(Star), R(10),
+ B(CallProperty1), R(10), R(7), R(8), U8(18),
+ B(Jump), U8(125),
+ B(Mov), R(0), R(10),
+ B(Mov), R(8), R(11),
+ B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorAwaitUncaught), R(10), U8(2),
+ /* 49 E> */ B(SuspendGenerator), R(0), R(0), U8(10), U8(1),
+ B(ResumeGenerator), R(0), R(0), U8(10),
+ B(Star), R(10),
+ B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
+ B(Star), R(11),
+ B(LdaZero),
+ B(TestReferenceEqual), R(11),
+ B(JumpIfTrue), U8(5),
+ B(Ldar), R(10),
+ B(ReThrow),
+ B(LdaSmi), I8(1),
+ B(Star), R(1),
+ B(Mov), R(10), R(2),
+ B(Jump), U8(241),
+ B(LdaNamedProperty), R(7), U8(13), U8(20),
+ B(JumpIfUndefinedOrNull), U8(11),
B(Star), R(12),
- B(CallProperty1), R(12), R(7), R(8), U8(18),
- B(Jump), U8(129),
+ B(CallProperty1), R(12), R(7), R(8), U8(22),
+ B(Jump), U8(66),
+ B(LdaNamedProperty), R(7), U8(12), U8(24),
+ B(JumpIfUndefinedOrNull), U8(55),
+ B(Star), R(12),
+ B(CallProperty0), R(12), R(7), U8(26),
+ B(Jump), U8(2),
+ B(Star), R(13),
B(Mov), R(0), R(12),
- B(Mov), R(8), R(13),
B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorAwaitUncaught), R(12), U8(2),
- /* 49 E> */ B(SuspendGenerator), R(0), R(0), U8(12), U8(1),
+ /* 49 E> */ B(SuspendGenerator), R(0), R(0), U8(12), U8(2),
B(ResumeGenerator), R(0), R(0), U8(12),
B(Star), R(12),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
@@ -480,72 +503,43 @@ bytecodes: [
B(JumpIfTrue), U8(5),
B(Ldar), R(12),
B(ReThrow),
- B(LdaSmi), I8(1),
- B(Star), R(1),
- B(Mov), R(12), R(2),
- B(Jump), U8(245),
- B(LdaNamedProperty), R(7), U8(14), U8(20),
- B(JumpIfUndefined), U8(13),
- B(JumpIfNull), U8(11),
- B(Star), R(14),
- B(CallProperty1), R(14), R(7), R(8), U8(22),
- B(Jump), U8(68),
- B(LdaNamedProperty), R(7), U8(13), U8(24),
- B(JumpIfUndefined), U8(57),
- B(JumpIfNull), U8(55),
- B(Star), R(14),
- B(CallProperty0), R(14), R(7), U8(26),
- B(Jump), U8(2),
- B(Star), R(15),
- B(Mov), R(0), R(14),
- B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorAwaitUncaught), R(14), U8(2),
- /* 49 E> */ B(SuspendGenerator), R(0), R(0), U8(14), U8(2),
- B(ResumeGenerator), R(0), R(0), U8(14),
- B(Star), R(14),
- B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
- B(Star), R(15),
- B(LdaZero),
- B(TestReferenceEqual), R(15),
- B(JumpIfTrue), U8(5),
- B(Ldar), R(14),
- B(ReThrow),
- B(Ldar), R(14),
+ B(Ldar), R(12),
B(JumpIfJSReceiver), U8(9),
- B(Star), R(16),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(16), U8(1),
- B(CallRuntime), U16(Runtime::kThrowThrowMethodMissing), R(0), U8(0),
- B(Star), R(15),
- B(Mov), R(0), R(14),
- B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorAwaitUncaught), R(14), U8(2),
- /* 49 E> */ B(SuspendGenerator), R(0), R(0), U8(14), U8(3),
- B(ResumeGenerator), R(0), R(0), U8(14),
B(Star), R(14),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1),
+ B(CallRuntime), U16(Runtime::kThrowThrowMethodMissing), R(0), U8(0),
+ B(Star), R(13),
+ B(Mov), R(0), R(12),
+ B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorAwaitUncaught), R(12), U8(2),
+ /* 49 E> */ B(SuspendGenerator), R(0), R(0), U8(12), U8(3),
+ B(ResumeGenerator), R(0), R(0), U8(12),
+ B(Star), R(12),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
- B(Star), R(15),
+ B(Star), R(13),
B(LdaZero),
- B(TestReferenceEqual), R(15),
+ B(TestReferenceEqual), R(13),
B(JumpIfTrue), U8(5),
- B(Ldar), R(14),
+ B(Ldar), R(12),
B(ReThrow),
- B(Ldar), R(14),
- B(Mov), R(14), R(5),
+ B(Ldar), R(12),
+ B(Mov), R(12), R(5),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1),
- B(LdaNamedProperty), R(5), U8(15), U8(28),
+ B(LdaNamedProperty), R(5), U8(14), U8(28),
B(JumpIfToBooleanTrue), U8(38),
- B(LdaNamedProperty), R(5), U8(16), U8(30),
- B(Star), R(17),
+ B(LdaNamedProperty), R(5), U8(15), U8(30),
+ B(Star), R(15),
B(LdaFalse),
- B(Star), R(18),
- B(Mov), R(0), R(16),
- B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorYield), R(16), U8(3),
- /* 49 E> */ B(SuspendGenerator), R(0), R(0), U8(16), U8(4),
- B(ResumeGenerator), R(0), R(0), U8(16),
+ B(Star), R(16),
+ B(Mov), R(0), R(14),
+ B(InvokeIntrinsic), U8(Runtime::k_AsyncGeneratorYield), R(14), U8(3),
+ /* 49 E> */ B(SuspendGenerator), R(0), R(0), U8(14), U8(4),
+ B(ResumeGenerator), R(0), R(0), U8(14),
B(Star), R(8),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
B(Star), R(6),
- B(JumpLoop), U8(242), I8(0),
- B(LdaNamedProperty), R(5), U8(16), U8(32),
+ B(JumpLoop), U8(236), I8(0),
+ B(LdaNamedProperty), R(5), U8(15), U8(32),
B(Star), R(7),
B(LdaSmi), I8(1),
B(TestReferenceEqual), R(6),
@@ -557,7 +551,7 @@ bytecodes: [
B(Ldar), R(7),
B(Jump), U8(36),
B(Star), R(5),
- B(CreateCatchContext), R(5), U8(17),
+ B(CreateCatchContext), R(5), U8(16),
B(Star), R(4),
B(LdaTheHole),
B(SetPendingMessage),
@@ -586,7 +580,7 @@ bytecodes: [
B(Ldar), R(3),
B(SetPendingMessage),
B(Ldar), R(1),
- B(SwitchOnSmiNoFeedback), U8(19), U8(3), I8(0),
+ B(SwitchOnSmiNoFeedback), U8(18), U8(3), I8(0),
B(Jump), U8(22),
B(Ldar), R(2),
B(ReThrow),
@@ -603,30 +597,29 @@ bytecodes: [
]
constant pool: [
Smi [30],
- Smi [162],
- Smi [238],
- Smi [288],
- Smi [347],
+ Smi [157],
+ Smi [229],
+ Smi [279],
+ Smi [338],
Smi [16],
Smi [7],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["g"],
SYMBOL_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
Smi [11],
- Smi [72],
+ Smi [70],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["throw"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
SCOPE_INFO_TYPE,
- Smi [380],
+ Smi [371],
Smi [6],
Smi [9],
Smi [23],
]
handlers: [
- [20, 421, 429],
- [23, 383, 387],
+ [20, 412, 420],
+ [23, 374, 378],
]
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallAndSpread.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallAndSpread.golden
index 33bd5434b4..963cbee018 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallAndSpread.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallAndSpread.golden
@@ -65,9 +65,9 @@ handlers: [
snippet: "
Math.max(0, ...[1, 2, 3], 4);
"
-frame size: 10
+frame size: 9
parameter count: 1
-bytecode array length: 107
+bytecode array length: 106
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(LdaGlobal), U8(0), U8(0),
@@ -80,22 +80,22 @@ bytecodes: [
B(Star), R(3),
/* 49 S> */ B(CreateArrayLiteral), U8(4), U8(5), U8(37),
B(Star), R(7),
- B(LdaNamedProperty), R(7), U8(5), U8(6),
+ B(GetIterator), R(7), U8(6),
B(Star), R(8),
B(CallProperty0), R(8), R(7), U8(8),
B(Mov), R(0), R(2),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(6),
- B(LdaNamedProperty), R(6), U8(6), U8(10),
+ B(LdaNamedProperty), R(6), U8(5), U8(10),
B(Star), R(5),
B(CallProperty0), R(5), R(6), U8(19),
- B(Star), R(9),
+ B(Star), R(7),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1),
- B(LdaNamedProperty), R(9), U8(7), U8(21),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(7), U8(1),
+ B(LdaNamedProperty), R(7), U8(6), U8(21),
B(JumpIfToBooleanTrue), U8(19),
- B(LdaNamedProperty), R(9), U8(8), U8(12),
+ B(LdaNamedProperty), R(7), U8(7), U8(12),
B(StaInArrayLiteral), R(4), R(3), U8(17),
B(Ldar), R(3),
B(Inc), U8(16),
@@ -114,7 +114,6 @@ constant pool: [
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
Smi [1],
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/DestructuringAssignment.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/DestructuringAssignment.golden
index 2d44b972a0..e26b79a9fb 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/DestructuringAssignment.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/DestructuringAssignment.golden
@@ -10,93 +10,90 @@ snippet: "
var x, a = [0,1,2,3];
[x] = a;
"
-frame size: 16
+frame size: 14
parameter count: 1
-bytecode array length: 178
+bytecode array length: 172
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
B(Star), R(1),
- /* 60 S> */ B(LdaNamedProperty), R(1), U8(1), U8(1),
+ /* 60 S> */ B(GetIterator), R(1), U8(1),
B(Star), R(6),
B(CallProperty0), R(6), R(1), U8(3),
- B(Mov), R(1), R(5),
B(Mov), R(1), R(2),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(4),
- B(LdaNamedProperty), R(4), U8(2), U8(5),
+ B(LdaNamedProperty), R(4), U8(1), U8(5),
B(Star), R(3),
B(LdaFalse),
- B(Star), R(7),
- B(Mov), R(context), R(10),
- /* 57 S> */ B(Ldar), R(7),
+ B(Star), R(5),
+ B(Mov), R(context), R(8),
+ /* 57 S> */ B(Ldar), R(5),
B(JumpIfToBooleanTrue), U8(37),
B(LdaTrue),
- B(Star), R(7),
+ B(Star), R(5),
B(CallProperty0), R(3), R(4), U8(11),
- B(Star), R(11),
+ B(Star), R(9),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
- B(LdaNamedProperty), R(11), U8(3), U8(9),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1),
+ B(LdaNamedProperty), R(9), U8(2), U8(9),
B(JumpIfToBooleanTrue), U8(15),
- B(LdaNamedProperty), R(11), U8(4), U8(7),
- B(Star), R(11),
+ B(LdaNamedProperty), R(9), U8(3), U8(7),
+ B(Star), R(9),
B(LdaFalse),
- B(Star), R(7),
- B(Ldar), R(11),
+ B(Star), R(5),
+ B(Ldar), R(9),
B(Jump), U8(3),
B(LdaUndefined),
B(Star), R(0),
B(LdaSmi), I8(-1),
- B(Star), R(9),
- B(Star), R(8),
+ B(Star), R(7),
+ B(Star), R(6),
B(Jump), U8(7),
- B(Star), R(9),
+ B(Star), R(7),
B(LdaZero),
- B(Star), R(8),
+ B(Star), R(6),
B(LdaTheHole),
B(SetPendingMessage),
+ B(Star), R(8),
+ B(Ldar), R(5),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(4), U8(4), U8(13),
B(Star), R(10),
- B(Ldar), R(7),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(4), U8(5), U8(13),
- B(Star), R(12),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(13),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(11),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(14),
- B(LdaConstant), U8(6),
- B(Star), R(15),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(14), U8(2),
+ B(Star), R(12),
+ B(LdaConstant), U8(5),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
B(Throw),
- B(CallProperty0), R(12), R(4), U8(15),
+ B(CallProperty0), R(10), R(4), U8(15),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(14),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1),
+ B(Star), R(12),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
B(Jump), U8(12),
- B(Star), R(13),
+ B(Star), R(11),
B(LdaZero),
- B(TestReferenceEqual), R(8),
+ B(TestReferenceEqual), R(6),
B(JumpIfTrue), U8(5),
- B(Ldar), R(13),
+ B(Ldar), R(11),
B(ReThrow),
- B(Ldar), R(10),
+ B(Ldar), R(8),
B(SetPendingMessage),
B(LdaZero),
- B(TestReferenceEqual), R(8),
+ B(TestReferenceEqual), R(6),
B(JumpIfFalse), U8(5),
- B(Ldar), R(9),
+ B(Ldar), R(7),
B(ReThrow),
B(LdaUndefined),
/* 65 S> */ B(Return),
]
constant pool: [
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -104,8 +101,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
- [44, 86, 94],
- [120, 153, 155],
+ [40, 82, 90],
+ [114, 147, 149],
]
---
@@ -113,127 +110,124 @@ snippet: "
var x, y, a = [0,1,2,3];
[,x,...y] = a;
"
-frame size: 17
+frame size: 15
parameter count: 1
-bytecode array length: 264
+bytecode array length: 258
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
B(Star), R(2),
- /* 69 S> */ B(LdaNamedProperty), R(2), U8(1), U8(1),
+ /* 69 S> */ B(GetIterator), R(2), U8(1),
B(Star), R(7),
B(CallProperty0), R(7), R(2), U8(3),
- B(Mov), R(2), R(6),
B(Mov), R(2), R(3),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(5),
- B(LdaNamedProperty), R(5), U8(2), U8(5),
+ B(LdaNamedProperty), R(5), U8(1), U8(5),
B(Star), R(4),
B(LdaFalse),
- B(Star), R(8),
- B(Mov), R(context), R(11),
- B(Ldar), R(8),
+ B(Star), R(6),
+ B(Mov), R(context), R(9),
+ B(Ldar), R(6),
B(JumpIfToBooleanTrue), U8(35),
B(LdaTrue),
- B(Star), R(8),
+ B(Star), R(6),
B(CallProperty0), R(4), R(5), U8(11),
- B(Star), R(12),
+ B(Star), R(10),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
- B(LdaNamedProperty), R(12), U8(3), U8(9),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1),
+ B(LdaNamedProperty), R(10), U8(2), U8(9),
B(JumpIfToBooleanTrue), U8(13),
- B(LdaNamedProperty), R(12), U8(4), U8(7),
- B(Star), R(12),
+ B(LdaNamedProperty), R(10), U8(3), U8(7),
+ B(Star), R(10),
B(LdaFalse),
- B(Star), R(8),
- B(Ldar), R(12),
- /* 61 S> */ B(Ldar), R(8),
+ B(Star), R(6),
+ B(Ldar), R(10),
+ /* 61 S> */ B(Ldar), R(6),
B(JumpIfToBooleanTrue), U8(37),
B(LdaTrue),
- B(Star), R(8),
+ B(Star), R(6),
B(CallProperty0), R(4), R(5), U8(13),
- B(Star), R(12),
+ B(Star), R(10),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
- B(LdaNamedProperty), R(12), U8(3), U8(9),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1),
+ B(LdaNamedProperty), R(10), U8(2), U8(9),
B(JumpIfToBooleanTrue), U8(15),
- B(LdaNamedProperty), R(12), U8(4), U8(7),
- B(Star), R(12),
+ B(LdaNamedProperty), R(10), U8(3), U8(7),
+ B(Star), R(10),
B(LdaFalse),
- B(Star), R(8),
- B(Ldar), R(12),
+ B(Star), R(6),
+ B(Ldar), R(10),
B(Jump), U8(3),
B(LdaUndefined),
B(Star), R(0),
/* 63 S> */ B(CreateEmptyArrayLiteral), U8(15),
- B(Star), R(13),
+ B(Star), R(11),
B(LdaZero),
- B(Star), R(14),
+ B(Star), R(12),
B(LdaTrue),
- B(Star), R(8),
+ B(Star), R(6),
B(CallProperty0), R(4), R(5), U8(19),
- B(Star), R(12),
+ B(Star), R(10),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
- B(LdaNamedProperty), R(12), U8(3), U8(21),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1),
+ B(LdaNamedProperty), R(10), U8(2), U8(21),
B(JumpIfToBooleanTrue), U8(19),
- B(LdaNamedProperty), R(12), U8(4), U8(7),
- B(StaInArrayLiteral), R(13), R(14), U8(16),
- B(Ldar), R(14),
+ B(LdaNamedProperty), R(10), U8(3), U8(7),
+ B(StaInArrayLiteral), R(11), R(12), U8(16),
+ B(Ldar), R(12),
B(Inc), U8(18),
- B(Star), R(14),
+ B(Star), R(12),
B(JumpLoop), U8(33), I8(0),
- B(Mov), R(13), R(1),
+ B(Mov), R(11), R(1),
B(LdaSmi), I8(-1),
- B(Star), R(10),
- B(Star), R(9),
+ B(Star), R(8),
+ B(Star), R(7),
B(Jump), U8(7),
- B(Star), R(10),
+ B(Star), R(8),
B(LdaZero),
- B(Star), R(9),
+ B(Star), R(7),
B(LdaTheHole),
B(SetPendingMessage),
+ B(Star), R(9),
+ B(Ldar), R(6),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(5), U8(4), U8(23),
B(Star), R(11),
- B(Ldar), R(8),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(5), U8(5), U8(23),
- B(Star), R(13),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(14),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(12),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(15),
- B(LdaConstant), U8(6),
- B(Star), R(16),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(15), U8(2),
+ B(Star), R(13),
+ B(LdaConstant), U8(5),
+ B(Star), R(14),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
B(Throw),
- B(CallProperty0), R(13), R(5), U8(25),
+ B(CallProperty0), R(11), R(5), U8(25),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(15),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(15), U8(1),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
B(Jump), U8(12),
- B(Star), R(14),
+ B(Star), R(12),
B(LdaZero),
- B(TestReferenceEqual), R(9),
+ B(TestReferenceEqual), R(7),
B(JumpIfTrue), U8(5),
- B(Ldar), R(14),
+ B(Ldar), R(12),
B(ReThrow),
- B(Ldar), R(11),
+ B(Ldar), R(9),
B(SetPendingMessage),
B(LdaZero),
- B(TestReferenceEqual), R(9),
+ B(TestReferenceEqual), R(7),
B(JumpIfFalse), U8(5),
- B(Ldar), R(10),
+ B(Ldar), R(8),
B(ReThrow),
B(LdaUndefined),
/* 74 S> */ B(Return),
]
constant pool: [
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -241,8 +235,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
- [44, 172, 180],
- [206, 239, 241],
+ [40, 168, 176],
+ [200, 233, 235],
]
---
@@ -250,114 +244,111 @@ snippet: "
var x={}, y, a = [0];
[x.foo,y=4] = a;
"
-frame size: 18
+frame size: 16
parameter count: 1
-bytecode array length: 229
+bytecode array length: 223
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 40 S> */ B(CreateEmptyObjectLiteral),
B(Star), R(0),
/* 51 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
B(Star), R(2),
- /* 68 S> */ B(LdaNamedProperty), R(2), U8(1), U8(1),
+ /* 68 S> */ B(GetIterator), R(2), U8(1),
B(Star), R(7),
B(CallProperty0), R(7), R(2), U8(3),
- B(Mov), R(2), R(6),
B(Mov), R(2), R(3),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(5),
- B(LdaNamedProperty), R(5), U8(2), U8(5),
+ B(LdaNamedProperty), R(5), U8(1), U8(5),
B(Star), R(4),
B(LdaFalse),
- B(Star), R(8),
- B(Mov), R(context), R(11),
- /* 59 S> */ B(Ldar), R(8),
- B(Mov), R(0), R(13),
+ B(Star), R(6),
+ B(Mov), R(context), R(9),
+ /* 59 S> */ B(Ldar), R(6),
+ B(Mov), R(0), R(11),
B(JumpIfToBooleanTrue), U8(37),
B(LdaTrue),
- B(Star), R(8),
+ B(Star), R(6),
B(CallProperty0), R(4), R(5), U8(11),
- B(Star), R(12),
+ B(Star), R(10),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
- B(LdaNamedProperty), R(12), U8(3), U8(9),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1),
+ B(LdaNamedProperty), R(10), U8(2), U8(9),
B(JumpIfToBooleanTrue), U8(15),
- B(LdaNamedProperty), R(12), U8(4), U8(7),
- B(Star), R(12),
+ B(LdaNamedProperty), R(10), U8(3), U8(7),
+ B(Star), R(10),
B(LdaFalse),
- B(Star), R(8),
- B(Ldar), R(12),
+ B(Star), R(6),
+ B(Ldar), R(10),
B(Jump), U8(3),
B(LdaUndefined),
- B(StaNamedProperty), R(13), U8(5), U8(13),
- /* 63 S> */ B(Ldar), R(8),
+ B(StaNamedProperty), R(11), U8(4), U8(13),
+ /* 63 S> */ B(Ldar), R(6),
B(JumpIfToBooleanTrue), U8(37),
B(LdaTrue),
- B(Star), R(8),
+ B(Star), R(6),
B(CallProperty0), R(4), R(5), U8(15),
- B(Star), R(12),
+ B(Star), R(10),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
- B(LdaNamedProperty), R(12), U8(3), U8(9),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1),
+ B(LdaNamedProperty), R(10), U8(2), U8(9),
B(JumpIfToBooleanTrue), U8(15),
- B(LdaNamedProperty), R(12), U8(4), U8(7),
- B(Star), R(12),
+ B(LdaNamedProperty), R(10), U8(3), U8(7),
+ B(Star), R(10),
B(LdaFalse),
- B(Star), R(8),
- B(Ldar), R(12),
+ B(Star), R(6),
+ B(Ldar), R(10),
B(JumpIfNotUndefined), U8(4),
B(LdaSmi), I8(4),
B(Star), R(1),
B(LdaSmi), I8(-1),
- B(Star), R(10),
- B(Star), R(9),
+ B(Star), R(8),
+ B(Star), R(7),
B(Jump), U8(7),
- B(Star), R(10),
+ B(Star), R(8),
B(LdaZero),
- B(Star), R(9),
+ B(Star), R(7),
B(LdaTheHole),
B(SetPendingMessage),
- B(Star), R(11),
- B(Ldar), R(8),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(5), U8(6), U8(17),
- B(Star), R(14),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(15),
+ B(Star), R(9),
+ B(Ldar), R(6),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(5), U8(5), U8(17),
+ B(Star), R(12),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(13),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(16),
- B(LdaConstant), U8(7),
- B(Star), R(17),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(16), U8(2),
+ B(Star), R(14),
+ B(LdaConstant), U8(6),
+ B(Star), R(15),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(14), U8(2),
B(Throw),
- B(CallProperty0), R(14), R(5), U8(19),
+ B(CallProperty0), R(12), R(5), U8(19),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(16),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(16), U8(1),
+ B(Star), R(14),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1),
B(Jump), U8(12),
- B(Star), R(15),
+ B(Star), R(13),
B(LdaZero),
- B(TestReferenceEqual), R(9),
+ B(TestReferenceEqual), R(7),
B(JumpIfTrue), U8(5),
- B(Ldar), R(15),
+ B(Ldar), R(13),
B(ReThrow),
- B(Ldar), R(11),
+ B(Ldar), R(9),
B(SetPendingMessage),
B(LdaZero),
- B(TestReferenceEqual), R(9),
+ B(TestReferenceEqual), R(7),
B(JumpIfFalse), U8(5),
- B(Ldar), R(10),
+ B(Ldar), R(8),
B(ReThrow),
B(LdaUndefined),
/* 73 S> */ B(Return),
]
constant pool: [
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -366,8 +357,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
- [47, 137, 145],
- [171, 204, 206],
+ [43, 133, 141],
+ [165, 198, 200],
]
---
@@ -375,18 +366,14 @@ snippet: "
var x, a = {x:1};
({x} = a);
"
-frame size: 3
+frame size: 2
parameter count: 1
-bytecode array length: 26
+bytecode array length: 15
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(1),
- /* 52 S> */ B(JumpIfNull), U8(4),
- B(JumpIfNotUndefined), U8(7),
- /* 53 E> */ B(CallRuntime), U16(Runtime::kThrowPatternAssignmentNonCoercible), R(0), U8(0),
- B(Star), R(2),
- /* 54 S> */ B(LdaNamedProperty), R(2), U8(1), U8(1),
+ /* 54 S> */ B(LdaNamedProperty), R(1), U8(1), U8(1),
B(Star), R(0),
B(LdaUndefined),
/* 63 S> */ B(Return),
@@ -403,20 +390,16 @@ snippet: "
var x={}, a = {y:1};
({y:x.foo} = a);
"
-frame size: 3
+frame size: 2
parameter count: 1
-bytecode array length: 31
+bytecode array length: 20
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 40 S> */ B(CreateEmptyObjectLiteral),
B(Star), R(0),
/* 48 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(1),
- /* 55 S> */ B(JumpIfNull), U8(4),
- B(JumpIfNotUndefined), U8(7),
- /* 56 E> */ B(CallRuntime), U16(Runtime::kThrowPatternAssignmentNonCoercible), R(0), U8(0),
- /* 61 S> */ B(Star), R(2),
- B(LdaNamedProperty), R(2), U8(1), U8(1),
+ /* 61 S> */ B(LdaNamedProperty), R(1), U8(1), U8(1),
B(StaNamedProperty), R(0), U8(2), U8(3),
B(LdaUndefined),
/* 72 S> */ B(Return),
@@ -436,18 +419,15 @@ snippet: "
"
frame size: 4
parameter count: 1
-bytecode array length: 41
+bytecode array length: 33
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 45 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(1),
- /* 62 S> */ B(JumpIfNull), U8(4),
- B(JumpIfNotUndefined), U8(7),
- /* 63 E> */ B(CallRuntime), U16(Runtime::kThrowPatternAssignmentNonCoercible), R(0), U8(0),
- B(Star), R(2),
/* 64 S> */ B(LdaConstant), U8(1),
B(Star), R(3),
- B(LdaNamedProperty), R(2), U8(1), U8(1),
+ B(LdaNamedProperty), R(1), U8(1), U8(1),
+ B(Mov), R(1), R(2),
B(JumpIfNotUndefined), U8(3),
B(LdaZero),
B(Star), R(0),
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden
index 1cafe42d28..f60e591040 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden
@@ -14,9 +14,9 @@ snippet: "
}
f();
"
-frame size: 21
+frame size: 19
parameter count: 1
-bytecode array length: 325
+bytecode array length: 320
bytecodes: [
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(4),
@@ -28,110 +28,108 @@ bytecodes: [
/* 43 S> */ B(CreateArrayLiteral), U8(2), U8(0), U8(37),
B(Star), R(7),
B(LdaNamedProperty), R(7), U8(3), U8(1),
- B(JumpIfUndefined), U8(17),
- B(JumpIfNull), U8(15),
+ B(JumpIfUndefinedOrNull), U8(15),
B(Star), R(8),
B(CallProperty0), R(8), R(7), U8(3),
- B(JumpIfJSReceiver), U8(23),
+ B(JumpIfJSReceiver), U8(22),
B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0),
- B(LdaNamedProperty), R(7), U8(4), U8(5),
+ B(GetIterator), R(7), U8(5),
B(Star), R(8),
B(CallProperty0), R(8), R(7), U8(7),
B(Star), R(8),
B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(8), U8(1),
B(Star), R(6),
- B(LdaNamedProperty), R(6), U8(5), U8(9),
+ B(LdaNamedProperty), R(6), U8(4), U8(9),
B(Star), R(5),
B(LdaFalse),
- B(Star), R(9),
- B(Mov), R(context), R(12),
+ B(Star), R(7),
+ B(Mov), R(context), R(10),
B(LdaTrue),
- B(Star), R(9),
+ B(Star), R(7),
/* 38 S> */ B(CallProperty0), R(5), R(6), U8(11),
- B(Star), R(15),
- B(Mov), R(0), R(14),
- B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(14), U8(2),
- B(SuspendGenerator), R(0), R(0), U8(14), U8(0),
- B(ResumeGenerator), R(0), R(0), U8(14),
- B(Star), R(14),
+ B(Star), R(13),
+ B(Mov), R(0), R(12),
+ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(12), U8(2),
+ B(SuspendGenerator), R(0), R(0), U8(12), U8(0),
+ B(ResumeGenerator), R(0), R(0), U8(12),
+ B(Star), R(12),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
- B(Star), R(15),
+ B(Star), R(13),
B(LdaZero),
- B(TestReferenceEqual), R(15),
+ B(TestReferenceEqual), R(13),
B(JumpIfTrue), U8(5),
- B(Ldar), R(14),
+ B(Ldar), R(12),
B(ReThrow),
- B(Ldar), R(14),
- B(Mov), R(14), R(13),
+ B(Ldar), R(12),
+ B(Mov), R(12), R(11),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
- B(LdaNamedProperty), R(13), U8(6), U8(13),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
+ B(LdaNamedProperty), R(11), U8(5), U8(13),
B(JumpIfToBooleanTrue), U8(23),
- B(LdaNamedProperty), R(13), U8(7), U8(15),
- B(Star), R(13),
+ B(LdaNamedProperty), R(11), U8(6), U8(15),
+ B(Star), R(11),
B(LdaFalse),
- B(Star), R(9),
- B(Mov), R(13), R(1),
+ B(Star), R(7),
+ B(Mov), R(11), R(1),
/* 23 E> */ B(StackCheck),
/* 38 S> */ B(Mov), R(1), R(3),
- B(Ldar), R(13),
+ B(Ldar), R(11),
B(JumpLoop), U8(77), I8(0),
B(LdaSmi), I8(-1),
- B(Star), R(11),
- B(Star), R(10),
+ B(Star), R(9),
+ B(Star), R(8),
B(Jump), U8(7),
- B(Star), R(11),
+ B(Star), R(9),
B(LdaZero),
- B(Star), R(10),
+ B(Star), R(8),
B(LdaTheHole),
/* 38 E> */ B(SetPendingMessage),
- B(Star), R(12),
- B(Ldar), R(9),
- B(JumpIfToBooleanTrue), U8(96),
- B(LdaNamedProperty), R(6), U8(8), U8(17),
- B(Star), R(16),
- B(JumpIfUndefined), U8(88),
- B(JumpIfNull), U8(86),
- B(Mov), R(context), R(17),
+ B(Star), R(10),
+ B(Ldar), R(7),
+ B(JumpIfToBooleanTrue), U8(94),
+ B(LdaNamedProperty), R(6), U8(7), U8(17),
+ B(Star), R(14),
+ B(JumpIfUndefinedOrNull), U8(86),
+ B(Mov), R(context), R(15),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(18),
- B(LdaConstant), U8(9),
- B(Star), R(19),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(18), U8(2),
+ B(Star), R(16),
+ B(LdaConstant), U8(8),
+ B(Star), R(17),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(16), U8(2),
B(Throw),
- B(CallProperty0), R(16), R(6), U8(19),
- B(Star), R(19),
- B(Mov), R(0), R(18),
- B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(18), U8(2),
- B(SuspendGenerator), R(0), R(0), U8(18), U8(1),
- B(ResumeGenerator), R(0), R(0), U8(18),
- B(Star), R(18),
+ B(CallProperty0), R(14), R(6), U8(19),
+ B(Star), R(17),
+ B(Mov), R(0), R(16),
+ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(16), U8(2),
+ B(SuspendGenerator), R(0), R(0), U8(16), U8(1),
+ B(ResumeGenerator), R(0), R(0), U8(16),
+ B(Star), R(16),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
- B(Star), R(19),
+ B(Star), R(17),
B(LdaZero),
- B(TestReferenceEqual), R(19),
+ B(TestReferenceEqual), R(17),
B(JumpIfTrue), U8(5),
- B(Ldar), R(18),
+ B(Ldar), R(16),
B(ReThrow),
- B(Ldar), R(18),
+ B(Ldar), R(16),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(20),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(20), U8(1),
+ B(Star), R(18),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(18), U8(1),
B(Jump), U8(12),
- B(Star), R(17),
+ B(Star), R(15),
B(LdaZero),
- B(TestReferenceEqual), R(10),
+ B(TestReferenceEqual), R(8),
B(JumpIfTrue), U8(5),
- B(Ldar), R(17),
+ B(Ldar), R(15),
B(ReThrow),
- B(Ldar), R(12),
+ B(Ldar), R(10),
B(SetPendingMessage),
B(LdaZero),
- B(TestReferenceEqual), R(10),
+ B(TestReferenceEqual), R(8),
B(JumpIfFalse), U8(5),
- B(Ldar), R(11),
+ B(Ldar), R(9),
B(ReThrow),
B(LdaUndefined),
B(Star), R(6),
@@ -141,7 +139,7 @@ bytecodes: [
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(5), U8(3),
/* 57 S> */ B(Return),
B(Star), R(5),
- B(CreateCatchContext), R(5), U8(10),
+ B(CreateCatchContext), R(5), U8(9),
B(Star), R(4),
B(LdaTheHole),
B(SetPendingMessage),
@@ -156,11 +154,10 @@ bytecodes: [
/* 57 S> */ B(Return),
]
constant pool: [
- Smi [98],
- Smi [229],
+ Smi [95],
+ Smi [224],
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
SYMBOL_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -169,9 +166,9 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
- [20, 297, 297],
- [77, 157, 165],
- [191, 260, 262],
+ [20, 292, 292],
+ [74, 154, 162],
+ [186, 255, 257],
]
---
@@ -181,9 +178,9 @@ snippet: "
}
f();
"
-frame size: 21
+frame size: 19
parameter count: 1
-bytecode array length: 346
+bytecode array length: 341
bytecodes: [
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(4),
@@ -195,118 +192,116 @@ bytecodes: [
/* 43 S> */ B(CreateArrayLiteral), U8(2), U8(0), U8(37),
B(Star), R(7),
B(LdaNamedProperty), R(7), U8(3), U8(1),
- B(JumpIfUndefined), U8(17),
- B(JumpIfNull), U8(15),
+ B(JumpIfUndefinedOrNull), U8(15),
B(Star), R(8),
B(CallProperty0), R(8), R(7), U8(3),
- B(JumpIfJSReceiver), U8(23),
+ B(JumpIfJSReceiver), U8(22),
B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0),
- B(LdaNamedProperty), R(7), U8(4), U8(5),
+ B(GetIterator), R(7), U8(5),
B(Star), R(8),
B(CallProperty0), R(8), R(7), U8(7),
B(Star), R(8),
B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(8), U8(1),
B(Star), R(6),
- B(LdaNamedProperty), R(6), U8(5), U8(9),
+ B(LdaNamedProperty), R(6), U8(4), U8(9),
B(Star), R(5),
B(LdaFalse),
- B(Star), R(9),
- B(Mov), R(context), R(12),
+ B(Star), R(7),
+ B(Mov), R(context), R(10),
B(LdaTrue),
- B(Star), R(9),
+ B(Star), R(7),
/* 38 S> */ B(CallProperty0), R(5), R(6), U8(11),
- B(Star), R(15),
- B(Mov), R(0), R(14),
- B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(14), U8(2),
- B(SuspendGenerator), R(0), R(0), U8(14), U8(0),
- B(ResumeGenerator), R(0), R(0), U8(14),
- B(Star), R(14),
+ B(Star), R(13),
+ B(Mov), R(0), R(12),
+ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(12), U8(2),
+ B(SuspendGenerator), R(0), R(0), U8(12), U8(0),
+ B(ResumeGenerator), R(0), R(0), U8(12),
+ B(Star), R(12),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
- B(Star), R(15),
+ B(Star), R(13),
B(LdaZero),
- B(TestReferenceEqual), R(15),
+ B(TestReferenceEqual), R(13),
B(JumpIfTrue), U8(5),
- B(Ldar), R(14),
+ B(Ldar), R(12),
B(ReThrow),
- B(Ldar), R(14),
- B(Mov), R(14), R(13),
+ B(Ldar), R(12),
+ B(Mov), R(12), R(11),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
- B(LdaNamedProperty), R(13), U8(6), U8(13),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
+ B(LdaNamedProperty), R(11), U8(5), U8(13),
B(JumpIfToBooleanTrue), U8(27),
- B(LdaNamedProperty), R(13), U8(7), U8(15),
- B(Star), R(13),
+ B(LdaNamedProperty), R(11), U8(6), U8(15),
+ B(Star), R(11),
B(LdaFalse),
- B(Star), R(9),
- B(Mov), R(13), R(1),
+ B(Star), R(7),
+ B(Mov), R(11), R(1),
/* 23 E> */ B(StackCheck),
/* 38 S> */ B(Mov), R(1), R(3),
/* 56 S> */ B(LdaSmi), I8(1),
- B(Mov), R(13), R(11),
- B(Star), R(10),
+ B(Mov), R(11), R(9),
+ B(Star), R(8),
B(Jump), U8(15),
B(LdaSmi), I8(-1),
- B(Star), R(11),
- B(Star), R(10),
+ B(Star), R(9),
+ B(Star), R(8),
B(Jump), U8(7),
- B(Star), R(11),
+ B(Star), R(9),
B(LdaZero),
- B(Star), R(10),
+ B(Star), R(8),
B(LdaTheHole),
B(SetPendingMessage),
- B(Star), R(12),
- B(Ldar), R(9),
- B(JumpIfToBooleanTrue), U8(96),
- B(LdaNamedProperty), R(6), U8(8), U8(17),
- B(Star), R(16),
- B(JumpIfUndefined), U8(88),
- B(JumpIfNull), U8(86),
- B(Mov), R(context), R(17),
+ B(Star), R(10),
+ B(Ldar), R(7),
+ B(JumpIfToBooleanTrue), U8(94),
+ B(LdaNamedProperty), R(6), U8(7), U8(17),
+ B(Star), R(14),
+ B(JumpIfUndefinedOrNull), U8(86),
+ B(Mov), R(context), R(15),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(18),
- B(LdaConstant), U8(9),
- B(Star), R(19),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(18), U8(2),
+ B(Star), R(16),
+ B(LdaConstant), U8(8),
+ B(Star), R(17),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(16), U8(2),
B(Throw),
- B(CallProperty0), R(16), R(6), U8(19),
- B(Star), R(19),
- B(Mov), R(0), R(18),
- B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(18), U8(2),
- B(SuspendGenerator), R(0), R(0), U8(18), U8(1),
- B(ResumeGenerator), R(0), R(0), U8(18),
- B(Star), R(18),
+ B(CallProperty0), R(14), R(6), U8(19),
+ B(Star), R(17),
+ B(Mov), R(0), R(16),
+ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(16), U8(2),
+ B(SuspendGenerator), R(0), R(0), U8(16), U8(1),
+ B(ResumeGenerator), R(0), R(0), U8(16),
+ B(Star), R(16),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
- B(Star), R(19),
+ B(Star), R(17),
B(LdaZero),
- B(TestReferenceEqual), R(19),
+ B(TestReferenceEqual), R(17),
B(JumpIfTrue), U8(5),
- B(Ldar), R(18),
+ B(Ldar), R(16),
B(ReThrow),
- B(Ldar), R(18),
+ B(Ldar), R(16),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(20),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(20), U8(1),
+ B(Star), R(18),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(18), U8(1),
B(Jump), U8(12),
- B(Star), R(17),
+ B(Star), R(15),
B(LdaZero),
- B(TestReferenceEqual), R(10),
+ B(TestReferenceEqual), R(8),
B(JumpIfTrue), U8(5),
- B(Ldar), R(17),
+ B(Ldar), R(15),
B(ReThrow),
- B(Ldar), R(12),
- B(SetPendingMessage),
B(Ldar), R(10),
- B(SwitchOnSmiNoFeedback), U8(10), U8(2), I8(0),
+ B(SetPendingMessage),
+ B(Ldar), R(8),
+ B(SwitchOnSmiNoFeedback), U8(9), U8(2), I8(0),
B(Jump), U8(19),
- B(Ldar), R(11),
+ B(Ldar), R(9),
B(ReThrow),
B(LdaTrue),
- B(Star), R(18),
- B(Mov), R(0), R(16),
- B(Mov), R(11), R(17),
- B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(16), U8(3),
+ B(Star), R(16),
+ B(Mov), R(0), R(14),
+ B(Mov), R(9), R(15),
+ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(14), U8(3),
/* 68 S> */ B(Return),
B(LdaUndefined),
B(Star), R(6),
@@ -316,7 +311,7 @@ bytecodes: [
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(5), U8(3),
/* 68 S> */ B(Return),
B(Star), R(5),
- B(CreateCatchContext), R(5), U8(12),
+ B(CreateCatchContext), R(5), U8(11),
B(Star), R(4),
B(LdaTheHole),
B(SetPendingMessage),
@@ -331,11 +326,10 @@ bytecodes: [
/* 68 S> */ B(Return),
]
constant pool: [
- Smi [98],
- Smi [233],
+ Smi [95],
+ Smi [228],
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
SYMBOL_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -346,9 +340,9 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
- [20, 318, 318],
- [77, 161, 169],
- [195, 264, 266],
+ [20, 313, 313],
+ [74, 158, 166],
+ [190, 259, 261],
]
---
@@ -361,9 +355,9 @@ snippet: "
}
f();
"
-frame size: 21
+frame size: 19
parameter count: 1
-bytecode array length: 341
+bytecode array length: 336
bytecodes: [
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(4),
@@ -375,50 +369,49 @@ bytecodes: [
/* 43 S> */ B(CreateArrayLiteral), U8(2), U8(0), U8(37),
B(Star), R(7),
B(LdaNamedProperty), R(7), U8(3), U8(1),
- B(JumpIfUndefined), U8(17),
- B(JumpIfNull), U8(15),
+ B(JumpIfUndefinedOrNull), U8(15),
B(Star), R(8),
B(CallProperty0), R(8), R(7), U8(3),
- B(JumpIfJSReceiver), U8(23),
+ B(JumpIfJSReceiver), U8(22),
B(CallRuntime), U16(Runtime::kThrowSymbolAsyncIteratorInvalid), R(0), U8(0),
- B(LdaNamedProperty), R(7), U8(4), U8(5),
+ B(GetIterator), R(7), U8(5),
B(Star), R(8),
B(CallProperty0), R(8), R(7), U8(7),
B(Star), R(8),
B(InvokeIntrinsic), U8(Runtime::k_CreateAsyncFromSyncIterator), R(8), U8(1),
B(Star), R(6),
- B(LdaNamedProperty), R(6), U8(5), U8(9),
+ B(LdaNamedProperty), R(6), U8(4), U8(9),
B(Star), R(5),
B(LdaFalse),
- B(Star), R(9),
- B(Mov), R(context), R(12),
+ B(Star), R(7),
+ B(Mov), R(context), R(10),
B(LdaTrue),
- B(Star), R(9),
+ B(Star), R(7),
/* 38 S> */ B(CallProperty0), R(5), R(6), U8(11),
- B(Star), R(15),
- B(Mov), R(0), R(14),
- B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(14), U8(2),
- B(SuspendGenerator), R(0), R(0), U8(14), U8(0),
- B(ResumeGenerator), R(0), R(0), U8(14),
- B(Star), R(14),
+ B(Star), R(13),
+ B(Mov), R(0), R(12),
+ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(12), U8(2),
+ B(SuspendGenerator), R(0), R(0), U8(12), U8(0),
+ B(ResumeGenerator), R(0), R(0), U8(12),
+ B(Star), R(12),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
- B(Star), R(15),
+ B(Star), R(13),
B(LdaZero),
- B(TestReferenceEqual), R(15),
+ B(TestReferenceEqual), R(13),
B(JumpIfTrue), U8(5),
- B(Ldar), R(14),
+ B(Ldar), R(12),
B(ReThrow),
- B(Ldar), R(14),
- B(Mov), R(14), R(13),
+ B(Ldar), R(12),
+ B(Mov), R(12), R(11),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
- B(LdaNamedProperty), R(13), U8(6), U8(13),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
+ B(LdaNamedProperty), R(11), U8(5), U8(13),
B(JumpIfToBooleanTrue), U8(39),
- B(LdaNamedProperty), R(13), U8(7), U8(15),
- B(Star), R(13),
+ B(LdaNamedProperty), R(11), U8(6), U8(15),
+ B(Star), R(11),
B(LdaFalse),
- B(Star), R(9),
- B(Mov), R(13), R(1),
+ B(Star), R(7),
+ B(Mov), R(11), R(1),
/* 23 E> */ B(StackCheck),
/* 38 S> */ B(Mov), R(1), R(3),
/* 63 S> */ B(LdaSmi), I8(10),
@@ -431,61 +424,60 @@ bytecodes: [
/* 103 S> */ B(Jump), U8(5),
B(JumpLoop), U8(93), I8(0),
B(LdaSmi), I8(-1),
- B(Star), R(11),
- B(Star), R(10),
+ B(Star), R(9),
+ B(Star), R(8),
B(Jump), U8(7),
- B(Star), R(11),
+ B(Star), R(9),
B(LdaZero),
- B(Star), R(10),
+ B(Star), R(8),
B(LdaTheHole),
B(SetPendingMessage),
- B(Star), R(12),
- B(Ldar), R(9),
- B(JumpIfToBooleanTrue), U8(96),
- B(LdaNamedProperty), R(6), U8(8), U8(19),
- B(Star), R(16),
- B(JumpIfUndefined), U8(88),
- B(JumpIfNull), U8(86),
- B(Mov), R(context), R(17),
+ B(Star), R(10),
+ B(Ldar), R(7),
+ B(JumpIfToBooleanTrue), U8(94),
+ B(LdaNamedProperty), R(6), U8(7), U8(19),
+ B(Star), R(14),
+ B(JumpIfUndefinedOrNull), U8(86),
+ B(Mov), R(context), R(15),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(18),
- B(LdaConstant), U8(9),
- B(Star), R(19),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(18), U8(2),
+ B(Star), R(16),
+ B(LdaConstant), U8(8),
+ B(Star), R(17),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(16), U8(2),
B(Throw),
- B(CallProperty0), R(16), R(6), U8(21),
- B(Star), R(19),
- B(Mov), R(0), R(18),
- B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(18), U8(2),
- B(SuspendGenerator), R(0), R(0), U8(18), U8(1),
- B(ResumeGenerator), R(0), R(0), U8(18),
- B(Star), R(18),
+ B(CallProperty0), R(14), R(6), U8(21),
+ B(Star), R(17),
+ B(Mov), R(0), R(16),
+ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(16), U8(2),
+ B(SuspendGenerator), R(0), R(0), U8(16), U8(1),
+ B(ResumeGenerator), R(0), R(0), U8(16),
+ B(Star), R(16),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
- B(Star), R(19),
+ B(Star), R(17),
B(LdaZero),
- B(TestReferenceEqual), R(19),
+ B(TestReferenceEqual), R(17),
B(JumpIfTrue), U8(5),
- B(Ldar), R(18),
+ B(Ldar), R(16),
B(ReThrow),
- B(Ldar), R(18),
+ B(Ldar), R(16),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(20),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(20), U8(1),
+ B(Star), R(18),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(18), U8(1),
B(Jump), U8(12),
- B(Star), R(17),
+ B(Star), R(15),
B(LdaZero),
- B(TestReferenceEqual), R(10),
+ B(TestReferenceEqual), R(8),
B(JumpIfTrue), U8(5),
- B(Ldar), R(17),
+ B(Ldar), R(15),
B(ReThrow),
- B(Ldar), R(12),
+ B(Ldar), R(10),
B(SetPendingMessage),
B(LdaZero),
- B(TestReferenceEqual), R(10),
+ B(TestReferenceEqual), R(8),
B(JumpIfFalse), U8(5),
- B(Ldar), R(11),
+ B(Ldar), R(9),
B(ReThrow),
B(LdaUndefined),
B(Star), R(6),
@@ -495,7 +487,7 @@ bytecodes: [
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(5), U8(3),
/* 114 S> */ B(Return),
B(Star), R(5),
- B(CreateCatchContext), R(5), U8(10),
+ B(CreateCatchContext), R(5), U8(9),
B(Star), R(4),
B(LdaTheHole),
B(SetPendingMessage),
@@ -510,11 +502,10 @@ bytecodes: [
/* 114 S> */ B(Return),
]
constant pool: [
- Smi [98],
- Smi [245],
+ Smi [95],
+ Smi [240],
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
SYMBOL_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -523,9 +514,9 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
- [20, 313, 313],
- [77, 173, 181],
- [207, 276, 278],
+ [20, 308, 308],
+ [74, 170, 178],
+ [202, 271, 273],
]
---
@@ -536,9 +527,9 @@ snippet: "
}
f();
"
-frame size: 17
+frame size: 15
parameter count: 1
-bytecode array length: 261
+bytecode array length: 258
bytecodes: [
B(Mov), R(closure), R(2),
B(Mov), R(this), R(3),
@@ -550,86 +541,85 @@ bytecodes: [
B(Star), R(1),
/* 68 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(37),
B(Star), R(5),
- B(LdaNamedProperty), R(5), U8(2), U8(2),
+ B(GetIterator), R(5), U8(2),
B(Star), R(6),
B(CallProperty0), R(6), R(5), U8(4),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(4),
- B(LdaNamedProperty), R(4), U8(3), U8(6),
+ B(LdaNamedProperty), R(4), U8(2), U8(6),
B(Star), R(3),
B(LdaFalse),
- B(Star), R(7),
- B(Mov), R(context), R(10),
+ B(Star), R(5),
+ B(Mov), R(context), R(8),
B(LdaTrue),
- B(Star), R(7),
+ B(Star), R(5),
/* 59 S> */ B(CallProperty0), R(3), R(4), U8(8),
- B(Star), R(11),
+ B(Star), R(9),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
- B(LdaNamedProperty), R(11), U8(4), U8(10),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1),
+ B(LdaNamedProperty), R(9), U8(3), U8(10),
B(JumpIfToBooleanTrue), U8(33),
- B(LdaNamedProperty), R(11), U8(5), U8(12),
- B(Star), R(11),
+ B(LdaNamedProperty), R(9), U8(4), U8(12),
+ B(Star), R(9),
B(LdaFalse),
- B(Star), R(7),
- B(Ldar), R(11),
- /* 58 E> */ B(StaNamedProperty), R(1), U8(6), U8(14),
+ B(Star), R(5),
+ B(Ldar), R(9),
+ /* 58 E> */ B(StaNamedProperty), R(1), U8(5), U8(14),
/* 53 E> */ B(StackCheck),
- /* 87 S> */ B(LdaNamedProperty), R(1), U8(6), U8(16),
- B(Star), R(9),
+ /* 87 S> */ B(LdaNamedProperty), R(1), U8(5), U8(16),
+ B(Star), R(7),
B(LdaSmi), I8(1),
- B(Star), R(8),
- B(Mov), R(1), R(12),
+ B(Star), R(6),
+ B(Mov), R(1), R(10),
B(Jump), U8(15),
B(LdaSmi), I8(-1),
- B(Star), R(9),
- B(Star), R(8),
+ B(Star), R(7),
+ B(Star), R(6),
B(Jump), U8(7),
- B(Star), R(9),
+ B(Star), R(7),
B(LdaZero),
- B(Star), R(8),
+ B(Star), R(6),
B(LdaTheHole),
B(SetPendingMessage),
- B(Star), R(10),
- B(Ldar), R(7),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(4), U8(7), U8(18),
- B(Star), R(13),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(14),
+ B(Star), R(8),
+ B(Ldar), R(5),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(4), U8(6), U8(18),
+ B(Star), R(11),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(12),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(15),
- B(LdaConstant), U8(8),
- B(Star), R(16),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(15), U8(2),
+ B(Star), R(13),
+ B(LdaConstant), U8(7),
+ B(Star), R(14),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
B(Throw),
- B(CallProperty0), R(13), R(4), U8(20),
+ B(CallProperty0), R(11), R(4), U8(20),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(15),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(15), U8(1),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
B(Jump), U8(12),
- B(Star), R(14),
+ B(Star), R(12),
B(LdaZero),
- B(TestReferenceEqual), R(8),
+ B(TestReferenceEqual), R(6),
B(JumpIfTrue), U8(5),
- B(Ldar), R(14),
+ B(Ldar), R(12),
B(ReThrow),
- B(Ldar), R(10),
- B(SetPendingMessage),
B(Ldar), R(8),
- B(SwitchOnSmiNoFeedback), U8(9), U8(2), I8(0),
+ B(SetPendingMessage),
+ B(Ldar), R(6),
+ B(SwitchOnSmiNoFeedback), U8(8), U8(2), I8(0),
B(Jump), U8(19),
- B(Ldar), R(9),
+ B(Ldar), R(7),
B(ReThrow),
B(LdaFalse),
- B(Star), R(15),
- B(Mov), R(0), R(13),
- B(Mov), R(9), R(14),
- B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(13), U8(3),
+ B(Star), R(13),
+ B(Mov), R(0), R(11),
+ B(Mov), R(7), R(12),
+ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(11), U8(3),
/* 96 S> */ B(Return),
B(LdaUndefined),
B(Star), R(4),
@@ -639,7 +629,7 @@ bytecodes: [
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(3), U8(3),
/* 96 S> */ B(Return),
B(Star), R(3),
- B(CreateCatchContext), R(3), U8(11),
+ B(CreateCatchContext), R(3), U8(10),
B(Star), R(2),
B(LdaTheHole),
B(SetPendingMessage),
@@ -656,7 +646,6 @@ bytecodes: [
constant pool: [
OBJECT_BOILERPLATE_DESCRIPTION_TYPE,
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -668,8 +657,8 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
- [16, 233, 233],
- [59, 112, 120],
- [146, 179, 181],
+ [16, 230, 230],
+ [58, 111, 119],
+ [143, 176, 178],
]
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForIn.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForIn.golden
index 8c24e461cd..fe1defeefb 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForIn.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForIn.golden
@@ -63,13 +63,12 @@ snippet: "
"
frame size: 8
parameter count: 1
-bytecode array length: 46
+bytecode array length: 44
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
- /* 68 S> */ B(JumpIfUndefined), U8(39),
- B(JumpIfNull), U8(37),
+ /* 68 S> */ B(JumpIfUndefinedOrNull), U8(37),
B(ToObject), R(3),
B(ForInEnumerate), R(3),
B(ForInPrepare), R(4), U8(0),
@@ -102,14 +101,13 @@ snippet: "
"
frame size: 9
parameter count: 1
-bytecode array length: 58
+bytecode array length: 56
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaZero),
B(Star), R(0),
/* 59 S> */ B(CreateArrayLiteral), U8(0), U8(1), U8(37),
- B(JumpIfUndefined), U8(48),
- B(JumpIfNull), U8(46),
+ B(JumpIfUndefinedOrNull), U8(46),
B(ToObject), R(3),
B(ForInEnumerate), R(3),
B(ForInPrepare), R(4), U8(0),
@@ -148,14 +146,13 @@ snippet: "
"
frame size: 7
parameter count: 1
-bytecode array length: 85
+bytecode array length: 83
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 77 S> */ B(CreateArrayLiteral), U8(1), U8(2), U8(37),
- B(JumpIfUndefined), U8(72),
- B(JumpIfNull), U8(70),
+ B(JumpIfUndefinedOrNull), U8(70),
B(ToObject), R(1),
B(ForInEnumerate), R(1),
B(ForInPrepare), R(2), U8(1),
@@ -202,14 +199,13 @@ snippet: "
"
frame size: 9
parameter count: 1
-bytecode array length: 64
+bytecode array length: 62
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
B(Star), R(0),
/* 72 S> */ B(CreateArrayLiteral), U8(1), U8(2), U8(37),
- B(JumpIfUndefined), U8(51),
- B(JumpIfNull), U8(49),
+ B(JumpIfUndefinedOrNull), U8(49),
B(ToObject), R(1),
B(ForInEnumerate), R(1),
B(ForInPrepare), R(2), U8(1),
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOf.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOf.golden
index 17e1d59343..1557e8d2a8 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOf.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOf.golden
@@ -9,90 +9,88 @@ wrap: yes
snippet: "
for (var p of [0, 1, 2]) {}
"
-frame size: 15
+frame size: 13
parameter count: 1
-bytecode array length: 173
+bytecode array length: 170
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
B(Star), R(4),
- B(LdaNamedProperty), R(4), U8(1), U8(1),
+ B(GetIterator), R(4), U8(1),
B(Star), R(5),
B(CallProperty0), R(5), R(4), U8(3),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(3),
- B(LdaNamedProperty), R(3), U8(2), U8(5),
+ B(LdaNamedProperty), R(3), U8(1), U8(5),
B(Star), R(2),
B(LdaFalse),
- B(Star), R(6),
- B(Mov), R(context), R(9),
+ B(Star), R(4),
+ B(Mov), R(context), R(7),
B(LdaTrue),
- B(Star), R(6),
+ B(Star), R(4),
/* 43 S> */ B(CallProperty0), R(2), R(3), U8(7),
- B(Star), R(10),
+ B(Star), R(8),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1),
- B(LdaNamedProperty), R(10), U8(3), U8(9),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(8), U8(1),
+ B(LdaNamedProperty), R(8), U8(2), U8(9),
B(JumpIfToBooleanTrue), U8(23),
- B(LdaNamedProperty), R(10), U8(4), U8(11),
- B(Star), R(10),
+ B(LdaNamedProperty), R(8), U8(3), U8(11),
+ B(Star), R(8),
B(LdaFalse),
- B(Star), R(6),
- B(Mov), R(10), R(1),
+ B(Star), R(4),
+ B(Mov), R(8), R(1),
/* 34 E> */ B(StackCheck),
/* 43 S> */ B(Mov), R(1), R(0),
- B(Ldar), R(10),
+ B(Ldar), R(8),
B(JumpLoop), U8(40), I8(0),
B(LdaSmi), I8(-1),
- B(Star), R(8),
- B(Star), R(7),
+ B(Star), R(6),
+ B(Star), R(5),
B(Jump), U8(7),
- B(Star), R(8),
+ B(Star), R(6),
B(LdaZero),
- B(Star), R(7),
+ B(Star), R(5),
B(LdaTheHole),
/* 43 E> */ B(SetPendingMessage),
+ B(Star), R(7),
+ B(Ldar), R(4),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(3), U8(4), U8(13),
B(Star), R(9),
- B(Ldar), R(6),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(3), U8(5), U8(13),
- B(Star), R(11),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(12),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(10),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(13),
- B(LdaConstant), U8(6),
- B(Star), R(14),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
+ B(Star), R(11),
+ B(LdaConstant), U8(5),
+ B(Star), R(12),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2),
B(Throw),
- B(CallProperty0), R(11), R(3), U8(15),
+ B(CallProperty0), R(9), R(3), U8(15),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(13),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
+ B(Star), R(11),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
B(Jump), U8(12),
- B(Star), R(12),
+ B(Star), R(10),
B(LdaZero),
- B(TestReferenceEqual), R(7),
+ B(TestReferenceEqual), R(5),
B(JumpIfTrue), U8(5),
- B(Ldar), R(12),
+ B(Ldar), R(10),
B(ReThrow),
- B(Ldar), R(9),
+ B(Ldar), R(7),
B(SetPendingMessage),
B(LdaZero),
- B(TestReferenceEqual), R(7),
+ B(TestReferenceEqual), R(5),
B(JumpIfFalse), U8(5),
- B(Ldar), R(8),
+ B(Ldar), R(6),
B(ReThrow),
B(LdaUndefined),
/* 62 S> */ B(Return),
]
constant pool: [
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -100,8 +98,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
- [38, 81, 89],
- [115, 148, 150],
+ [37, 80, 88],
+ [112, 145, 147],
]
---
@@ -109,95 +107,92 @@ snippet: "
var x = 'potatoes';
for (var p of x) { return p; }
"
-frame size: 16
+frame size: 14
parameter count: 1
-bytecode array length: 184
+bytecode array length: 178
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
B(Star), R(0),
- /* 68 S> */ B(LdaNamedProperty), R(0), U8(1), U8(0),
+ /* 68 S> */ B(GetIterator), R(0), U8(0),
B(Star), R(6),
B(CallProperty0), R(6), R(0), U8(2),
- B(Mov), R(0), R(5),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(4),
- B(LdaNamedProperty), R(4), U8(2), U8(4),
+ B(LdaNamedProperty), R(4), U8(1), U8(4),
B(Star), R(3),
B(LdaFalse),
- B(Star), R(7),
- B(Mov), R(context), R(10),
+ B(Star), R(5),
+ B(Mov), R(context), R(8),
B(LdaTrue),
- B(Star), R(7),
+ B(Star), R(5),
/* 63 S> */ B(CallProperty0), R(3), R(4), U8(6),
- B(Star), R(11),
+ B(Star), R(9),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
- B(LdaNamedProperty), R(11), U8(3), U8(8),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1),
+ B(LdaNamedProperty), R(9), U8(2), U8(8),
B(JumpIfToBooleanTrue), U8(27),
- B(LdaNamedProperty), R(11), U8(4), U8(10),
- B(Star), R(11),
+ B(LdaNamedProperty), R(9), U8(3), U8(10),
+ B(Star), R(9),
B(LdaFalse),
- B(Star), R(7),
- B(Mov), R(11), R(2),
+ B(Star), R(5),
+ B(Mov), R(9), R(2),
/* 54 E> */ B(StackCheck),
/* 63 S> */ B(Mov), R(2), R(1),
/* 73 S> */ B(LdaSmi), I8(1),
- B(Mov), R(11), R(9),
- B(Star), R(8),
+ B(Mov), R(9), R(7),
+ B(Star), R(6),
B(Jump), U8(15),
B(LdaSmi), I8(-1),
- B(Star), R(9),
- B(Star), R(8),
+ B(Star), R(7),
+ B(Star), R(6),
B(Jump), U8(7),
- B(Star), R(9),
+ B(Star), R(7),
B(LdaZero),
- B(Star), R(8),
+ B(Star), R(6),
B(LdaTheHole),
B(SetPendingMessage),
+ B(Star), R(8),
+ B(Ldar), R(5),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(4), U8(4), U8(12),
B(Star), R(10),
- B(Ldar), R(7),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(4), U8(5), U8(12),
- B(Star), R(12),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(13),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(11),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(14),
- B(LdaConstant), U8(6),
- B(Star), R(15),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(14), U8(2),
+ B(Star), R(12),
+ B(LdaConstant), U8(5),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
B(Throw),
- B(CallProperty0), R(12), R(4), U8(14),
+ B(CallProperty0), R(10), R(4), U8(14),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(14),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1),
+ B(Star), R(12),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
B(Jump), U8(12),
- B(Star), R(13),
+ B(Star), R(11),
B(LdaZero),
- B(TestReferenceEqual), R(8),
+ B(TestReferenceEqual), R(6),
B(JumpIfTrue), U8(5),
- B(Ldar), R(13),
+ B(Ldar), R(11),
B(ReThrow),
- B(Ldar), R(10),
- B(SetPendingMessage),
B(Ldar), R(8),
- B(SwitchOnSmiNoFeedback), U8(7), U8(2), I8(0),
+ B(SetPendingMessage),
+ B(Ldar), R(6),
+ B(SwitchOnSmiNoFeedback), U8(6), U8(2), I8(0),
B(Jump), U8(8),
- B(Ldar), R(9),
+ B(Ldar), R(7),
B(ReThrow),
- B(Ldar), R(9),
+ B(Ldar), R(7),
/* 85 S> */ B(Return),
B(LdaUndefined),
/* 85 S> */ B(Return),
]
constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["potatoes"],
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -207,8 +202,8 @@ constant pool: [
Smi [9],
]
handlers: [
- [39, 86, 94],
- [120, 153, 155],
+ [35, 82, 90],
+ [114, 147, 149],
]
---
@@ -218,37 +213,37 @@ snippet: "
if (x == 20) break;
}
"
-frame size: 15
+frame size: 13
parameter count: 1
-bytecode array length: 189
+bytecode array length: 186
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(37),
B(Star), R(4),
- B(LdaNamedProperty), R(4), U8(1), U8(1),
+ B(GetIterator), R(4), U8(1),
B(Star), R(5),
B(CallProperty0), R(5), R(4), U8(3),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(3),
- B(LdaNamedProperty), R(3), U8(2), U8(5),
+ B(LdaNamedProperty), R(3), U8(1), U8(5),
B(Star), R(2),
B(LdaFalse),
- B(Star), R(6),
- B(Mov), R(context), R(9),
+ B(Star), R(4),
+ B(Mov), R(context), R(7),
B(LdaTrue),
- B(Star), R(6),
+ B(Star), R(4),
/* 43 S> */ B(CallProperty0), R(2), R(3), U8(7),
- B(Star), R(10),
+ B(Star), R(8),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1),
- B(LdaNamedProperty), R(10), U8(3), U8(9),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(8), U8(1),
+ B(LdaNamedProperty), R(8), U8(2), U8(9),
B(JumpIfToBooleanTrue), U8(39),
- B(LdaNamedProperty), R(10), U8(4), U8(11),
- B(Star), R(10),
+ B(LdaNamedProperty), R(8), U8(3), U8(11),
+ B(Star), R(8),
B(LdaFalse),
- B(Star), R(6),
- B(Mov), R(10), R(1),
+ B(Star), R(4),
+ B(Mov), R(8), R(1),
/* 34 E> */ B(StackCheck),
/* 43 S> */ B(Mov), R(1), R(0),
/* 66 S> */ B(LdaSmi), I8(10),
@@ -261,54 +256,52 @@ bytecodes: [
/* 104 S> */ B(Jump), U8(5),
B(JumpLoop), U8(56), I8(0),
B(LdaSmi), I8(-1),
- B(Star), R(8),
- B(Star), R(7),
+ B(Star), R(6),
+ B(Star), R(5),
B(Jump), U8(7),
- B(Star), R(8),
+ B(Star), R(6),
B(LdaZero),
- B(Star), R(7),
+ B(Star), R(5),
B(LdaTheHole),
B(SetPendingMessage),
+ B(Star), R(7),
+ B(Ldar), R(4),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(3), U8(4), U8(15),
B(Star), R(9),
- B(Ldar), R(6),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(3), U8(5), U8(15),
- B(Star), R(11),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(12),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(10),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(13),
- B(LdaConstant), U8(6),
- B(Star), R(14),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
+ B(Star), R(11),
+ B(LdaConstant), U8(5),
+ B(Star), R(12),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2),
B(Throw),
- B(CallProperty0), R(11), R(3), U8(17),
+ B(CallProperty0), R(9), R(3), U8(17),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(13),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
+ B(Star), R(11),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
B(Jump), U8(12),
- B(Star), R(12),
+ B(Star), R(10),
B(LdaZero),
- B(TestReferenceEqual), R(7),
+ B(TestReferenceEqual), R(5),
B(JumpIfTrue), U8(5),
- B(Ldar), R(12),
+ B(Ldar), R(10),
B(ReThrow),
- B(Ldar), R(9),
+ B(Ldar), R(7),
B(SetPendingMessage),
B(LdaZero),
- B(TestReferenceEqual), R(7),
+ B(TestReferenceEqual), R(5),
B(JumpIfFalse), U8(5),
- B(Ldar), R(8),
+ B(Ldar), R(6),
B(ReThrow),
B(LdaUndefined),
/* 113 S> */ B(Return),
]
constant pool: [
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -316,8 +309,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
- [38, 97, 105],
- [131, 164, 166],
+ [37, 96, 104],
+ [128, 161, 163],
]
---
@@ -325,91 +318,90 @@ snippet: "
var x = { 'a': 1, 'b': 2 };
for (x['a'] of [1,2,3]) { return x['a']; }
"
-frame size: 15
+frame size: 13
parameter count: 1
-bytecode array length: 195
+bytecode array length: 192
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
/* 77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(37),
B(Star), R(3),
- B(LdaNamedProperty), R(3), U8(2), U8(2),
+ B(GetIterator), R(3), U8(2),
B(Star), R(4),
B(CallProperty0), R(4), R(3), U8(4),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(2),
- B(LdaNamedProperty), R(2), U8(3), U8(6),
+ B(LdaNamedProperty), R(2), U8(2), U8(6),
B(Star), R(1),
B(LdaFalse),
- B(Star), R(5),
- B(Mov), R(context), R(8),
+ B(Star), R(3),
+ B(Mov), R(context), R(6),
B(LdaTrue),
- B(Star), R(5),
+ B(Star), R(3),
/* 68 S> */ B(CallProperty0), R(1), R(2), U8(8),
- B(Star), R(9),
+ B(Star), R(7),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1),
- B(LdaNamedProperty), R(9), U8(4), U8(10),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(7), U8(1),
+ B(LdaNamedProperty), R(7), U8(3), U8(10),
B(JumpIfToBooleanTrue), U8(33),
- B(LdaNamedProperty), R(9), U8(5), U8(12),
- B(Star), R(9),
+ B(LdaNamedProperty), R(7), U8(4), U8(12),
+ B(Star), R(7),
B(LdaFalse),
- B(Star), R(5),
- B(Ldar), R(9),
- /* 67 E> */ B(StaNamedProperty), R(0), U8(6), U8(14),
+ B(Star), R(3),
+ B(Ldar), R(7),
+ /* 67 E> */ B(StaNamedProperty), R(0), U8(5), U8(14),
/* 62 E> */ B(StackCheck),
- /* 96 S> */ B(LdaNamedProperty), R(0), U8(6), U8(16),
- B(Star), R(7),
+ /* 96 S> */ B(LdaNamedProperty), R(0), U8(5), U8(16),
+ B(Star), R(5),
B(LdaSmi), I8(1),
- B(Star), R(6),
- B(Mov), R(0), R(10),
+ B(Star), R(4),
+ B(Mov), R(0), R(8),
B(Jump), U8(15),
B(LdaSmi), I8(-1),
- B(Star), R(7),
- B(Star), R(6),
+ B(Star), R(5),
+ B(Star), R(4),
B(Jump), U8(7),
- B(Star), R(7),
+ B(Star), R(5),
B(LdaZero),
- B(Star), R(6),
+ B(Star), R(4),
B(LdaTheHole),
B(SetPendingMessage),
- B(Star), R(8),
- B(Ldar), R(5),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(2), U8(7), U8(18),
- B(Star), R(11),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(12),
+ B(Star), R(6),
+ B(Ldar), R(3),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(2), U8(6), U8(18),
+ B(Star), R(9),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(10),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(13),
- B(LdaConstant), U8(8),
- B(Star), R(14),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
+ B(Star), R(11),
+ B(LdaConstant), U8(7),
+ B(Star), R(12),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2),
B(Throw),
- B(CallProperty0), R(11), R(2), U8(20),
+ B(CallProperty0), R(9), R(2), U8(20),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(13),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
+ B(Star), R(11),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
B(Jump), U8(12),
- B(Star), R(12),
+ B(Star), R(10),
B(LdaZero),
- B(TestReferenceEqual), R(6),
+ B(TestReferenceEqual), R(4),
B(JumpIfTrue), U8(5),
- B(Ldar), R(12),
+ B(Ldar), R(10),
B(ReThrow),
- B(Ldar), R(8),
- B(SetPendingMessage),
B(Ldar), R(6),
- B(SwitchOnSmiNoFeedback), U8(9), U8(2), I8(0),
+ B(SetPendingMessage),
+ B(Ldar), R(4),
+ B(SwitchOnSmiNoFeedback), U8(8), U8(2), I8(0),
B(Jump), U8(8),
- B(Ldar), R(7),
+ B(Ldar), R(5),
B(ReThrow),
- B(Ldar), R(7),
+ B(Ldar), R(5),
/* 105 S> */ B(Return),
B(LdaUndefined),
/* 105 S> */ B(Return),
@@ -417,7 +409,6 @@ bytecodes: [
constant pool: [
OBJECT_BOILERPLATE_DESCRIPTION_TYPE,
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -428,7 +419,7 @@ constant pool: [
Smi [9],
]
handlers: [
- [44, 97, 105],
- [131, 164, 166],
+ [43, 96, 104],
+ [128, 161, 163],
]
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden
index 1b10e1bf6e..f50891172e 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden
@@ -13,89 +13,86 @@ snippet: "
}
f([1, 2, 3]);
"
-frame size: 17
+frame size: 15
parameter count: 2
-bytecode array length: 173
+bytecode array length: 167
bytecodes: [
/* 10 E> */ B(StackCheck),
- /* 34 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0),
+ /* 34 S> */ B(GetIterator), R(arg0), U8(0),
B(Star), R(7),
B(CallProperty0), R(7), R(arg0), U8(2),
- B(Mov), R(arg0), R(6),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(5),
- B(LdaNamedProperty), R(5), U8(1), U8(4),
+ B(LdaNamedProperty), R(5), U8(0), U8(4),
B(Star), R(4),
B(LdaFalse),
- B(Star), R(8),
- B(Mov), R(context), R(11),
+ B(Star), R(6),
+ B(Mov), R(context), R(9),
B(LdaTrue),
- B(Star), R(8),
+ B(Star), R(6),
/* 29 S> */ B(CallProperty0), R(4), R(5), U8(6),
- B(Star), R(12),
+ B(Star), R(10),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
- B(LdaNamedProperty), R(12), U8(2), U8(8),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1),
+ B(LdaNamedProperty), R(10), U8(1), U8(8),
B(JumpIfToBooleanTrue), U8(26),
- B(LdaNamedProperty), R(12), U8(3), U8(10),
- B(Star), R(12),
+ B(LdaNamedProperty), R(10), U8(2), U8(10),
+ B(Star), R(10),
B(LdaFalse),
- B(Star), R(8),
- B(Mov), R(12), R(0),
+ B(Star), R(6),
+ B(Mov), R(10), R(0),
/* 20 E> */ B(StackCheck),
/* 29 S> */ B(Mov), R(0), R(2),
/* 49 S> */ B(Mov), R(2), R(3),
- B(Ldar), R(12),
+ B(Ldar), R(10),
B(JumpLoop), U8(43), I8(0),
B(LdaSmi), I8(-1),
- B(Star), R(10),
- B(Star), R(9),
+ B(Star), R(8),
+ B(Star), R(7),
B(Jump), U8(7),
- B(Star), R(10),
+ B(Star), R(8),
B(LdaZero),
- B(Star), R(9),
+ B(Star), R(7),
B(LdaTheHole),
/* 49 E> */ B(SetPendingMessage),
+ B(Star), R(9),
+ B(Ldar), R(6),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(5), U8(3), U8(12),
B(Star), R(11),
- B(Ldar), R(8),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(5), U8(4), U8(12),
- B(Star), R(13),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(14),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(12),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(15),
- B(LdaConstant), U8(5),
- B(Star), R(16),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(15), U8(2),
+ B(Star), R(13),
+ B(LdaConstant), U8(4),
+ B(Star), R(14),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
B(Throw),
- B(CallProperty0), R(13), R(5), U8(14),
+ B(CallProperty0), R(11), R(5), U8(14),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(15),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(15), U8(1),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
B(Jump), U8(12),
- B(Star), R(14),
+ B(Star), R(12),
B(LdaZero),
- B(TestReferenceEqual), R(9),
+ B(TestReferenceEqual), R(7),
B(JumpIfTrue), U8(5),
- B(Ldar), R(14),
+ B(Ldar), R(12),
B(ReThrow),
- B(Ldar), R(11),
+ B(Ldar), R(9),
B(SetPendingMessage),
B(LdaZero),
- B(TestReferenceEqual), R(9),
+ B(TestReferenceEqual), R(7),
B(JumpIfFalse), U8(5),
- B(Ldar), R(10),
+ B(Ldar), R(8),
B(ReThrow),
B(LdaUndefined),
/* 54 S> */ B(Return),
]
constant pool: [
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -103,8 +100,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
- [35, 81, 89],
- [115, 148, 150],
+ [31, 77, 85],
+ [109, 142, 144],
]
---
@@ -114,9 +111,9 @@ snippet: "
}
f([1, 2, 3]);
"
-frame size: 22
+frame size: 20
parameter count: 2
-bytecode array length: 254
+bytecode array length: 251
bytecodes: [
B(CreateFunctionContext), U8(0), U8(4),
B(PushContext), R(2),
@@ -135,98 +132,97 @@ bytecodes: [
B(StaCurrentContextSlot), U8(4),
/* 34 S> */ B(LdaContextSlot), R(3), U8(4), U8(0),
B(Star), R(6),
- B(LdaNamedProperty), R(6), U8(2), U8(0),
+ B(GetIterator), R(6), U8(0),
B(Star), R(7),
B(CallProperty0), R(7), R(6), U8(2),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(5),
- B(LdaNamedProperty), R(5), U8(3), U8(4),
+ B(LdaNamedProperty), R(5), U8(2), U8(4),
B(Star), R(4),
B(LdaFalse),
- B(Star), R(8),
- B(Mov), R(context), R(11),
+ B(Star), R(6),
+ B(Mov), R(context), R(9),
B(LdaTrue),
- B(Star), R(8),
+ B(Star), R(6),
/* 29 S> */ B(CallProperty0), R(4), R(5), U8(6),
- B(Star), R(12),
+ B(Star), R(10),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
- B(LdaNamedProperty), R(12), U8(4), U8(8),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1),
+ B(LdaNamedProperty), R(10), U8(3), U8(8),
B(JumpIfToBooleanTrue), U8(75),
- B(LdaNamedProperty), R(12), U8(5), U8(10),
- B(Star), R(12),
+ B(LdaNamedProperty), R(10), U8(4), U8(10),
+ B(Star), R(10),
B(LdaFalse),
- B(Star), R(8),
- B(Mov), R(12), R(0),
+ B(Star), R(6),
+ B(Mov), R(10), R(0),
/* 20 E> */ B(StackCheck),
- B(CreateBlockContext), U8(6),
- B(PushContext), R(13),
+ B(CreateBlockContext), U8(5),
+ B(PushContext), R(11),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(4),
/* 29 S> */ B(Ldar), R(0),
/* 29 E> */ B(StaCurrentContextSlot), U8(4),
- /* 41 S> */ B(LdaLookupGlobalSlot), U8(7), U8(12), U8(3),
- B(Star), R(14),
- B(LdaConstant), U8(8),
- B(Star), R(15),
+ /* 41 S> */ B(LdaLookupGlobalSlot), U8(6), U8(12), U8(3),
+ B(Star), R(12),
+ B(LdaConstant), U8(7),
+ B(Star), R(13),
B(LdaZero),
- B(Star), R(19),
+ B(Star), R(17),
B(LdaSmi), I8(37),
- B(Star), R(20),
+ B(Star), R(18),
B(LdaSmi), I8(41),
- B(Star), R(21),
- B(Mov), R(14), R(16),
- B(Mov), R(15), R(17),
- B(Mov), R(closure), R(18),
- B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(16), U8(6),
- B(Star), R(14),
- /* 41 E> */ B(CallUndefinedReceiver1), R(14), R(15), U8(14),
- B(PopContext), R(13),
- B(Mov), R(0), R(12),
+ B(Star), R(19),
+ B(Mov), R(12), R(14),
+ B(Mov), R(13), R(15),
+ B(Mov), R(closure), R(16),
+ B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(14), U8(6),
+ B(Star), R(12),
+ /* 41 E> */ B(CallUndefinedReceiver1), R(12), R(13), U8(14),
+ B(PopContext), R(11),
+ B(Mov), R(0), R(10),
B(JumpLoop), U8(92), I8(0),
B(LdaSmi), I8(-1),
- B(Star), R(10),
- B(Star), R(9),
+ B(Star), R(8),
+ B(Star), R(7),
B(Jump), U8(7),
- B(Star), R(10),
+ B(Star), R(8),
B(LdaZero),
- B(Star), R(9),
+ B(Star), R(7),
B(LdaTheHole),
B(SetPendingMessage),
- B(Star), R(11),
- B(Ldar), R(8),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(5), U8(9), U8(16),
- B(Star), R(14),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(15),
+ B(Star), R(9),
+ B(Ldar), R(6),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(5), U8(8), U8(16),
+ B(Star), R(12),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(13),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(16),
- B(LdaConstant), U8(10),
- B(Star), R(17),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(16), U8(2),
+ B(Star), R(14),
+ B(LdaConstant), U8(9),
+ B(Star), R(15),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(14), U8(2),
B(Throw),
- B(CallProperty0), R(14), R(5), U8(18),
+ B(CallProperty0), R(12), R(5), U8(18),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(16),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(16), U8(1),
+ B(Star), R(14),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1),
B(Jump), U8(12),
- B(Star), R(15),
+ B(Star), R(13),
B(LdaZero),
- B(TestReferenceEqual), R(9),
+ B(TestReferenceEqual), R(7),
B(JumpIfTrue), U8(5),
- B(Ldar), R(15),
+ B(Ldar), R(13),
B(ReThrow),
- B(Ldar), R(11),
+ B(Ldar), R(9),
B(SetPendingMessage),
B(LdaZero),
- B(TestReferenceEqual), R(9),
+ B(TestReferenceEqual), R(7),
B(JumpIfFalse), U8(5),
- B(Ldar), R(10),
+ B(Ldar), R(8),
B(ReThrow),
B(PopContext), R(3),
B(LdaUndefined),
@@ -235,7 +231,6 @@ bytecodes: [
constant pool: [
SCOPE_INFO_TYPE,
SCOPE_INFO_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -246,8 +241,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
- [65, 160, 168],
- [194, 227, 229],
+ [64, 159, 167],
+ [191, 224, 226],
]
---
@@ -257,97 +252,94 @@ snippet: "
}
f([1, 2, 3]);
"
-frame size: 16
+frame size: 14
parameter count: 2
-bytecode array length: 190
+bytecode array length: 184
bytecodes: [
/* 10 E> */ B(StackCheck),
- /* 34 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0),
+ /* 34 S> */ B(GetIterator), R(arg0), U8(0),
B(Star), R(5),
B(CallProperty0), R(5), R(arg0), U8(2),
- B(Mov), R(arg0), R(4),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(3),
- B(LdaNamedProperty), R(3), U8(1), U8(4),
+ B(LdaNamedProperty), R(3), U8(0), U8(4),
B(Star), R(2),
B(LdaFalse),
- B(Star), R(6),
- B(Mov), R(context), R(9),
+ B(Star), R(4),
+ B(Mov), R(context), R(7),
B(LdaTrue),
- B(Star), R(6),
+ B(Star), R(4),
/* 29 S> */ B(CallProperty0), R(2), R(3), U8(6),
- B(Star), R(10),
+ B(Star), R(8),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1),
- B(LdaNamedProperty), R(10), U8(2), U8(8),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(8), U8(1),
+ B(LdaNamedProperty), R(8), U8(1), U8(8),
B(JumpIfToBooleanTrue), U8(43),
- B(LdaNamedProperty), R(10), U8(3), U8(10),
- B(Star), R(10),
+ B(LdaNamedProperty), R(8), U8(2), U8(10),
+ B(Star), R(8),
B(LdaFalse),
- B(Star), R(6),
- B(Mov), R(10), R(0),
+ B(Star), R(4),
+ B(Mov), R(8), R(0),
/* 20 E> */ B(StackCheck),
- B(CreateBlockContext), U8(4),
- B(PushContext), R(11),
+ B(CreateBlockContext), U8(3),
+ B(PushContext), R(9),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(4),
/* 29 S> */ B(Ldar), R(0),
/* 29 E> */ B(StaCurrentContextSlot), U8(4),
- /* 41 S> */ B(CreateClosure), U8(5), U8(0), U8(2),
- B(Star), R(12),
- /* 67 E> */ B(CallUndefinedReceiver0), R(12), U8(12),
- B(PopContext), R(11),
- B(Mov), R(0), R(10),
+ /* 41 S> */ B(CreateClosure), U8(4), U8(0), U8(2),
+ B(Star), R(10),
+ /* 67 E> */ B(CallUndefinedReceiver0), R(10), U8(12),
+ B(PopContext), R(9),
+ B(Mov), R(0), R(8),
B(JumpLoop), U8(60), I8(0),
B(LdaSmi), I8(-1),
- B(Star), R(8),
- B(Star), R(7),
+ B(Star), R(6),
+ B(Star), R(5),
B(Jump), U8(7),
- B(Star), R(8),
+ B(Star), R(6),
B(LdaZero),
- B(Star), R(7),
+ B(Star), R(5),
B(LdaTheHole),
B(SetPendingMessage),
- B(Star), R(9),
- B(Ldar), R(6),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(3), U8(6), U8(14),
- B(Star), R(12),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(13),
+ B(Star), R(7),
+ B(Ldar), R(4),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(3), U8(5), U8(14),
+ B(Star), R(10),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(11),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(14),
- B(LdaConstant), U8(7),
- B(Star), R(15),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(14), U8(2),
+ B(Star), R(12),
+ B(LdaConstant), U8(6),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
B(Throw),
- B(CallProperty0), R(12), R(3), U8(16),
+ B(CallProperty0), R(10), R(3), U8(16),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(14),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1),
+ B(Star), R(12),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
B(Jump), U8(12),
- B(Star), R(13),
+ B(Star), R(11),
B(LdaZero),
- B(TestReferenceEqual), R(7),
+ B(TestReferenceEqual), R(5),
B(JumpIfTrue), U8(5),
- B(Ldar), R(13),
+ B(Ldar), R(11),
B(ReThrow),
- B(Ldar), R(9),
+ B(Ldar), R(7),
B(SetPendingMessage),
B(LdaZero),
- B(TestReferenceEqual), R(7),
+ B(TestReferenceEqual), R(5),
B(JumpIfFalse), U8(5),
- B(Ldar), R(8),
+ B(Ldar), R(6),
B(ReThrow),
B(LdaUndefined),
/* 73 S> */ B(Return),
]
constant pool: [
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -357,8 +349,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
- [35, 98, 106],
- [132, 165, 167],
+ [31, 94, 102],
+ [126, 159, 161],
]
---
@@ -368,98 +360,90 @@ snippet: "
}
f([{ x: 0, y: 3 }, { x: 1, y: 9 }, { x: -12, y: 17 }]);
"
-frame size: 19
+frame size: 17
parameter count: 2
-bytecode array length: 197
+bytecode array length: 178
bytecodes: [
/* 10 E> */ B(StackCheck),
- /* 41 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0),
+ /* 41 S> */ B(GetIterator), R(arg0), U8(0),
B(Star), R(9),
B(CallProperty0), R(9), R(arg0), U8(2),
- B(Mov), R(arg0), R(8),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(7),
- B(LdaNamedProperty), R(7), U8(1), U8(4),
+ B(LdaNamedProperty), R(7), U8(0), U8(4),
B(Star), R(6),
B(LdaFalse),
- B(Star), R(10),
- B(Mov), R(context), R(13),
+ B(Star), R(8),
+ B(Mov), R(context), R(11),
B(LdaTrue),
- B(Star), R(10),
+ B(Star), R(8),
/* 36 S> */ B(CallProperty0), R(6), R(7), U8(6),
- B(Star), R(14),
+ B(Star), R(12),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1),
- B(LdaNamedProperty), R(14), U8(2), U8(8),
- B(JumpIfToBooleanTrue), U8(50),
- B(LdaNamedProperty), R(14), U8(3), U8(10),
- B(Star), R(14),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
+ B(LdaNamedProperty), R(12), U8(1), U8(8),
+ B(JumpIfToBooleanTrue), U8(37),
+ B(LdaNamedProperty), R(12), U8(2), U8(10),
+ B(Star), R(12),
B(LdaFalse),
- B(Star), R(10),
- B(Mov), R(14), R(0),
+ B(Star), R(8),
+ B(Mov), R(12), R(0),
/* 20 E> */ B(StackCheck),
- /* 36 S> */ B(Ldar), R(14),
- B(JumpIfNull), U8(4),
- B(JumpIfNotUndefined), U8(7),
- /* 29 E> */ B(CallRuntime), U16(Runtime::kThrowPatternAssignmentNonCoercible), R(0), U8(0),
- B(Star), R(15),
- /* 31 S> */ B(LdaNamedProperty), R(15), U8(4), U8(12),
+ /* 31 S> */ B(LdaNamedProperty), R(0), U8(3), U8(12),
B(Star), R(3),
- /* 34 S> */ B(LdaNamedProperty), R(15), U8(5), U8(14),
+ /* 34 S> */ B(LdaNamedProperty), R(0), U8(4), U8(14),
B(Star), R(4),
/* 56 S> */ B(Ldar), R(4),
/* 58 E> */ B(Add), R(3), U8(16),
B(Star), R(5),
- B(JumpLoop), U8(67), I8(0),
+ B(JumpLoop), U8(54), I8(0),
B(LdaSmi), I8(-1),
- B(Star), R(12),
- B(Star), R(11),
+ B(Star), R(10),
+ B(Star), R(9),
B(Jump), U8(7),
- B(Star), R(12),
+ B(Star), R(10),
B(LdaZero),
- B(Star), R(11),
+ B(Star), R(9),
B(LdaTheHole),
/* 56 E> */ B(SetPendingMessage),
+ B(Star), R(11),
+ B(Ldar), R(8),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(7), U8(5), U8(17),
B(Star), R(13),
- B(Ldar), R(10),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(7), U8(6), U8(17),
- B(Star), R(15),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(16),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(14),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(17),
- B(LdaConstant), U8(7),
- B(Star), R(18),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(17), U8(2),
+ B(Star), R(15),
+ B(LdaConstant), U8(6),
+ B(Star), R(16),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(15), U8(2),
B(Throw),
- B(CallProperty0), R(15), R(7), U8(19),
+ B(CallProperty0), R(13), R(7), U8(19),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(17),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(17), U8(1),
+ B(Star), R(15),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(15), U8(1),
B(Jump), U8(12),
- B(Star), R(16),
+ B(Star), R(14),
B(LdaZero),
- B(TestReferenceEqual), R(11),
+ B(TestReferenceEqual), R(9),
B(JumpIfTrue), U8(5),
- B(Ldar), R(16),
+ B(Ldar), R(14),
B(ReThrow),
- B(Ldar), R(13),
+ B(Ldar), R(11),
B(SetPendingMessage),
B(LdaZero),
- B(TestReferenceEqual), R(11),
+ B(TestReferenceEqual), R(9),
B(JumpIfFalse), U8(5),
- B(Ldar), R(12),
+ B(Ldar), R(10),
B(ReThrow),
B(LdaUndefined),
/* 65 S> */ B(Return),
]
constant pool: [
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -469,8 +453,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
- [35, 105, 113],
- [139, 172, 174],
+ [31, 88, 96],
+ [120, 153, 155],
]
---
@@ -480,9 +464,9 @@ snippet: "
}
f([1, 2, 3]);
"
-frame size: 18
+frame size: 16
parameter count: 2
-bytecode array length: 214
+bytecode array length: 208
bytecodes: [
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(5),
@@ -499,78 +483,76 @@ bytecodes: [
/* 11 E> */ B(Throw),
B(Ldar), R(5),
/* 55 S> */ B(Return),
- /* 35 S> */ B(LdaNamedProperty), R(arg0), U8(3), U8(0),
+ /* 35 S> */ B(GetIterator), R(arg0), U8(0),
B(Star), R(8),
B(CallProperty0), R(8), R(arg0), U8(2),
- B(Mov), R(arg0), R(7),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(6),
- B(LdaNamedProperty), R(6), U8(4), U8(4),
+ B(LdaNamedProperty), R(6), U8(3), U8(4),
B(Star), R(5),
B(LdaFalse),
- B(Star), R(9),
- B(Mov), R(context), R(12),
+ B(Star), R(7),
+ B(Mov), R(context), R(10),
B(LdaTrue),
- B(Star), R(9),
+ B(Star), R(7),
/* 30 S> */ B(CallProperty0), R(5), R(6), U8(6),
- B(Star), R(13),
+ B(Star), R(11),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
- B(LdaNamedProperty), R(13), U8(5), U8(8),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
+ B(LdaNamedProperty), R(11), U8(4), U8(8),
B(JumpIfToBooleanTrue), U8(26),
- B(LdaNamedProperty), R(13), U8(6), U8(10),
- B(Star), R(13),
+ B(LdaNamedProperty), R(11), U8(5), U8(10),
+ B(Star), R(11),
B(LdaFalse),
- B(Star), R(9),
- B(Mov), R(13), R(1),
+ B(Star), R(7),
+ B(Mov), R(11), R(1),
/* 21 E> */ B(StackCheck),
/* 30 S> */ B(Mov), R(1), R(3),
/* 50 S> */ B(Mov), R(3), R(4),
- B(Ldar), R(13),
+ B(Ldar), R(11),
B(JumpLoop), U8(43), I8(0),
B(LdaSmi), I8(-1),
- B(Star), R(11),
- B(Star), R(10),
+ B(Star), R(9),
+ B(Star), R(8),
B(Jump), U8(7),
- B(Star), R(11),
+ B(Star), R(9),
B(LdaZero),
- B(Star), R(10),
+ B(Star), R(8),
B(LdaTheHole),
/* 50 E> */ B(SetPendingMessage),
+ B(Star), R(10),
+ B(Ldar), R(7),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(6), U8(6), U8(12),
B(Star), R(12),
- B(Ldar), R(9),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(6), U8(7), U8(12),
- B(Star), R(14),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(15),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(13),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(16),
- B(LdaConstant), U8(8),
- B(Star), R(17),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(16), U8(2),
+ B(Star), R(14),
+ B(LdaConstant), U8(7),
+ B(Star), R(15),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(14), U8(2),
B(Throw),
- B(CallProperty0), R(14), R(6), U8(14),
+ B(CallProperty0), R(12), R(6), U8(14),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(16),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(16), U8(1),
+ B(Star), R(14),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1),
B(Jump), U8(12),
- B(Star), R(15),
+ B(Star), R(13),
B(LdaZero),
- B(TestReferenceEqual), R(10),
+ B(TestReferenceEqual), R(8),
B(JumpIfTrue), U8(5),
- B(Ldar), R(15),
+ B(Ldar), R(13),
B(ReThrow),
- B(Ldar), R(12),
+ B(Ldar), R(10),
B(SetPendingMessage),
B(LdaZero),
- B(TestReferenceEqual), R(10),
+ B(TestReferenceEqual), R(8),
B(JumpIfFalse), U8(5),
- B(Ldar), R(11),
+ B(Ldar), R(9),
B(ReThrow),
B(LdaUndefined),
/* 55 S> */ B(Return),
@@ -579,7 +561,6 @@ constant pool: [
Smi [22],
Smi [10],
Smi [7],
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -587,8 +568,8 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
]
handlers: [
- [76, 122, 130],
- [156, 189, 191],
+ [72, 118, 126],
+ [150, 183, 185],
]
---
@@ -598,9 +579,9 @@ snippet: "
}
f([1, 2, 3]);
"
-frame size: 17
+frame size: 15
parameter count: 2
-bytecode array length: 258
+bytecode array length: 252
bytecodes: [
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(4),
@@ -617,104 +598,101 @@ bytecodes: [
/* 11 E> */ B(Throw),
B(Ldar), R(4),
/* 49 S> */ B(Return),
- /* 35 S> */ B(LdaNamedProperty), R(arg0), U8(4), U8(0),
+ /* 35 S> */ B(GetIterator), R(arg0), U8(0),
B(Star), R(7),
B(CallProperty0), R(7), R(arg0), U8(2),
- B(Mov), R(arg0), R(6),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(5),
- B(LdaNamedProperty), R(5), U8(5), U8(4),
+ B(LdaNamedProperty), R(5), U8(4), U8(4),
B(Star), R(4),
B(LdaFalse),
- B(Star), R(8),
- B(Mov), R(context), R(11),
+ B(Star), R(6),
+ B(Mov), R(context), R(9),
B(LdaTrue),
- B(Star), R(8),
+ B(Star), R(6),
/* 30 S> */ B(CallProperty0), R(4), R(5), U8(6),
- B(Star), R(12),
+ B(Star), R(10),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
- B(LdaNamedProperty), R(12), U8(6), U8(8),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1),
+ B(LdaNamedProperty), R(10), U8(5), U8(8),
B(JumpIfToBooleanTrue), U8(64),
- B(LdaNamedProperty), R(12), U8(7), U8(10),
- B(Star), R(12),
+ B(LdaNamedProperty), R(10), U8(6), U8(10),
+ B(Star), R(10),
B(LdaFalse),
- B(Star), R(8),
- B(Mov), R(12), R(1),
+ B(Star), R(6),
+ B(Mov), R(10), R(1),
/* 21 E> */ B(StackCheck),
/* 30 S> */ B(Mov), R(1), R(3),
/* 40 S> */ B(LdaFalse),
- B(Star), R(14),
- B(Mov), R(3), R(13),
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(13), U8(2),
- /* 40 E> */ B(SuspendGenerator), R(0), R(0), U8(13), U8(1),
- B(ResumeGenerator), R(0), R(0), U8(13),
- B(Star), R(13),
+ B(Star), R(12),
+ B(Mov), R(3), R(11),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(11), U8(2),
+ /* 40 E> */ B(SuspendGenerator), R(0), R(0), U8(11), U8(1),
+ B(ResumeGenerator), R(0), R(0), U8(11),
+ B(Star), R(11),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
- B(SwitchOnSmiNoFeedback), U8(8), U8(2), I8(0),
- B(Ldar), R(13),
+ B(SwitchOnSmiNoFeedback), U8(7), U8(2), I8(0),
+ B(Ldar), R(11),
/* 40 E> */ B(Throw),
B(LdaSmi), I8(1),
- B(Star), R(9),
- B(Mov), R(13), R(10),
+ B(Star), R(7),
+ B(Mov), R(11), R(8),
B(Jump), U8(20),
- B(Ldar), R(13),
+ B(Ldar), R(11),
B(JumpLoop), U8(81), I8(0),
B(LdaSmi), I8(-1),
- B(Star), R(10),
- B(Star), R(9),
+ B(Star), R(8),
+ B(Star), R(7),
B(Jump), U8(7),
- B(Star), R(10),
+ B(Star), R(8),
B(LdaZero),
- B(Star), R(9),
+ B(Star), R(7),
B(LdaTheHole),
B(SetPendingMessage),
+ B(Star), R(9),
+ B(Ldar), R(6),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(5), U8(9), U8(12),
B(Star), R(11),
- B(Ldar), R(8),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(5), U8(10), U8(12),
- B(Star), R(13),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(14),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(12),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(15),
- B(LdaConstant), U8(11),
- B(Star), R(16),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(15), U8(2),
+ B(Star), R(13),
+ B(LdaConstant), U8(10),
+ B(Star), R(14),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
B(Throw),
- B(CallProperty0), R(13), R(5), U8(14),
+ B(CallProperty0), R(11), R(5), U8(14),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(15),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(15), U8(1),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
B(Jump), U8(12),
- B(Star), R(14),
+ B(Star), R(12),
B(LdaZero),
- B(TestReferenceEqual), R(9),
+ B(TestReferenceEqual), R(7),
B(JumpIfTrue), U8(5),
- B(Ldar), R(14),
+ B(Ldar), R(12),
B(ReThrow),
- B(Ldar), R(11),
- B(SetPendingMessage),
B(Ldar), R(9),
- B(SwitchOnSmiNoFeedback), U8(12), U8(2), I8(0),
+ B(SetPendingMessage),
+ B(Ldar), R(7),
+ B(SwitchOnSmiNoFeedback), U8(11), U8(2), I8(0),
B(Jump), U8(8),
- B(Ldar), R(10),
+ B(Ldar), R(8),
B(ReThrow),
- B(Ldar), R(10),
+ B(Ldar), R(8),
/* 49 S> */ B(Return),
B(LdaUndefined),
/* 49 S> */ B(Return),
]
constant pool: [
Smi [22],
- Smi [129],
+ Smi [125],
Smi [10],
Smi [7],
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -726,8 +704,8 @@ constant pool: [
Smi [9],
]
handlers: [
- [76, 160, 168],
- [194, 227, 229],
+ [72, 156, 164],
+ [188, 221, 223],
]
---
@@ -737,9 +715,9 @@ snippet: "
}
f([1, 2, 3]);
"
-frame size: 19
+frame size: 17
parameter count: 2
-bytecode array length: 228
+bytecode array length: 222
bytecodes: [
B(Mov), R(closure), R(5),
B(Mov), R(this), R(6),
@@ -747,78 +725,76 @@ bytecodes: [
B(Star), R(0),
/* 16 E> */ B(StackCheck),
B(Mov), R(context), R(5),
- /* 40 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0),
+ /* 40 S> */ B(GetIterator), R(arg0), U8(0),
B(Star), R(9),
B(CallProperty0), R(9), R(arg0), U8(2),
- B(Mov), R(arg0), R(8),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(7),
- B(LdaNamedProperty), R(7), U8(1), U8(4),
+ B(LdaNamedProperty), R(7), U8(0), U8(4),
B(Star), R(6),
B(LdaFalse),
- B(Star), R(10),
- B(Mov), R(context), R(13),
+ B(Star), R(8),
+ B(Mov), R(context), R(11),
B(LdaTrue),
- B(Star), R(10),
+ B(Star), R(8),
/* 35 S> */ B(CallProperty0), R(6), R(7), U8(6),
- B(Star), R(14),
+ B(Star), R(12),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1),
- B(LdaNamedProperty), R(14), U8(2), U8(8),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
+ B(LdaNamedProperty), R(12), U8(1), U8(8),
B(JumpIfToBooleanTrue), U8(26),
- B(LdaNamedProperty), R(14), U8(3), U8(10),
- B(Star), R(14),
+ B(LdaNamedProperty), R(12), U8(2), U8(10),
+ B(Star), R(12),
B(LdaFalse),
- B(Star), R(10),
- B(Mov), R(14), R(1),
+ B(Star), R(8),
+ B(Mov), R(12), R(1),
/* 26 E> */ B(StackCheck),
/* 35 S> */ B(Mov), R(1), R(3),
/* 55 S> */ B(Mov), R(3), R(4),
- B(Ldar), R(14),
+ B(Ldar), R(12),
B(JumpLoop), U8(43), I8(0),
B(LdaSmi), I8(-1),
- B(Star), R(12),
- B(Star), R(11),
+ B(Star), R(10),
+ B(Star), R(9),
B(Jump), U8(7),
- B(Star), R(12),
+ B(Star), R(10),
B(LdaZero),
- B(Star), R(11),
+ B(Star), R(9),
B(LdaTheHole),
/* 55 E> */ B(SetPendingMessage),
+ B(Star), R(11),
+ B(Ldar), R(8),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(7), U8(3), U8(12),
B(Star), R(13),
- B(Ldar), R(10),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(7), U8(4), U8(12),
- B(Star), R(15),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(16),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(14),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(17),
- B(LdaConstant), U8(5),
- B(Star), R(18),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(17), U8(2),
+ B(Star), R(15),
+ B(LdaConstant), U8(4),
+ B(Star), R(16),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(15), U8(2),
B(Throw),
- B(CallProperty0), R(15), R(7), U8(14),
+ B(CallProperty0), R(13), R(7), U8(14),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(17),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(17), U8(1),
+ B(Star), R(15),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(15), U8(1),
B(Jump), U8(12),
- B(Star), R(16),
+ B(Star), R(14),
B(LdaZero),
- B(TestReferenceEqual), R(11),
+ B(TestReferenceEqual), R(9),
B(JumpIfTrue), U8(5),
- B(Ldar), R(16),
+ B(Ldar), R(14),
B(ReThrow),
- B(Ldar), R(13),
+ B(Ldar), R(11),
B(SetPendingMessage),
B(LdaZero),
- B(TestReferenceEqual), R(11),
+ B(TestReferenceEqual), R(9),
B(JumpIfFalse), U8(5),
- B(Ldar), R(12),
+ B(Ldar), R(10),
B(ReThrow),
B(LdaUndefined),
B(Star), R(7),
@@ -828,7 +804,7 @@ bytecodes: [
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(6), U8(3),
/* 60 S> */ B(Return),
B(Star), R(6),
- B(CreateCatchContext), R(6), U8(6),
+ B(CreateCatchContext), R(6), U8(5),
B(Star), R(5),
B(LdaTheHole),
B(SetPendingMessage),
@@ -843,7 +819,6 @@ bytecodes: [
/* 60 S> */ B(Return),
]
constant pool: [
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -852,9 +827,9 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
- [16, 200, 200],
- [50, 96, 104],
- [130, 163, 165],
+ [16, 194, 194],
+ [46, 92, 100],
+ [124, 157, 159],
]
---
@@ -864,9 +839,9 @@ snippet: "
}
f([1, 2, 3]);
"
-frame size: 18
+frame size: 16
parameter count: 2
-bytecode array length: 264
+bytecode array length: 258
bytecodes: [
B(SwitchOnGeneratorState), R(0), U8(0), U8(1),
B(Mov), R(closure), R(4),
@@ -875,90 +850,88 @@ bytecodes: [
B(Star), R(0),
/* 16 E> */ B(StackCheck),
B(Mov), R(context), R(4),
- /* 40 S> */ B(LdaNamedProperty), R(arg0), U8(1), U8(0),
+ /* 40 S> */ B(GetIterator), R(arg0), U8(0),
B(Star), R(8),
B(CallProperty0), R(8), R(arg0), U8(2),
- B(Mov), R(arg0), R(7),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(6),
- B(LdaNamedProperty), R(6), U8(2), U8(4),
+ B(LdaNamedProperty), R(6), U8(1), U8(4),
B(Star), R(5),
B(LdaFalse),
- B(Star), R(9),
- B(Mov), R(context), R(12),
+ B(Star), R(7),
+ B(Mov), R(context), R(10),
B(LdaTrue),
- B(Star), R(9),
+ B(Star), R(7),
/* 35 S> */ B(CallProperty0), R(5), R(6), U8(6),
- B(Star), R(13),
+ B(Star), R(11),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
- B(LdaNamedProperty), R(13), U8(3), U8(8),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(11), U8(1),
+ B(LdaNamedProperty), R(11), U8(2), U8(8),
B(JumpIfToBooleanTrue), U8(58),
- B(LdaNamedProperty), R(13), U8(4), U8(10),
- B(Star), R(13),
+ B(LdaNamedProperty), R(11), U8(3), U8(10),
+ B(Star), R(11),
B(LdaFalse),
- B(Star), R(9),
- B(Mov), R(13), R(1),
+ B(Star), R(7),
+ B(Mov), R(11), R(1),
/* 26 E> */ B(StackCheck),
/* 35 S> */ B(Mov), R(1), R(3),
- /* 45 S> */ B(Mov), R(0), R(14),
- B(Mov), R(3), R(15),
- B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(14), U8(2),
- /* 45 E> */ B(SuspendGenerator), R(0), R(0), U8(14), U8(0),
- B(ResumeGenerator), R(0), R(0), U8(14),
- B(Star), R(14),
+ /* 45 S> */ B(Mov), R(0), R(12),
+ B(Mov), R(3), R(13),
+ B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionAwaitUncaught), R(12), U8(2),
+ /* 45 E> */ B(SuspendGenerator), R(0), R(0), U8(12), U8(0),
+ B(ResumeGenerator), R(0), R(0), U8(12),
+ B(Star), R(12),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
- B(Star), R(15),
+ B(Star), R(13),
B(LdaZero),
- B(TestReferenceEqual), R(15),
+ B(TestReferenceEqual), R(13),
B(JumpIfTrue), U8(5),
- B(Ldar), R(14),
+ B(Ldar), R(12),
B(ReThrow),
- B(Ldar), R(14),
+ B(Ldar), R(12),
B(JumpLoop), U8(75), I8(0),
B(LdaSmi), I8(-1),
- B(Star), R(11),
- B(Star), R(10),
+ B(Star), R(9),
+ B(Star), R(8),
B(Jump), U8(7),
- B(Star), R(11),
+ B(Star), R(9),
B(LdaZero),
- B(Star), R(10),
+ B(Star), R(8),
B(LdaTheHole),
B(SetPendingMessage),
+ B(Star), R(10),
+ B(Ldar), R(7),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(6), U8(4), U8(12),
B(Star), R(12),
- B(Ldar), R(9),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(6), U8(5), U8(12),
- B(Star), R(14),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(15),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(13),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(16),
- B(LdaConstant), U8(6),
- B(Star), R(17),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(16), U8(2),
+ B(Star), R(14),
+ B(LdaConstant), U8(5),
+ B(Star), R(15),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(14), U8(2),
B(Throw),
- B(CallProperty0), R(14), R(6), U8(14),
+ B(CallProperty0), R(12), R(6), U8(14),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(16),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(16), U8(1),
+ B(Star), R(14),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1),
B(Jump), U8(12),
- B(Star), R(15),
+ B(Star), R(13),
B(LdaZero),
- B(TestReferenceEqual), R(10),
+ B(TestReferenceEqual), R(8),
B(JumpIfTrue), U8(5),
- B(Ldar), R(15),
+ B(Ldar), R(13),
B(ReThrow),
- B(Ldar), R(12),
+ B(Ldar), R(10),
B(SetPendingMessage),
B(LdaZero),
- B(TestReferenceEqual), R(10),
+ B(TestReferenceEqual), R(8),
B(JumpIfFalse), U8(5),
- B(Ldar), R(11),
+ B(Ldar), R(9),
B(ReThrow),
B(LdaUndefined),
B(Star), R(6),
@@ -968,7 +941,7 @@ bytecodes: [
B(InvokeIntrinsic), U8(Runtime::k_AsyncFunctionResolve), R(5), U8(3),
/* 54 S> */ B(Return),
B(Star), R(5),
- B(CreateCatchContext), R(5), U8(7),
+ B(CreateCatchContext), R(5), U8(6),
B(Star), R(4),
B(LdaTheHole),
B(SetPendingMessage),
@@ -983,8 +956,7 @@ bytecodes: [
/* 54 S> */ B(Return),
]
constant pool: [
- Smi [107],
- SYMBOL_TYPE,
+ Smi [103],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -993,8 +965,8 @@ constant pool: [
SCOPE_INFO_TYPE,
]
handlers: [
- [20, 236, 236],
- [54, 132, 140],
- [166, 199, 201],
+ [20, 230, 230],
+ [50, 128, 136],
+ [160, 193, 195],
]
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/Generators.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/Generators.golden
index bfbd05cd31..157b58d81d 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/Generators.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/Generators.golden
@@ -98,9 +98,9 @@ snippet: "
function* f() { for (let x of [42]) yield x }
f();
"
-frame size: 17
+frame size: 15
parameter count: 1
-bytecode array length: 261
+bytecode array length: 258
bytecodes: [
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(4),
@@ -119,104 +119,102 @@ bytecodes: [
/* 44 S> */ B(Return),
/* 30 S> */ B(CreateArrayLiteral), U8(4), U8(0), U8(37),
B(Star), R(6),
- B(LdaNamedProperty), R(6), U8(5), U8(1),
+ B(GetIterator), R(6), U8(1),
B(Star), R(7),
B(CallProperty0), R(7), R(6), U8(3),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(5),
- B(LdaNamedProperty), R(5), U8(6), U8(5),
+ B(LdaNamedProperty), R(5), U8(5), U8(5),
B(Star), R(4),
B(LdaFalse),
- B(Star), R(8),
- B(Mov), R(context), R(11),
+ B(Star), R(6),
+ B(Mov), R(context), R(9),
B(LdaTrue),
- B(Star), R(8),
+ B(Star), R(6),
/* 25 S> */ B(CallProperty0), R(4), R(5), U8(7),
- B(Star), R(12),
+ B(Star), R(10),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
- B(LdaNamedProperty), R(12), U8(7), U8(9),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1),
+ B(LdaNamedProperty), R(10), U8(6), U8(9),
B(JumpIfToBooleanTrue), U8(64),
- B(LdaNamedProperty), R(12), U8(8), U8(11),
- B(Star), R(12),
+ B(LdaNamedProperty), R(10), U8(7), U8(11),
+ B(Star), R(10),
B(LdaFalse),
- B(Star), R(8),
- B(Mov), R(12), R(1),
+ B(Star), R(6),
+ B(Mov), R(10), R(1),
/* 16 E> */ B(StackCheck),
/* 25 S> */ B(Mov), R(1), R(3),
/* 36 S> */ B(LdaFalse),
- B(Star), R(14),
- B(Mov), R(3), R(13),
- B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(13), U8(2),
- /* 36 E> */ B(SuspendGenerator), R(0), R(0), U8(13), U8(1),
- B(ResumeGenerator), R(0), R(0), U8(13),
- B(Star), R(13),
+ B(Star), R(12),
+ B(Mov), R(3), R(11),
+ B(InvokeIntrinsic), U8(Runtime::k_CreateIterResultObject), R(11), U8(2),
+ /* 36 E> */ B(SuspendGenerator), R(0), R(0), U8(11), U8(1),
+ B(ResumeGenerator), R(0), R(0), U8(11),
+ B(Star), R(11),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
- B(SwitchOnSmiNoFeedback), U8(9), U8(2), I8(0),
- B(Ldar), R(13),
+ B(SwitchOnSmiNoFeedback), U8(8), U8(2), I8(0),
+ B(Ldar), R(11),
/* 36 E> */ B(Throw),
B(LdaSmi), I8(1),
- B(Star), R(9),
- B(Mov), R(13), R(10),
+ B(Star), R(7),
+ B(Mov), R(11), R(8),
B(Jump), U8(20),
- B(Ldar), R(13),
+ B(Ldar), R(11),
B(JumpLoop), U8(81), I8(0),
B(LdaSmi), I8(-1),
- B(Star), R(10),
- B(Star), R(9),
+ B(Star), R(8),
+ B(Star), R(7),
B(Jump), U8(7),
- B(Star), R(10),
+ B(Star), R(8),
B(LdaZero),
- B(Star), R(9),
+ B(Star), R(7),
B(LdaTheHole),
B(SetPendingMessage),
+ B(Star), R(9),
+ B(Ldar), R(6),
+ B(JumpIfToBooleanTrue), U8(58),
+ B(LdaNamedProperty), R(5), U8(10), U8(13),
B(Star), R(11),
- B(Ldar), R(8),
- B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(5), U8(11), U8(13),
- B(Star), R(13),
- B(JumpIfUndefined), U8(52),
- B(JumpIfNull), U8(50),
- B(Mov), R(context), R(14),
+ B(JumpIfUndefinedOrNull), U8(50),
+ B(Mov), R(context), R(12),
B(TestTypeOf), U8(6),
B(JumpIfTrue), U8(18),
B(Wide), B(LdaSmi), I16(159),
- B(Star), R(15),
- B(LdaConstant), U8(12),
- B(Star), R(16),
- B(CallRuntime), U16(Runtime::kNewTypeError), R(15), U8(2),
+ B(Star), R(13),
+ B(LdaConstant), U8(11),
+ B(Star), R(14),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
B(Throw),
- B(CallProperty0), R(13), R(5), U8(15),
+ B(CallProperty0), R(11), R(5), U8(15),
B(JumpIfJSReceiver), U8(21),
- B(Star), R(15),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(15), U8(1),
+ B(Star), R(13),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(13), U8(1),
B(Jump), U8(12),
- B(Star), R(14),
+ B(Star), R(12),
B(LdaZero),
- B(TestReferenceEqual), R(9),
+ B(TestReferenceEqual), R(7),
B(JumpIfTrue), U8(5),
- B(Ldar), R(14),
+ B(Ldar), R(12),
B(ReThrow),
- B(Ldar), R(11),
- B(SetPendingMessage),
B(Ldar), R(9),
- B(SwitchOnSmiNoFeedback), U8(13), U8(2), I8(0),
+ B(SetPendingMessage),
+ B(Ldar), R(7),
+ B(SwitchOnSmiNoFeedback), U8(12), U8(2), I8(0),
B(Jump), U8(8),
- B(Ldar), R(10),
+ B(Ldar), R(8),
B(ReThrow),
- B(Ldar), R(10),
+ B(Ldar), R(8),
/* 44 S> */ B(Return),
B(LdaUndefined),
/* 44 S> */ B(Return),
]
constant pool: [
Smi [22],
- Smi [132],
+ Smi [131],
Smi [10],
Smi [7],
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
@@ -228,8 +226,8 @@ constant pool: [
Smi [9],
]
handlers: [
- [79, 163, 171],
- [197, 230, 232],
+ [78, 162, 170],
+ [194, 227, 229],
]
---
@@ -238,9 +236,9 @@ snippet: "
function* f() { yield* g() }
f();
"
-frame size: 9
+frame size: 8
parameter count: 1
-bytecode array length: 217
+bytecode array length: 210
bytecodes: [
B(SwitchOnGeneratorState), R(0), U8(0), U8(2),
B(Mov), R(closure), R(1),
@@ -261,59 +259,56 @@ bytecodes: [
B(Star), R(5),
/* 50 E> */ B(CallUndefinedReceiver0), R(5), U8(2),
B(Star), R(6),
- B(LdaNamedProperty), R(6), U8(5), U8(4),
+ B(GetIterator), R(6), U8(4),
B(Star), R(7),
B(CallProperty0), R(7), R(6), U8(6),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(3),
- B(LdaNamedProperty), R(3), U8(6), U8(8),
+ B(LdaNamedProperty), R(3), U8(5), U8(8),
B(Star), R(5),
B(LdaUndefined),
B(Star), R(4),
B(LdaZero),
B(Star), R(2),
B(Ldar), R(2),
- B(SwitchOnSmiNoFeedback), U8(7), U8(2), I8(1),
+ B(SwitchOnSmiNoFeedback), U8(6), U8(2), I8(1),
B(CallProperty1), R(5), R(3), R(4), U8(10),
- B(Jump), U8(69),
- B(LdaNamedProperty), R(3), U8(9), U8(12),
- B(JumpIfUndefined), U8(13),
- B(JumpIfNull), U8(11),
- B(Star), R(8),
- B(CallProperty1), R(8), R(3), R(4), U8(14),
- B(Jump), U8(52),
+ B(Jump), U8(63),
+ B(LdaNamedProperty), R(3), U8(8), U8(12),
+ B(JumpIfUndefinedOrNull), U8(11),
+ B(Star), R(6),
+ B(CallProperty1), R(6), R(3), R(4), U8(14),
+ B(Jump), U8(48),
B(Ldar), R(4),
/* 54 S> */ B(Return),
- B(LdaNamedProperty), R(3), U8(10), U8(16),
- B(JumpIfUndefined), U8(13),
- B(JumpIfNull), U8(11),
- B(Star), R(8),
- B(CallProperty1), R(8), R(3), R(4), U8(18),
- B(Jump), U8(32),
- B(LdaNamedProperty), R(3), U8(9), U8(20),
- B(JumpIfUndefined), U8(21),
- B(JumpIfNull), U8(19),
- B(Star), R(8),
- B(CallProperty0), R(8), R(3), U8(22),
+ B(LdaNamedProperty), R(3), U8(9), U8(16),
+ B(JumpIfUndefinedOrNull), U8(11),
+ B(Star), R(6),
+ B(CallProperty1), R(6), R(3), R(4), U8(18),
+ B(Jump), U8(30),
+ B(LdaNamedProperty), R(3), U8(8), U8(20),
+ B(JumpIfUndefinedOrNull), U8(19),
+ B(Star), R(6),
+ B(CallProperty0), R(6), R(3), U8(22),
B(Jump), U8(2),
B(JumpIfJSReceiver), U8(9),
- B(Star), R(8),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(8), U8(1),
+ B(Star), R(6),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(6), U8(1),
B(CallRuntime), U16(Runtime::kThrowThrowMethodMissing), R(0), U8(0),
B(Star), R(1),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(1), U8(1),
- B(LdaNamedProperty), R(1), U8(11), U8(24),
+ B(LdaNamedProperty), R(1), U8(10), U8(24),
B(JumpIfToBooleanTrue), U8(24),
B(Ldar), R(1),
- /* 43 E> */ B(SuspendGenerator), R(0), R(0), U8(8), U8(1),
- B(ResumeGenerator), R(0), R(0), U8(8),
+ /* 43 E> */ B(SuspendGenerator), R(0), R(0), U8(6), U8(1),
+ B(ResumeGenerator), R(0), R(0), U8(6),
B(Star), R(4),
B(InvokeIntrinsic), U8(Runtime::k_GeneratorGetResumeMode), R(0), U8(1),
B(Star), R(2),
- B(JumpLoop), U8(114), I8(0),
- B(LdaNamedProperty), R(1), U8(12), U8(26),
+ B(JumpLoop), U8(108), I8(0),
+ B(LdaNamedProperty), R(1), U8(11), U8(26),
B(Star), R(3),
B(LdaSmi), I8(1),
B(TestReferenceEqual), R(2),
@@ -325,14 +320,13 @@ bytecodes: [
]
constant pool: [
Smi [22],
- Smi [185],
+ Smi [178],
Smi [10],
Smi [7],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["g"],
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
Smi [11],
- Smi [31],
+ Smi [29],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["throw"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden
index ed15f99fc9..dce8d7ac8c 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden
@@ -92,9 +92,9 @@ snippet: "
class A { constructor(...args) { this.args = args; } }
new A(0, ...[1, 2, 3], 4);
"
-frame size: 10
+frame size: 9
parameter count: 1
-bytecode array length: 131
+bytecode array length: 130
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
@@ -117,22 +117,22 @@ bytecodes: [
B(Star), R(3),
/* 101 S> */ B(CreateArrayLiteral), U8(5), U8(1), U8(37),
B(Star), R(7),
- B(LdaNamedProperty), R(7), U8(6), U8(2),
+ B(GetIterator), R(7), U8(2),
B(Star), R(8),
B(CallProperty0), R(8), R(7), U8(4),
B(Mov), R(5), R(2),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(6),
- B(LdaNamedProperty), R(6), U8(7), U8(6),
+ B(LdaNamedProperty), R(6), U8(6), U8(6),
B(Star), R(5),
B(CallProperty0), R(5), R(6), U8(15),
- B(Star), R(9),
+ B(Star), R(7),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1),
- B(LdaNamedProperty), R(9), U8(8), U8(17),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(7), U8(1),
+ B(LdaNamedProperty), R(7), U8(7), U8(17),
B(JumpIfToBooleanTrue), U8(19),
- B(LdaNamedProperty), R(9), U8(9), U8(8),
+ B(LdaNamedProperty), R(7), U8(8), U8(8),
B(StaInArrayLiteral), R(4), R(3), U8(13),
B(Ldar), R(3),
B(Inc), U8(12),
@@ -152,7 +152,6 @@ constant pool: [
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
Smi [1],
ARRAY_BOILERPLATE_DESCRIPTION_TYPE,
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorAccess.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorAccess.golden
new file mode 100644
index 0000000000..6fc00999a5
--- /dev/null
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorAccess.golden
@@ -0,0 +1,192 @@
+#
+# Autogenerated by generate-bytecode-expectations.
+#
+
+---
+wrap: no
+test function name: test
+private methods: yes
+
+---
+snippet: "
+ class A {
+ get #a() { return 1; }
+ set #a(val) { }
+
+ constructor() {
+ this.#a++;
+ this.#a = 1;
+ return this.#a;
+ }
+ }
+ var test = A;
+ new test;
+"
+frame size: 6
+parameter count: 1
+bytecode array length: 95
+bytecodes: [
+ /* 67 E> */ B(StackCheck),
+ B(LdaCurrentContextSlot), U8(5),
+ B(Star), R(1),
+ B(Mov), R(this), R(0),
+ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(2),
+ /* 76 S> */ B(LdaCurrentContextSlot), U8(4),
+ B(Star), R(3),
+ B(LdaCurrentContextSlot), U8(5),
+ /* 81 E> */ B(LdaKeyedProperty), R(this), U8(0),
+ B(CallRuntime), U16(Runtime::kLoadPrivateGetter), R(3), U8(1),
+ B(Star), R(4),
+ B(CallProperty0), R(4), R(this), U8(2),
+ B(Inc), U8(4),
+ B(Star), R(4),
+ /* 83 E> */ B(CallRuntime), U16(Runtime::kLoadPrivateSetter), R(3), U8(1),
+ B(Star), R(5),
+ B(CallProperty1), R(5), R(this), R(4), U8(5),
+ /* 91 S> */ B(LdaSmi), I8(1),
+ B(Star), R(2),
+ B(LdaCurrentContextSlot), U8(4),
+ B(Star), R(4),
+ B(LdaCurrentContextSlot), U8(5),
+ /* 96 E> */ B(LdaKeyedProperty), R(this), U8(7),
+ B(CallRuntime), U16(Runtime::kLoadPrivateSetter), R(4), U8(1),
+ B(Star), R(5),
+ B(CallProperty1), R(5), R(this), R(2), U8(9),
+ /* 108 S> */ B(LdaCurrentContextSlot), U8(4),
+ B(Star), R(3),
+ B(LdaCurrentContextSlot), U8(5),
+ /* 120 E> */ B(LdaKeyedProperty), R(this), U8(11),
+ B(CallRuntime), U16(Runtime::kLoadPrivateGetter), R(3), U8(1),
+ B(Star), R(4),
+ B(CallProperty0), R(4), R(this), U8(13),
+ /* 123 S> */ B(Return),
+]
+constant pool: [
+]
+handlers: [
+]
+
+---
+snippet: "
+ class B {
+ get #b() { return 1; }
+ constructor() { this.#b++; }
+ }
+ var test = B;
+ new test;
+"
+frame size: 4
+parameter count: 1
+bytecode array length: 29
+bytecodes: [
+ /* 48 E> */ B(StackCheck),
+ B(LdaCurrentContextSlot), U8(5),
+ B(Star), R(1),
+ B(Mov), R(this), R(0),
+ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(2),
+ /* 53 S> */ B(Wide), B(LdaSmi), I16(263),
+ B(Star), R(2),
+ B(LdaConstant), U8(0),
+ B(Star), R(3),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(2), U8(2),
+ B(Throw),
+]
+constant pool: [
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["#b"],
+]
+handlers: [
+]
+
+---
+snippet: "
+ class C {
+ set #c(val) { }
+ constructor() { this.#c++; }
+ }
+ var test = C;
+ new test;
+"
+frame size: 4
+parameter count: 1
+bytecode array length: 29
+bytecodes: [
+ /* 41 E> */ B(StackCheck),
+ B(LdaCurrentContextSlot), U8(5),
+ B(Star), R(1),
+ B(Mov), R(this), R(0),
+ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(2),
+ /* 46 S> */ B(Wide), B(LdaSmi), I16(262),
+ B(Star), R(2),
+ B(LdaConstant), U8(0),
+ B(Star), R(3),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(2), U8(2),
+ B(Throw),
+]
+constant pool: [
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["#c"],
+]
+handlers: [
+]
+
+---
+snippet: "
+ class D {
+ get #d() { return 1; }
+ constructor() { this.#d = 1; }
+ }
+ var test = D;
+ new test;
+"
+frame size: 4
+parameter count: 1
+bytecode array length: 29
+bytecodes: [
+ /* 48 E> */ B(StackCheck),
+ B(LdaCurrentContextSlot), U8(5),
+ B(Star), R(1),
+ B(Mov), R(this), R(0),
+ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(2),
+ /* 53 S> */ B(Wide), B(LdaSmi), I16(263),
+ B(Star), R(2),
+ B(LdaConstant), U8(0),
+ B(Star), R(3),
+ /* 61 E> */ B(CallRuntime), U16(Runtime::kNewTypeError), R(2), U8(2),
+ B(Throw),
+]
+constant pool: [
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["#d"],
+]
+handlers: [
+]
+
+---
+snippet: "
+ class E {
+ set #e(val) { }
+ constructor() { this.#e; }
+ }
+ var test = E;
+ new test;
+"
+frame size: 5
+parameter count: 1
+bytecode array length: 29
+bytecodes: [
+ /* 41 E> */ B(StackCheck),
+ B(LdaCurrentContextSlot), U8(5),
+ B(Star), R(1),
+ B(Mov), R(this), R(0),
+ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(2),
+ /* 46 S> */ B(Wide), B(LdaSmi), I16(262),
+ B(Star), R(3),
+ B(LdaConstant), U8(0),
+ B(Star), R(4),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(3), U8(2),
+ B(Throw),
+]
+constant pool: [
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["#e"],
+]
+handlers: [
+]
+
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorDeclaration.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorDeclaration.golden
new file mode 100644
index 0000000000..aceee552b5
--- /dev/null
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateAccessorDeclaration.golden
@@ -0,0 +1,398 @@
+#
+# Autogenerated by generate-bytecode-expectations.
+#
+
+---
+wrap: yes
+private methods: yes
+
+---
+snippet: "
+ {
+ class A {
+ get #a() { return 1; }
+ set #a(val) { }
+ }
+ }
+"
+frame size: 8
+parameter count: 1
+bytecode array length: 68
+bytecodes: [
+ /* 30 E> */ B(StackCheck),
+ B(CreateBlockContext), U8(0),
+ B(PushContext), R(2),
+ B(LdaTheHole),
+ B(Star), R(6),
+ B(CreateClosure), U8(2), U8(0), U8(2),
+ B(Star), R(3),
+ B(LdaConstant), U8(1),
+ B(Star), R(4),
+ B(Mov), R(3), R(5),
+ B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3),
+ B(Star), R(4),
+ B(Mov), R(5), R(1),
+ B(LdaConstant), U8(3),
+ B(Star), R(5),
+ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(5), U8(1),
+ B(StaCurrentContextSlot), U8(5),
+ B(CreateClosure), U8(4), U8(1), U8(2),
+ B(Star), R(6),
+ B(CreateClosure), U8(5), U8(2), U8(2),
+ B(Star), R(7),
+ B(CallRuntime), U16(Runtime::kCreatePrivateAccessors), R(6), U8(2),
+ B(StaCurrentContextSlot), U8(4),
+ B(PopContext), R(2),
+ B(Mov), R(1), R(0),
+ B(LdaUndefined),
+ /* 101 S> */ B(Return),
+]
+constant pool: [
+ SCOPE_INFO_TYPE,
+ FIXED_ARRAY_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["A"],
+ SHARED_FUNCTION_INFO_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+]
+handlers: [
+]
+
+---
+snippet: "
+ {
+ class B {
+ get #b() { return 1; }
+ }
+ }
+"
+frame size: 8
+parameter count: 1
+bytecode array length: 65
+bytecodes: [
+ /* 30 E> */ B(StackCheck),
+ B(CreateBlockContext), U8(0),
+ B(PushContext), R(2),
+ B(LdaTheHole),
+ B(Star), R(6),
+ B(CreateClosure), U8(2), U8(0), U8(2),
+ B(Star), R(3),
+ B(LdaConstant), U8(1),
+ B(Star), R(4),
+ B(Mov), R(3), R(5),
+ B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3),
+ B(Star), R(4),
+ B(Mov), R(5), R(1),
+ B(LdaConstant), U8(3),
+ B(Star), R(5),
+ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(5), U8(1),
+ B(StaCurrentContextSlot), U8(5),
+ B(CreateClosure), U8(4), U8(1), U8(2),
+ B(Star), R(6),
+ B(LdaNull),
+ B(Star), R(7),
+ B(CallRuntime), U16(Runtime::kCreatePrivateAccessors), R(6), U8(2),
+ B(StaCurrentContextSlot), U8(4),
+ B(PopContext), R(2),
+ B(Mov), R(1), R(0),
+ B(LdaUndefined),
+ /* 81 S> */ B(Return),
+]
+constant pool: [
+ SCOPE_INFO_TYPE,
+ FIXED_ARRAY_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["B"],
+ SHARED_FUNCTION_INFO_TYPE,
+]
+handlers: [
+]
+
+---
+snippet: "
+ {
+ class C {
+ set #c(val) { }
+ }
+ }
+"
+frame size: 8
+parameter count: 1
+bytecode array length: 65
+bytecodes: [
+ /* 30 E> */ B(StackCheck),
+ B(CreateBlockContext), U8(0),
+ B(PushContext), R(2),
+ B(LdaTheHole),
+ B(Star), R(6),
+ B(CreateClosure), U8(2), U8(0), U8(2),
+ B(Star), R(3),
+ B(LdaConstant), U8(1),
+ B(Star), R(4),
+ B(Mov), R(3), R(5),
+ B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3),
+ B(Star), R(4),
+ B(Mov), R(5), R(1),
+ B(LdaConstant), U8(3),
+ B(Star), R(5),
+ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(5), U8(1),
+ B(StaCurrentContextSlot), U8(5),
+ B(LdaNull),
+ B(Star), R(6),
+ B(CreateClosure), U8(4), U8(1), U8(2),
+ B(Star), R(7),
+ B(CallRuntime), U16(Runtime::kCreatePrivateAccessors), R(6), U8(2),
+ B(StaCurrentContextSlot), U8(4),
+ B(PopContext), R(2),
+ B(Mov), R(1), R(0),
+ B(LdaUndefined),
+ /* 74 S> */ B(Return),
+]
+constant pool: [
+ SCOPE_INFO_TYPE,
+ FIXED_ARRAY_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["C"],
+ SHARED_FUNCTION_INFO_TYPE,
+]
+handlers: [
+]
+
+---
+snippet: "
+ {
+ class D {
+ get #d() { return 1; }
+ set #d(val) { }
+ }
+
+ class E extends D {
+ get #e() { return 2; }
+ set #e(val) { }
+ }
+ }
+"
+frame size: 10
+parameter count: 1
+bytecode array length: 133
+bytecodes: [
+ /* 30 E> */ B(StackCheck),
+ B(CreateBlockContext), U8(0),
+ B(PushContext), R(4),
+ B(LdaTheHole),
+ B(Star), R(8),
+ B(CreateClosure), U8(2), U8(0), U8(2),
+ B(Star), R(5),
+ B(LdaConstant), U8(1),
+ B(Star), R(6),
+ B(Mov), R(5), R(7),
+ B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(3),
+ B(Star), R(6),
+ B(Mov), R(7), R(3),
+ B(LdaConstant), U8(3),
+ B(Star), R(7),
+ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(7), U8(1),
+ B(StaCurrentContextSlot), U8(5),
+ B(CreateClosure), U8(4), U8(1), U8(2),
+ B(Star), R(8),
+ B(CreateClosure), U8(5), U8(2), U8(2),
+ B(Star), R(9),
+ B(CallRuntime), U16(Runtime::kCreatePrivateAccessors), R(8), U8(2),
+ B(StaCurrentContextSlot), U8(4),
+ B(PopContext), R(4),
+ B(Mov), R(3), R(0),
+ /* 38 E> */ B(CreateBlockContext), U8(6),
+ B(PushContext), R(4),
+ /* 118 E> */ B(CreateClosure), U8(8), U8(3), U8(2),
+ B(Star), R(5),
+ B(LdaConstant), U8(7),
+ B(Star), R(6),
+ B(Mov), R(5), R(7),
+ B(Mov), R(3), R(8),
+ B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(3),
+ B(Star), R(6),
+ B(Mov), R(7), R(2),
+ B(LdaConstant), U8(9),
+ B(Star), R(7),
+ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(7), U8(1),
+ B(StaCurrentContextSlot), U8(5),
+ B(CreateClosure), U8(10), U8(4), U8(2),
+ B(Star), R(8),
+ B(CreateClosure), U8(11), U8(5), U8(2),
+ B(Star), R(9),
+ B(CallRuntime), U16(Runtime::kCreatePrivateAccessors), R(8), U8(2),
+ B(StaCurrentContextSlot), U8(4),
+ B(PopContext), R(4),
+ B(Mov), R(2), R(1),
+ B(LdaUndefined),
+ /* 175 S> */ B(Return),
+]
+constant pool: [
+ SCOPE_INFO_TYPE,
+ FIXED_ARRAY_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["D"],
+ SHARED_FUNCTION_INFO_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ SCOPE_INFO_TYPE,
+ FIXED_ARRAY_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["E"],
+ SHARED_FUNCTION_INFO_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+]
+handlers: [
+]
+
+---
+snippet: "
+ {
+ class A { foo() {} }
+ class C extends A {
+ get #a() { return super.foo; }
+ }
+ new C();
+ }
+"
+frame size: 10
+parameter count: 1
+bytecode array length: 119
+bytecodes: [
+ /* 30 E> */ B(StackCheck),
+ B(CreateBlockContext), U8(0),
+ B(PushContext), R(4),
+ B(LdaTheHole),
+ B(Star), R(8),
+ B(CreateClosure), U8(2), U8(0), U8(2),
+ B(Star), R(5),
+ B(LdaConstant), U8(1),
+ B(Star), R(6),
+ B(CreateClosure), U8(3), U8(1), U8(2),
+ B(Star), R(9),
+ B(Mov), R(5), R(7),
+ B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(4),
+ B(Star), R(6),
+ B(Mov), R(7), R(3),
+ B(PopContext), R(4),
+ B(Mov), R(3), R(0),
+ /* 38 E> */ B(CreateBlockContext), U8(4),
+ B(PushContext), R(4),
+ /* 77 E> */ B(CreateClosure), U8(6), U8(2), U8(2),
+ B(Star), R(5),
+ B(LdaConstant), U8(5),
+ B(Star), R(6),
+ B(Mov), R(5), R(7),
+ B(Mov), R(3), R(8),
+ B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(3),
+ B(Star), R(6),
+ B(Mov), R(7), R(2),
+ B(LdaConstant), U8(7),
+ B(Star), R(7),
+ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(7), U8(1),
+ B(StaCurrentContextSlot), U8(5),
+ B(CreateClosure), U8(8), U8(3), U8(2),
+ B(Star), R(8),
+ B(Ldar), R(6),
+ B(StaNamedProperty), R(8), U8(9), U8(0),
+ B(LdaNull),
+ B(Star), R(9),
+ B(CallRuntime), U16(Runtime::kCreatePrivateAccessors), R(8), U8(2),
+ B(StaCurrentContextSlot), U8(4),
+ B(PopContext), R(4),
+ B(Mov), R(2), R(1),
+ /* 122 S> */ B(Ldar), R(1),
+ /* 122 E> */ B(Construct), R(1), R(0), U8(0), U8(2),
+ B(LdaUndefined),
+ /* 133 S> */ B(Return),
+]
+constant pool: [
+ SCOPE_INFO_TYPE,
+ FIXED_ARRAY_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ SCOPE_INFO_TYPE,
+ FIXED_ARRAY_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["C"],
+ SHARED_FUNCTION_INFO_TYPE,
+ SYMBOL_TYPE,
+]
+handlers: [
+]
+
+---
+snippet: "
+ {
+ class A { foo(val) {} }
+ class C extends A {
+ set #a(val) { super.foo(val); }
+ }
+ new C();
+ }
+"
+frame size: 10
+parameter count: 1
+bytecode array length: 119
+bytecodes: [
+ /* 30 E> */ B(StackCheck),
+ B(CreateBlockContext), U8(0),
+ B(PushContext), R(4),
+ B(LdaTheHole),
+ B(Star), R(8),
+ B(CreateClosure), U8(2), U8(0), U8(2),
+ B(Star), R(5),
+ B(LdaConstant), U8(1),
+ B(Star), R(6),
+ B(CreateClosure), U8(3), U8(1), U8(2),
+ B(Star), R(9),
+ B(Mov), R(5), R(7),
+ B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(4),
+ B(Star), R(6),
+ B(Mov), R(7), R(3),
+ B(PopContext), R(4),
+ B(Mov), R(3), R(0),
+ /* 38 E> */ B(CreateBlockContext), U8(4),
+ B(PushContext), R(4),
+ /* 80 E> */ B(CreateClosure), U8(6), U8(2), U8(2),
+ B(Star), R(5),
+ B(LdaConstant), U8(5),
+ B(Star), R(6),
+ B(Mov), R(5), R(7),
+ B(Mov), R(3), R(8),
+ B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(3),
+ B(Star), R(6),
+ B(Mov), R(7), R(2),
+ B(LdaConstant), U8(7),
+ B(Star), R(7),
+ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(7), U8(1),
+ B(StaCurrentContextSlot), U8(5),
+ B(LdaNull),
+ B(Star), R(8),
+ B(CreateClosure), U8(8), U8(3), U8(2),
+ B(Star), R(9),
+ B(Ldar), R(6),
+ B(StaNamedProperty), R(9), U8(9), U8(0),
+ B(CallRuntime), U16(Runtime::kCreatePrivateAccessors), R(8), U8(2),
+ B(StaCurrentContextSlot), U8(4),
+ B(PopContext), R(4),
+ B(Mov), R(2), R(1),
+ /* 126 S> */ B(Ldar), R(1),
+ /* 126 E> */ B(Construct), R(1), R(0), U8(0), U8(2),
+ B(LdaUndefined),
+ /* 137 S> */ B(Return),
+]
+constant pool: [
+ SCOPE_INFO_TYPE,
+ FIXED_ARRAY_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ SCOPE_INFO_TYPE,
+ FIXED_ARRAY_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["C"],
+ SHARED_FUNCTION_INFO_TYPE,
+ SYMBOL_TYPE,
+]
+handlers: [
+]
+
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodAccess.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodAccess.golden
new file mode 100644
index 0000000000..d41b342187
--- /dev/null
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodAccess.golden
@@ -0,0 +1,104 @@
+#
+# Autogenerated by generate-bytecode-expectations.
+#
+
+---
+wrap: no
+test function name: test
+private methods: yes
+
+---
+snippet: "
+ class A {
+ #a() { return 1; }
+ constructor() { return this.#a(); }
+ }
+
+ var test = A;
+ new A;
+"
+frame size: 3
+parameter count: 1
+bytecode array length: 28
+bytecodes: [
+ /* 44 E> */ B(StackCheck),
+ B(LdaCurrentContextSlot), U8(5),
+ B(Star), R(1),
+ B(Mov), R(this), R(0),
+ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(2),
+ /* 49 S> */ B(LdaCurrentContextSlot), U8(5),
+ /* 61 E> */ B(LdaKeyedProperty), R(this), U8(0),
+ B(LdaCurrentContextSlot), U8(4),
+ B(Star), R(2),
+ /* 63 E> */ B(CallAnyReceiver), R(2), R(this), U8(1), U8(2),
+ /* 66 S> */ B(Return),
+]
+constant pool: [
+]
+handlers: [
+]
+
+---
+snippet: "
+ class B {
+ #b() { return 1; }
+ constructor() { this.#b = 1; }
+ }
+
+ var test = B;
+ new test;
+"
+frame size: 4
+parameter count: 1
+bytecode array length: 29
+bytecodes: [
+ /* 44 E> */ B(StackCheck),
+ B(LdaCurrentContextSlot), U8(5),
+ B(Star), R(1),
+ B(Mov), R(this), R(0),
+ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(2),
+ /* 49 S> */ B(Wide), B(LdaSmi), I16(261),
+ B(Star), R(2),
+ B(LdaConstant), U8(0),
+ B(Star), R(3),
+ /* 57 E> */ B(CallRuntime), U16(Runtime::kNewTypeError), R(2), U8(2),
+ B(Throw),
+]
+constant pool: [
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["#b"],
+]
+handlers: [
+]
+
+---
+snippet: "
+ class C {
+ #c() { return 1; }
+ constructor() { this.#c++; }
+ }
+
+ var test = C;
+ new test;
+"
+frame size: 4
+parameter count: 1
+bytecode array length: 29
+bytecodes: [
+ /* 44 E> */ B(StackCheck),
+ B(LdaCurrentContextSlot), U8(5),
+ B(Star), R(1),
+ B(Mov), R(this), R(0),
+ B(CallRuntime), U16(Runtime::kAddPrivateBrand), R(0), U8(2),
+ /* 49 S> */ B(Wide), B(LdaSmi), I16(261),
+ B(Star), R(2),
+ B(LdaConstant), U8(0),
+ B(Star), R(3),
+ B(CallRuntime), U16(Runtime::kNewTypeError), R(2), U8(2),
+ B(Throw),
+]
+constant pool: [
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["#c"],
+]
+handlers: [
+]
+
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodDeclaration.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodDeclaration.golden
new file mode 100644
index 0000000000..d1aab34fda
--- /dev/null
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethodDeclaration.golden
@@ -0,0 +1,198 @@
+#
+# Autogenerated by generate-bytecode-expectations.
+#
+
+---
+wrap: yes
+private methods: yes
+
+---
+snippet: "
+ {
+ class A {
+ #a() { return 1; }
+ }
+ }
+"
+frame size: 7
+parameter count: 1
+bytecode array length: 55
+bytecodes: [
+ /* 30 E> */ B(StackCheck),
+ B(CreateBlockContext), U8(0),
+ B(PushContext), R(2),
+ B(LdaTheHole),
+ B(Star), R(6),
+ B(CreateClosure), U8(2), U8(0), U8(2),
+ B(Star), R(3),
+ B(LdaConstant), U8(1),
+ B(Star), R(4),
+ B(CreateClosure), U8(3), U8(1), U8(2),
+ B(StaCurrentContextSlot), U8(4),
+ B(Mov), R(3), R(5),
+ B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3),
+ B(Star), R(4),
+ B(Mov), R(5), R(1),
+ B(LdaConstant), U8(4),
+ B(Star), R(5),
+ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(5), U8(1),
+ B(StaCurrentContextSlot), U8(5),
+ B(PopContext), R(2),
+ B(Mov), R(1), R(0),
+ B(LdaUndefined),
+ /* 77 S> */ B(Return),
+]
+constant pool: [
+ SCOPE_INFO_TYPE,
+ FIXED_ARRAY_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["A"],
+]
+handlers: [
+]
+
+---
+snippet: "
+ {
+ class D {
+ #d() { return 1; }
+ }
+ class E extends D {
+ #e() { return 2; }
+ }
+ }
+"
+frame size: 9
+parameter count: 1
+bytecode array length: 107
+bytecodes: [
+ /* 30 E> */ B(StackCheck),
+ B(CreateBlockContext), U8(0),
+ B(PushContext), R(4),
+ B(LdaTheHole),
+ B(Star), R(8),
+ B(CreateClosure), U8(2), U8(0), U8(2),
+ B(Star), R(5),
+ B(LdaConstant), U8(1),
+ B(Star), R(6),
+ B(CreateClosure), U8(3), U8(1), U8(2),
+ B(StaCurrentContextSlot), U8(4),
+ B(Mov), R(5), R(7),
+ B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(3),
+ B(Star), R(6),
+ B(Mov), R(7), R(3),
+ B(LdaConstant), U8(4),
+ B(Star), R(7),
+ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(7), U8(1),
+ B(StaCurrentContextSlot), U8(5),
+ B(PopContext), R(4),
+ B(Mov), R(3), R(0),
+ /* 38 E> */ B(CreateBlockContext), U8(5),
+ B(PushContext), R(4),
+ /* 93 E> */ B(CreateClosure), U8(7), U8(2), U8(2),
+ B(Star), R(5),
+ B(LdaConstant), U8(6),
+ B(Star), R(6),
+ B(CreateClosure), U8(8), U8(3), U8(2),
+ B(StaCurrentContextSlot), U8(4),
+ B(Mov), R(5), R(7),
+ B(Mov), R(3), R(8),
+ B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(3),
+ B(Star), R(6),
+ B(Mov), R(7), R(2),
+ B(LdaConstant), U8(9),
+ B(Star), R(7),
+ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(7), U8(1),
+ B(StaCurrentContextSlot), U8(5),
+ B(PopContext), R(4),
+ B(Mov), R(2), R(1),
+ B(LdaUndefined),
+ /* 126 S> */ B(Return),
+]
+constant pool: [
+ SCOPE_INFO_TYPE,
+ FIXED_ARRAY_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["D"],
+ SCOPE_INFO_TYPE,
+ FIXED_ARRAY_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["E"],
+]
+handlers: [
+]
+
+---
+snippet: "
+ {
+ class A { foo() {} }
+ class C extends A {
+ #m() { return super.foo; }
+ }
+ }
+"
+frame size: 10
+parameter count: 1
+bytecode array length: 106
+bytecodes: [
+ /* 30 E> */ B(StackCheck),
+ B(CreateBlockContext), U8(0),
+ B(PushContext), R(4),
+ B(LdaTheHole),
+ B(Star), R(8),
+ B(CreateClosure), U8(2), U8(0), U8(2),
+ B(Star), R(5),
+ B(LdaConstant), U8(1),
+ B(Star), R(6),
+ B(CreateClosure), U8(3), U8(1), U8(2),
+ B(Star), R(9),
+ B(Mov), R(5), R(7),
+ B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(4),
+ B(Star), R(6),
+ B(Mov), R(7), R(3),
+ B(PopContext), R(4),
+ B(Mov), R(3), R(0),
+ /* 38 E> */ B(CreateBlockContext), U8(4),
+ B(PushContext), R(4),
+ /* 77 E> */ B(CreateClosure), U8(6), U8(2), U8(2),
+ B(Star), R(5),
+ B(LdaConstant), U8(5),
+ B(Star), R(6),
+ B(CreateClosure), U8(7), U8(3), U8(2),
+ B(StaCurrentContextSlot), U8(4),
+ B(Mov), R(5), R(7),
+ B(Mov), R(3), R(8),
+ B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(3),
+ B(Star), R(6),
+ B(Mov), R(7), R(2),
+ B(LdaConstant), U8(8),
+ B(Star), R(7),
+ B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(7), U8(1),
+ B(StaCurrentContextSlot), U8(5),
+ B(LdaCurrentContextSlot), U8(4),
+ B(Star), R(8),
+ B(Ldar), R(6),
+ B(StaNamedProperty), R(8), U8(9), U8(0),
+ B(PopContext), R(4),
+ B(Mov), R(2), R(1),
+ B(LdaUndefined),
+ /* 118 S> */ B(Return),
+]
+constant pool: [
+ SCOPE_INFO_TYPE,
+ FIXED_ARRAY_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ SCOPE_INFO_TYPE,
+ FIXED_ARRAY_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ SHARED_FUNCTION_INFO_TYPE,
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["C"],
+ SYMBOL_TYPE,
+]
+handlers: [
+]
+
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethods.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethods.golden
deleted file mode 100644
index 5821a20069..0000000000
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateMethods.golden
+++ /dev/null
@@ -1,160 +0,0 @@
-#
-# Autogenerated by generate-bytecode-expectations.
-#
-
----
-wrap: yes
-private methods: yes
-
----
-snippet: "
- {
- class A {
- #a() { return 1; }
- callA() { return this.#a(); }
- }
-
- const a = new A;
- a.callA();
- }
-"
-frame size: 9
-parameter count: 1
-bytecode array length: 80
-bytecodes: [
- /* 30 E> */ B(StackCheck),
- B(CreateBlockContext), U8(0),
- B(PushContext), R(3),
- B(LdaTheHole),
- B(Star), R(7),
- B(CreateClosure), U8(2), U8(0), U8(2),
- B(Star), R(4),
- B(LdaConstant), U8(1),
- B(Star), R(5),
- B(CreateClosure), U8(3), U8(1), U8(2),
- B(StaCurrentContextSlot), U8(4),
- B(CreateClosure), U8(4), U8(2), U8(2),
- B(Star), R(8),
- B(Mov), R(4), R(6),
- B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(4),
- B(Star), R(5),
- B(Mov), R(6), R(2),
- B(LdaConstant), U8(5),
- B(Star), R(6),
- B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(6), U8(1),
- B(StaCurrentContextSlot), U8(5),
- B(PopContext), R(3),
- B(Mov), R(2), R(0),
- /* 122 S> */ B(Ldar), R(0),
- /* 122 E> */ B(Construct), R(0), R(0), U8(0), U8(0),
- B(Star), R(1),
- /* 133 S> */ B(LdaNamedProperty), R(1), U8(6), U8(2),
- B(Star), R(3),
- /* 133 E> */ B(CallProperty0), R(3), R(1), U8(4),
- B(LdaUndefined),
- /* 144 S> */ B(Return),
-]
-constant pool: [
- SCOPE_INFO_TYPE,
- FIXED_ARRAY_TYPE,
- SHARED_FUNCTION_INFO_TYPE,
- SHARED_FUNCTION_INFO_TYPE,
- SHARED_FUNCTION_INFO_TYPE,
- ONE_BYTE_INTERNALIZED_STRING_TYPE ["A"],
- ONE_BYTE_INTERNALIZED_STRING_TYPE ["callA"],
-]
-handlers: [
-]
-
----
-snippet: "
- {
- class D {
- #d() { return 1; }
- callD() { return this.#d(); }
- }
-
- class E extends D {
- #e() { return 2; }
- callE() { return this.callD() + this.#e(); }
- }
-
- const e = new E;
- e.callE();
- }
-"
-frame size: 11
-parameter count: 1
-bytecode array length: 138
-bytecodes: [
- /* 30 E> */ B(StackCheck),
- B(CreateBlockContext), U8(0),
- B(PushContext), R(5),
- B(LdaTheHole),
- B(Star), R(9),
- B(CreateClosure), U8(2), U8(0), U8(2),
- B(Star), R(6),
- B(LdaConstant), U8(1),
- B(Star), R(7),
- B(CreateClosure), U8(3), U8(1), U8(2),
- B(StaCurrentContextSlot), U8(4),
- B(CreateClosure), U8(4), U8(2), U8(2),
- B(Star), R(10),
- B(Mov), R(6), R(8),
- B(CallRuntime), U16(Runtime::kDefineClass), R(7), U8(4),
- B(Star), R(7),
- B(Mov), R(8), R(4),
- B(LdaConstant), U8(5),
- B(Star), R(8),
- B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(8), U8(1),
- B(StaCurrentContextSlot), U8(5),
- B(PopContext), R(5),
- B(Mov), R(4), R(0),
- /* 38 E> */ B(CreateBlockContext), U8(6),
- B(PushContext), R(5),
- /* 128 E> */ B(CreateClosure), U8(8), U8(3), U8(2),
- B(Star), R(6),
- B(LdaConstant), U8(7),
- B(Star), R(7),
- B(CreateClosure), U8(9), U8(4), U8(2),
- B(StaCurrentContextSlot), U8(4),
- B(CreateClosure), U8(10), U8(5), U8(2),
- B(Star), R(10),
- B(Mov), R(6), R(8),
- B(Mov), R(4), R(9),
- B(CallRuntime), U16(Runtime::kDefineClass), R(7), U8(4),
- B(Star), R(7),
- B(Mov), R(8), R(3),
- B(LdaConstant), U8(11),
- B(Star), R(8),
- B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(8), U8(1),
- B(StaCurrentContextSlot), U8(5),
- B(PopContext), R(5),
- B(Mov), R(3), R(1),
- /* 221 S> */ B(Ldar), R(1),
- /* 221 E> */ B(Construct), R(1), R(0), U8(0), U8(0),
- B(Star), R(2),
- /* 232 S> */ B(LdaNamedProperty), R(2), U8(12), U8(2),
- B(Star), R(5),
- /* 232 E> */ B(CallProperty0), R(5), R(2), U8(4),
- B(LdaUndefined),
- /* 243 S> */ B(Return),
-]
-constant pool: [
- SCOPE_INFO_TYPE,
- FIXED_ARRAY_TYPE,
- SHARED_FUNCTION_INFO_TYPE,
- SHARED_FUNCTION_INFO_TYPE,
- SHARED_FUNCTION_INFO_TYPE,
- ONE_BYTE_INTERNALIZED_STRING_TYPE ["D"],
- SCOPE_INFO_TYPE,
- FIXED_ARRAY_TYPE,
- SHARED_FUNCTION_INFO_TYPE,
- SHARED_FUNCTION_INFO_TYPE,
- SHARED_FUNCTION_INFO_TYPE,
- ONE_BYTE_INTERNALIZED_STRING_TYPE ["E"],
- ONE_BYTE_INTERNALIZED_STRING_TYPE ["callE"],
-]
-handlers: [
-]
-
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden
index 9cb5a6b01c..1a4ad60629 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden
@@ -220,13 +220,10 @@ snippet: "
"
frame size: 4
parameter count: 1
-bytecode array length: 53
+bytecode array length: 44
bytecodes: [
/* 10 E> */ B(StackCheck),
/* 37 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
- B(JumpIfNull), U8(4),
- B(JumpIfNotUndefined), U8(7),
- /* 26 E> */ B(CallRuntime), U16(Runtime::kThrowPatternAssignmentNonCoercible), R(0), U8(0),
B(Star), R(3),
/* 28 S> */ B(LdaNamedProperty), R(3), U8(1), U8(1),
B(Star), R(0),
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden
index 74849d1c85..e3eed68138 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/SuperCallAndSpread.golden
@@ -91,9 +91,9 @@ snippet: "
test = new B(1, 2, 3).constructor;
})();
"
-frame size: 13
+frame size: 12
parameter count: 1
-bytecode array length: 128
+bytecode array length: 124
bytecodes: [
B(CreateRestParameter),
B(Star), R(3),
@@ -111,23 +111,22 @@ bytecodes: [
B(Ldar), R(6),
B(Inc), U8(3),
/* 152 S> */ B(Star), R(6),
- B(LdaNamedProperty), R(3), U8(0), U8(4),
+ B(GetIterator), R(3), U8(4),
B(Star), R(11),
B(CallProperty0), R(11), R(3), U8(6),
- B(Mov), R(3), R(10),
B(Mov), R(1), R(4),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowSymbolIteratorInvalid), R(0), U8(0),
B(Star), R(9),
- B(LdaNamedProperty), R(9), U8(1), U8(8),
+ B(LdaNamedProperty), R(9), U8(0), U8(8),
B(Star), R(8),
B(CallProperty0), R(8), R(9), U8(14),
- B(Star), R(12),
+ B(Star), R(10),
B(JumpIfJSReceiver), U8(7),
- B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(12), U8(1),
- B(LdaNamedProperty), R(12), U8(2), U8(16),
+ B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(10), U8(1),
+ B(LdaNamedProperty), R(10), U8(1), U8(16),
B(JumpIfToBooleanTrue), U8(19),
- B(LdaNamedProperty), R(12), U8(3), U8(10),
+ B(LdaNamedProperty), R(10), U8(2), U8(10),
B(StaInArrayLiteral), R(7), R(6), U8(1),
B(Ldar), R(6),
B(Inc), U8(3),
@@ -147,7 +146,6 @@ bytecodes: [
/* 162 S> */ B(Return),
]
constant pool: [
- SYMBOL_TYPE,
ONE_BYTE_INTERNALIZED_STRING_TYPE ["next"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["done"],
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/WideRegisters.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/WideRegisters.golden
index 19a09ba49c..066d6e9f03 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/WideRegisters.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/WideRegisters.golden
@@ -2655,7 +2655,7 @@ snippet: "
"
frame size: 163
parameter count: 1
-bytecode array length: 626
+bytecode array length: 624
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 43 S> */ B(LdaZero),
@@ -2977,8 +2977,7 @@ bytecodes: [
/* 2146 S> */ B(LdaZero),
B(Star), R(1),
/* 2162 S> */ B(Ldar), R(0),
- B(JumpIfUndefined), U8(74),
- B(JumpIfNull), U8(72),
+ B(JumpIfUndefinedOrNull), U8(72),
B(Wide), B(ToObject), R16(157),
B(Wide), B(ForInEnumerate), R16(157),
B(Wide), B(ForInPrepare), R16(158), U16(0),
diff --git a/deps/v8/test/cctest/interpreter/test-bytecode-generator.cc b/deps/v8/test/cctest/interpreter/test-bytecode-generator.cc
index e1601d4642..fda02933aa 100644
--- a/deps/v8/test/cctest/interpreter/test-bytecode-generator.cc
+++ b/deps/v8/test/cctest/interpreter/test-bytecode-generator.cc
@@ -2758,7 +2758,7 @@ TEST(PrivateClassFields) {
LoadGolden("PrivateClassFields.golden")));
}
-TEST(PrivateMethods) {
+TEST(PrivateMethodDeclaration) {
bool old_methods_flag = i::FLAG_harmony_private_methods;
i::FLAG_harmony_private_methods = true;
InitializedIgnitionHandleScope scope;
@@ -2768,30 +2768,179 @@ TEST(PrivateMethods) {
"{\n"
" class A {\n"
" #a() { return 1; }\n"
- " callA() { return this.#a(); }\n"
" }\n"
- "\n"
- " const a = new A;\n"
- " a.callA();\n"
"}\n",
"{\n"
" class D {\n"
" #d() { return 1; }\n"
- " callD() { return this.#d(); }\n"
" }\n"
- "\n"
" class E extends D {\n"
" #e() { return 2; }\n"
- " callE() { return this.callD() + this.#e(); }\n"
+ " }\n"
+ "}\n",
+
+ "{\n"
+ " class A { foo() {} }\n"
+ " class C extends A {\n"
+ " #m() { return super.foo; }\n"
+ " }\n"
+ "}\n"};
+
+ CHECK(CompareTexts(BuildActual(printer, snippets),
+ LoadGolden("PrivateMethodDeclaration.golden")));
+ i::FLAG_harmony_private_methods = old_methods_flag;
+}
+
+TEST(PrivateMethodAccess) {
+ bool old_methods_flag = i::FLAG_harmony_private_methods;
+ i::FLAG_harmony_private_methods = true;
+ InitializedIgnitionHandleScope scope;
+ BytecodeExpectationsPrinter printer(CcTest::isolate());
+ printer.set_wrap(false);
+ printer.set_test_function_name("test");
+
+ const char* snippets[] = {
+ "class A {\n"
+ " #a() { return 1; }\n"
+ " constructor() { return this.#a(); }\n"
+ "}\n"
+ "\n"
+ "var test = A;\n"
+ "new A;\n",
+
+ "class B {\n"
+ " #b() { return 1; }\n"
+ " constructor() { this.#b = 1; }\n"
+ "}\n"
+ "\n"
+ "var test = B;\n"
+ "new test;\n",
+
+ "class C {\n"
+ " #c() { return 1; }\n"
+ " constructor() { this.#c++; }\n"
+ "}\n"
+ "\n"
+ "var test = C;\n"
+ "new test;\n"};
+
+ CHECK(CompareTexts(BuildActual(printer, snippets),
+ LoadGolden("PrivateMethodAccess.golden")));
+ i::FLAG_harmony_private_methods = old_methods_flag;
+}
+
+TEST(PrivateAccessorAccess) {
+ bool old_methods_flag = i::FLAG_harmony_private_methods;
+ i::FLAG_harmony_private_methods = true;
+ InitializedIgnitionHandleScope scope;
+ BytecodeExpectationsPrinter printer(CcTest::isolate());
+ printer.set_wrap(false);
+ printer.set_test_function_name("test");
+
+ const char* snippets[] = {
+ "class A {\n"
+ " get #a() { return 1; }\n"
+ " set #a(val) { }\n"
+ "\n"
+ " constructor() {\n"
+ " this.#a++;\n"
+ " this.#a = 1;\n"
+ " return this.#a;\n"
+ " }\n"
+ "}\n"
+ "var test = A;\n"
+ "new test;\n",
+
+ "class B {\n"
+ " get #b() { return 1; }\n"
+ " constructor() { this.#b++; }\n"
+ "}\n"
+ "var test = B;\n"
+ "new test;\n",
+
+ "class C {\n"
+ " set #c(val) { }\n"
+ " constructor() { this.#c++; }\n"
+ "}\n"
+ "var test = C;\n"
+ "new test;\n",
+
+ "class D {\n"
+ " get #d() { return 1; }\n"
+ " constructor() { this.#d = 1; }\n"
+ "}\n"
+ "var test = D;\n"
+ "new test;\n",
+
+ "class E {\n"
+ " set #e(val) { }\n"
+ " constructor() { this.#e; }\n"
+ "}\n"
+ "var test = E;\n"
+ "new test;\n"};
+
+ CHECK(CompareTexts(BuildActual(printer, snippets),
+ LoadGolden("PrivateAccessorAccess.golden")));
+ i::FLAG_harmony_private_methods = old_methods_flag;
+}
+
+TEST(PrivateAccessorDeclaration) {
+ bool old_methods_flag = i::FLAG_harmony_private_methods;
+ i::FLAG_harmony_private_methods = true;
+ InitializedIgnitionHandleScope scope;
+ BytecodeExpectationsPrinter printer(CcTest::isolate());
+
+ const char* snippets[] = {
+ "{\n"
+ " class A {\n"
+ " get #a() { return 1; }\n"
+ " set #a(val) { }\n"
+ " }\n"
+ "}\n",
+
+ "{\n"
+ " class B {\n"
+ " get #b() { return 1; }\n"
+ " }\n"
+ "}\n",
+
+ "{\n"
+ " class C {\n"
+ " set #c(val) { }\n"
+ " }\n"
+ "}\n",
+
+ "{\n"
+ " class D {\n"
+ " get #d() { return 1; }\n"
+ " set #d(val) { }\n"
" }\n"
"\n"
- " const e = new E;\n"
- " e.callE();\n"
+ " class E extends D {\n"
+ " get #e() { return 2; }\n"
+ " set #e(val) { }\n"
+ " }\n"
+ "}\n",
+
+ "{\n"
+ " class A { foo() {} }\n"
+ " class C extends A {\n"
+ " get #a() { return super.foo; }\n"
+ " }\n"
+ " new C();\n"
+ "}\n",
+
+ "{\n"
+ " class A { foo(val) {} }\n"
+ " class C extends A {\n"
+ " set #a(val) { super.foo(val); }\n"
+ " }\n"
+ " new C();\n"
"}\n"};
CHECK(CompareTexts(BuildActual(printer, snippets),
- LoadGolden("PrivateMethods.golden")));
+ LoadGolden("PrivateAccessorDeclaration.golden")));
i::FLAG_harmony_private_methods = old_methods_flag;
}