aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/test/cctest/interpreter
diff options
context:
space:
mode:
authorRefael Ackermann <refack@gmail.com>2019-05-28 08:46:21 -0400
committerRefael Ackermann <refack@gmail.com>2019-06-01 09:55:12 -0400
commited74896b1fae1c163b3906163f3bf46326618ddb (patch)
tree7fb05c5a19808e0c5cd95837528e9005999cf540 /deps/v8/test/cctest/interpreter
parent2a850cd0664a4eee51f44d0bb8c2f7a3fe444154 (diff)
downloadandroid-node-v8-ed74896b1fae1c163b3906163f3bf46326618ddb.tar.gz
android-node-v8-ed74896b1fae1c163b3906163f3bf46326618ddb.tar.bz2
android-node-v8-ed74896b1fae1c163b3906163f3bf46326618ddb.zip
deps: update V8 to 7.5.288.22
PR-URL: https://github.com/nodejs/node/pull/27375 Reviewed-By: Michaƫl Zasso <targos@protonmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'deps/v8/test/cctest/interpreter')
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden2
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/CallLookupSlot.golden8
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden6
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden2
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/ContextVariables.golden2
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/CountOperators.golden6
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/DeclareGlobals.golden2
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/Delete.golden2
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden8
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/FunctionLiterals.golden4
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden30
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden20
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateClassFields.golden54
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/PublicClassFields.golden36
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden6
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/StaticClassFields.golden72
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/StringConcat.golden8
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/TemplateLiterals.golden8
-rw-r--r--deps/v8/test/cctest/interpreter/bytecode_expectations/TopLevelObjectLiterals.golden6
-rw-r--r--deps/v8/test/cctest/interpreter/test-interpreter.cc118
20 files changed, 249 insertions, 151 deletions
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
index e5c7177efc..488f7a7ebd 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/BasicLoops.golden
@@ -714,7 +714,7 @@ bytecodes: [
/* 113 S> */ B(PopContext), R(3),
B(Jump), U8(10),
/* 126 S> */ B(LdaCurrentContextSlot), U8(4),
- B(Inc), U8(1),
+ B(Inc), U8(0),
/* 127 E> */ B(StaCurrentContextSlot), U8(4),
B(PopContext), R(3),
B(JumpLoop), U8(41), I8(0),
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallLookupSlot.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallLookupSlot.golden
index 664aa35ea6..b06520351b 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CallLookupSlot.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CallLookupSlot.golden
@@ -24,7 +24,7 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateClosure), U8(1), U8(0), U8(2),
/* 36 E> */ B(StaLookupSlot), U8(2), U8(0),
- /* 52 S> */ B(LdaLookupGlobalSlot), U8(3), U8(1), U8(1),
+ /* 52 S> */ B(LdaLookupGlobalSlot), U8(3), U8(0), U8(1),
B(Star), R(2),
B(LdaConstant), U8(4),
B(Star), R(3),
@@ -39,10 +39,10 @@ bytecodes: [
B(Mov), R(closure), R(6),
B(CallRuntime), U16(Runtime::kResolvePossiblyDirectEval), R(4), U8(6),
B(Star), R(2),
- /* 52 E> */ B(CallUndefinedReceiver1), R(2), R(3), U8(3),
- /* 62 S> */ B(LdaLookupGlobalSlot), U8(2), U8(5), U8(1),
+ /* 52 E> */ B(CallUndefinedReceiver1), R(2), R(3), U8(2),
+ /* 62 S> */ B(LdaLookupGlobalSlot), U8(2), U8(4), U8(1),
B(Star), R(2),
- /* 69 E> */ B(CallUndefinedReceiver0), R(2), U8(7),
+ /* 69 E> */ B(CallUndefinedReceiver0), R(2), U8(6),
/* 73 S> */ B(Return),
]
constant pool: [
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden
index f79bb9457a..be635a2ed0 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden
@@ -120,11 +120,11 @@ bytecodes: [
/* 106 S> */ B(LdaImmutableContextSlot), R(3), U8(5), U8(0),
B(ToName), R(10),
B(LdaConstant), U8(7),
- B(TestEqualStrict), R(10), U8(2),
+ B(TestEqualStrict), R(10), U8(0),
B(Mov), R(4), R(6),
B(JumpIfFalse), U8(7),
B(CallRuntime), U16(Runtime::kThrowStaticPrototypeError), R(0), U8(0),
- B(CreateClosure), U8(8), U8(3), U8(2),
+ B(CreateClosure), U8(8), U8(2), U8(2),
B(Star), R(11),
B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(7),
B(Star), R(5),
@@ -178,7 +178,7 @@ bytecodes: [
B(PopContext), R(3),
B(Mov), R(1), R(0),
/* 87 S> */ B(Ldar), R(0),
- /* 94 E> */ B(Construct), R(0), R(0), U8(0), U8(1),
+ /* 94 E> */ B(Construct), R(0), R(0), U8(0), U8(0),
/* 102 S> */ B(Return),
]
constant pool: [
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden
index b5d9f60681..c4b600629c 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CompoundExpressions.golden
@@ -111,7 +111,7 @@ bytecodes: [
/* 42 E> */ B(StaCurrentContextSlot), U8(4),
/* 45 S> */ B(CreateClosure), U8(1), U8(0), U8(2),
/* 75 S> */ B(LdaCurrentContextSlot), U8(4),
- B(BitwiseOrSmi), I8(24), U8(1),
+ B(BitwiseOrSmi), I8(24), U8(0),
/* 77 E> */ B(StaCurrentContextSlot), U8(4),
B(LdaUndefined),
/* 84 S> */ B(Return),
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ContextVariables.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ContextVariables.golden
index 3de7ba3367..2161a38a50 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ContextVariables.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ContextVariables.golden
@@ -87,7 +87,7 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 41 S> */ B(CreateClosure), U8(1), U8(0), U8(2),
B(Star), R(1),
- /* 64 E> */ B(CallUndefinedReceiver0), R(1), U8(1),
+ /* 64 E> */ B(CallUndefinedReceiver0), R(1), U8(0),
/* 68 S> */ B(LdaCurrentContextSlot), U8(4),
/* 77 S> */ B(Return),
]
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/CountOperators.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/CountOperators.golden
index 38af7fc364..8fdd8d4a18 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/CountOperators.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/CountOperators.golden
@@ -217,7 +217,7 @@ bytecodes: [
/* 53 S> */ B(CreateClosure), U8(1), U8(0), U8(2),
B(Star), R(0),
/* 78 S> */ B(LdaCurrentContextSlot), U8(4),
- B(Inc), U8(1),
+ B(Inc), U8(0),
/* 87 E> */ B(StaCurrentContextSlot), U8(4),
/* 89 S> */ B(Return),
]
@@ -244,9 +244,9 @@ bytecodes: [
/* 53 S> */ B(CreateClosure), U8(1), U8(0), U8(2),
B(Star), R(0),
/* 78 S> */ B(LdaCurrentContextSlot), U8(4),
- B(ToNumeric), U8(1),
+ B(ToNumeric), U8(0),
B(Star), R(2),
- B(Dec), U8(1),
+ B(Dec), U8(0),
/* 86 E> */ B(StaCurrentContextSlot), U8(4),
B(Ldar), R(2),
/* 89 S> */ B(Return),
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/DeclareGlobals.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/DeclareGlobals.golden
index 3dafb7f5c2..ed7249dbe2 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/DeclareGlobals.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/DeclareGlobals.golden
@@ -105,7 +105,7 @@ bytecodes: [
/* 0 E> */ B(StackCheck),
/* 16 S> */ B(LdaGlobal), U8(1), U8(0),
B(Star), R(1),
- /* 16 E> */ B(CallUndefinedReceiver0), R(1), U8(3),
+ /* 16 E> */ B(CallUndefinedReceiver0), R(1), U8(2),
B(Star), R(0),
/* 21 S> */ B(Return),
]
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/Delete.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/Delete.golden
index 06de86b362..4af18ededd 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/Delete.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/Delete.golden
@@ -105,7 +105,7 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 56 S> */ B(CreateObjectLiteral), U8(1), U8(0), U8(41),
/* 56 E> */ B(StaCurrentContextSlot), U8(4),
- /* 64 S> */ B(CreateClosure), U8(2), U8(1), U8(2),
+ /* 64 S> */ B(CreateClosure), U8(2), U8(0), U8(2),
/* 93 S> */ B(LdaImmutableCurrentContextSlot), U8(4),
B(Star), R(1),
B(LdaSmi), I8(1),
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden
index 2672e0688e..f85f09c1f7 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden
@@ -294,9 +294,9 @@ bytecodes: [
B(StaCurrentContextSlot), U8(4),
/* 29 S> */ B(Ldar), R(0),
/* 29 E> */ B(StaCurrentContextSlot), U8(4),
- /* 41 S> */ B(CreateClosure), U8(5), U8(12), U8(2),
+ /* 41 S> */ B(CreateClosure), U8(5), U8(0), U8(2),
B(Star), R(12),
- /* 67 E> */ B(CallUndefinedReceiver0), R(12), U8(13),
+ /* 67 E> */ B(CallUndefinedReceiver0), R(12), U8(12),
B(PopContext), R(11),
B(Mov), R(0), R(10),
B(JumpLoop), U8(60), I8(0),
@@ -312,7 +312,7 @@ bytecodes: [
B(Star), R(9),
B(Ldar), R(6),
B(JumpIfToBooleanTrue), U8(60),
- B(LdaNamedProperty), R(3), U8(6), U8(15),
+ B(LdaNamedProperty), R(3), U8(6), U8(14),
B(Star), R(12),
B(JumpIfUndefined), U8(52),
B(JumpIfNull), U8(50),
@@ -325,7 +325,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
B(Throw),
B(Mov), R(context), R(13),
- B(CallProperty0), R(12), R(3), U8(17),
+ B(CallProperty0), R(12), R(3), U8(16),
B(JumpIfJSReceiver), U8(21),
B(Star), R(14),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(14), U8(1),
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/FunctionLiterals.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/FunctionLiterals.golden
index 98fa04dad6..0416d1815a 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/FunctionLiterals.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/FunctionLiterals.golden
@@ -34,7 +34,7 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateClosure), U8(0), U8(0), U8(2),
B(Star), R(0),
- /* 56 E> */ B(CallUndefinedReceiver0), R(0), U8(1),
+ /* 56 E> */ B(CallUndefinedReceiver0), R(0), U8(0),
/* 58 S> */ B(Return),
]
constant pool: [
@@ -56,7 +56,7 @@ bytecodes: [
B(Star), R(0),
B(LdaSmi), I8(1),
B(Star), R(1),
- /* 67 E> */ B(CallUndefinedReceiver1), R(0), R(1), U8(1),
+ /* 67 E> */ B(CallUndefinedReceiver1), R(0), R(1), U8(0),
/* 70 S> */ B(Return),
]
constant pool: [
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden
index 18fd7989c5..ed15f99fc9 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden
@@ -29,10 +29,10 @@ bytecodes: [
B(Mov), R(5), R(1),
B(PopContext), R(2),
B(Mov), R(1), R(0),
- /* 89 S> */ B(CreateArrayLiteral), U8(3), U8(1), U8(37),
+ /* 89 S> */ B(CreateArrayLiteral), U8(3), U8(0), U8(37),
B(Star), R(3),
B(Ldar), R(0),
- /* 89 E> */ B(ConstructWithSpread), R(0), R(3), U8(1), U8(2),
+ /* 89 E> */ B(ConstructWithSpread), R(0), R(3), U8(1), U8(1),
B(LdaUndefined),
/* 110 S> */ B(Return),
]
@@ -71,10 +71,10 @@ bytecodes: [
B(Mov), R(1), R(0),
/* 89 S> */ B(LdaZero),
B(Star), R(3),
- B(CreateArrayLiteral), U8(3), U8(1), U8(37),
+ B(CreateArrayLiteral), U8(3), U8(0), U8(37),
B(Star), R(4),
B(Ldar), R(0),
- /* 89 E> */ B(ConstructWithSpread), R(0), R(3), U8(2), U8(2),
+ /* 89 E> */ B(ConstructWithSpread), R(0), R(3), U8(2), U8(1),
B(LdaUndefined),
/* 113 S> */ B(Return),
]
@@ -111,35 +111,35 @@ bytecodes: [
B(Mov), R(5), R(1),
B(PopContext), R(2),
B(Mov), R(1), R(0),
- /* 89 S> */ B(CreateArrayLiteral), U8(3), U8(1), U8(37),
+ /* 89 S> */ B(CreateArrayLiteral), U8(3), U8(0), U8(37),
B(Star), R(4),
B(LdaConstant), U8(4),
B(Star), R(3),
- /* 101 S> */ B(CreateArrayLiteral), U8(5), U8(2), U8(37),
+ /* 101 S> */ B(CreateArrayLiteral), U8(5), U8(1), U8(37),
B(Star), R(7),
- B(LdaNamedProperty), R(7), U8(6), U8(3),
+ B(LdaNamedProperty), R(7), U8(6), U8(2),
B(Star), R(8),
- B(CallProperty0), R(8), R(7), U8(5),
+ 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(7),
+ B(LdaNamedProperty), R(6), U8(7), U8(6),
B(Star), R(5),
- B(CallProperty0), R(5), R(6), U8(16),
+ B(CallProperty0), R(5), R(6), U8(15),
B(Star), R(9),
B(JumpIfJSReceiver), U8(7),
B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(9), U8(1),
- B(LdaNamedProperty), R(9), U8(8), U8(18),
+ B(LdaNamedProperty), R(9), U8(8), U8(17),
B(JumpIfToBooleanTrue), U8(19),
- B(LdaNamedProperty), R(9), U8(9), U8(9),
- B(StaInArrayLiteral), R(4), R(3), U8(14),
+ B(LdaNamedProperty), R(9), U8(9), U8(8),
+ B(StaInArrayLiteral), R(4), R(3), U8(13),
B(Ldar), R(3),
- B(Inc), U8(13),
+ B(Inc), U8(12),
B(Star), R(3),
B(JumpLoop), U8(33), I8(0),
B(LdaSmi), I8(4),
- B(StaInArrayLiteral), R(4), R(3), U8(14),
+ B(StaInArrayLiteral), R(4), R(3), U8(13),
B(Mov), R(4), R(3),
B(CallJSRuntime), U8(%reflect_construct), R(2), U8(2),
B(LdaUndefined),
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden
index be6ef0138b..82c47ff88d 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden
@@ -102,8 +102,8 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
- /* 49 E> */ B(CreateClosure), U8(1), U8(1), U8(2),
- B(StaNamedOwnProperty), R(0), U8(2), U8(2),
+ /* 49 E> */ B(CreateClosure), U8(1), U8(0), U8(2),
+ B(StaNamedOwnProperty), R(0), U8(2), U8(1),
B(Ldar), R(0),
/* 66 S> */ B(Return),
]
@@ -126,8 +126,8 @@ bytecodes: [
/* 30 E> */ B(StackCheck),
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41),
B(Star), R(0),
- /* 43 E> */ B(CreateClosure), U8(1), U8(1), U8(2),
- B(StaNamedOwnProperty), R(0), U8(2), U8(2),
+ /* 43 E> */ B(CreateClosure), U8(1), U8(0), U8(2),
+ B(StaNamedOwnProperty), R(0), U8(2), U8(1),
B(Ldar), R(0),
/* 67 S> */ B(Return),
]
@@ -152,7 +152,7 @@ bytecodes: [
B(Star), R(0),
B(LdaConstant), U8(1),
B(Star), R(2),
- B(CreateClosure), U8(2), U8(1), U8(2),
+ B(CreateClosure), U8(2), U8(0), U8(2),
B(Star), R(3),
B(LdaNull),
B(Star), R(4),
@@ -184,9 +184,9 @@ bytecodes: [
B(Star), R(0),
B(LdaConstant), U8(1),
B(Star), R(2),
- B(CreateClosure), U8(2), U8(1), U8(2),
+ B(CreateClosure), U8(2), U8(0), U8(2),
B(Star), R(3),
- B(CreateClosure), U8(3), U8(2), U8(2),
+ B(CreateClosure), U8(3), U8(1), U8(2),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
@@ -219,7 +219,7 @@ bytecodes: [
B(Star), R(2),
B(LdaNull),
B(Star), R(3),
- B(CreateClosure), U8(2), U8(1), U8(2),
+ B(CreateClosure), U8(2), U8(0), U8(2),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
@@ -388,7 +388,7 @@ bytecodes: [
/* 64 E> */ B(StaDataPropertyInLiteral), R(1), R(2), U8(0), U8(1),
B(LdaConstant), U8(3),
B(Star), R(3),
- /* 71 E> */ B(CreateClosure), U8(4), U8(3), U8(2),
+ /* 71 E> */ B(CreateClosure), U8(4), U8(0), U8(2),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
@@ -396,7 +396,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kDefineGetterPropertyUnchecked), R(2), U8(4),
B(LdaConstant), U8(3),
B(Star), R(3),
- /* 84 E> */ B(CreateClosure), U8(5), U8(4), U8(2),
+ /* 84 E> */ B(CreateClosure), U8(5), U8(1), U8(2),
B(Star), R(4),
B(LdaZero),
B(Star), R(5),
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateClassFields.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateClassFields.golden
index 5afcdde7f6..c7f5101dd7 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateClassFields.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PrivateClassFields.golden
@@ -25,14 +25,12 @@ snippet: "
"
frame size: 10
parameter count: 1
-bytecode array length: 143
+bytecode array length: 137
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
B(PushContext), R(4),
B(LdaTheHole),
- B(StaCurrentContextSlot), U8(4),
- B(LdaTheHole),
B(Star), R(8),
B(CreateClosure), U8(2), U8(0), U8(2),
B(Star), R(5),
@@ -50,16 +48,14 @@ bytecodes: [
B(Mov), R(7), R(3),
B(CreateClosure), U8(4), U8(1), U8(2),
B(Star), R(7),
- B(StaNamedProperty), R(5), U8(5), U8(2),
+ B(StaNamedProperty), R(5), U8(5), U8(0),
B(PopContext), R(4),
B(Mov), R(3), R(0),
/* 38 E> */ B(CreateBlockContext), U8(6),
B(PushContext), R(4),
B(LdaTheHole),
- B(StaCurrentContextSlot), U8(4),
- B(LdaTheHole),
B(Star), R(8),
- B(CreateClosure), U8(8), U8(4), U8(2),
+ B(CreateClosure), U8(8), U8(2), U8(2),
B(Star), R(5),
B(LdaConstant), U8(7),
B(Star), R(6),
@@ -73,15 +69,15 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(3),
B(Star), R(6),
B(Mov), R(7), R(2),
- B(CreateClosure), U8(9), U8(5), U8(2),
+ B(CreateClosure), U8(9), U8(3), U8(2),
B(Star), R(7),
- B(StaNamedProperty), R(5), U8(5), U8(6),
+ B(StaNamedProperty), R(5), U8(5), U8(2),
B(PopContext), R(4),
B(Mov), R(2), R(1),
/* 136 S> */ B(Ldar), R(3),
- /* 136 E> */ B(Construct), R(3), R(0), U8(0), U8(8),
+ /* 136 E> */ B(Construct), R(3), R(0), U8(0), U8(4),
/* 145 S> */ B(Ldar), R(2),
- /* 145 E> */ B(Construct), R(2), R(0), U8(0), U8(10),
+ /* 145 E> */ B(Construct), R(2), R(0), U8(0), U8(6),
B(LdaUndefined),
/* 154 S> */ B(Return),
]
@@ -137,14 +133,12 @@ snippet: "
"
frame size: 15
parameter count: 1
-bytecode array length: 289
+bytecode array length: 277
bytecodes: [
/* 30 E> */ B(StackCheck),
B(CreateBlockContext), U8(0),
B(PushContext), R(6),
B(LdaTheHole),
- B(StaCurrentContextSlot), U8(4),
- B(LdaTheHole),
B(Star), R(14),
B(CreateClosure), U8(3), U8(0), U8(2),
B(Star), R(11),
@@ -170,25 +164,21 @@ bytecodes: [
B(Mov), R(9), R(5),
B(CreateClosure), U8(6), U8(2), U8(2),
B(Star), R(9),
- B(StaNamedProperty), R(7), U8(7), U8(3),
+ B(StaNamedProperty), R(7), U8(7), U8(0),
B(PopContext), R(6),
B(Mov), R(5), R(0),
/* 38 E> */ B(CreateBlockContext), U8(8),
B(PushContext), R(6),
B(LdaTheHole),
- B(StaCurrentContextSlot), U8(4),
- B(LdaTheHole),
- B(StaCurrentContextSlot), U8(5),
- B(LdaTheHole),
B(Star), R(14),
- B(CreateClosure), U8(11), U8(5), U8(2),
+ B(CreateClosure), U8(11), U8(3), U8(2),
B(Star), R(11),
B(LdaConstant), U8(10),
B(Star), R(12),
B(Mov), R(11), R(13),
B(CallRuntime), U16(Runtime::kDefineClass), R(12), U8(3),
B(Star), R(12),
- B(CreateClosure), U8(12), U8(6), U8(2),
+ B(CreateClosure), U8(12), U8(4), U8(2),
B(Star), R(7),
B(LdaConstant), U8(9),
B(Star), R(8),
@@ -204,25 +194,23 @@ bytecodes: [
B(Star), R(11),
B(CallRuntime), U16(Runtime::kCreatePrivateNameSymbol), R(11), U8(1),
B(StaCurrentContextSlot), U8(5),
- B(CreateClosure), U8(14), U8(7), U8(2),
+ B(CreateClosure), U8(14), U8(5), U8(2),
B(Star), R(11),
- B(CreateClosure), U8(15), U8(8), U8(2),
+ B(CreateClosure), U8(15), U8(6), U8(2),
B(Star), R(12),
B(Mov), R(7), R(9),
B(Mov), R(13), R(10),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5),
B(Star), R(8),
B(Mov), R(9), R(4),
- B(CreateClosure), U8(16), U8(9), U8(2),
+ B(CreateClosure), U8(16), U8(7), U8(2),
B(Star), R(9),
- B(StaNamedProperty), R(7), U8(7), U8(10),
+ B(StaNamedProperty), R(7), U8(7), U8(2),
B(PopContext), R(6),
B(Mov), R(4), R(1),
/* 140 E> */ B(CreateBlockContext), U8(17),
B(PushContext), R(6),
- B(LdaTheHole),
- B(StaCurrentContextSlot), U8(4),
- /* 356 E> */ B(CreateClosure), U8(19), U8(12), U8(2),
+ /* 356 E> */ B(CreateClosure), U8(19), U8(8), U8(2),
B(Star), R(7),
B(LdaConstant), U8(18),
B(Star), R(8),
@@ -237,17 +225,17 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(3),
B(Star), R(8),
B(Mov), R(9), R(3),
- B(CreateClosure), U8(20), U8(13), U8(2),
+ B(CreateClosure), U8(20), U8(9), U8(2),
B(Star), R(9),
- B(StaNamedProperty), R(7), U8(7), U8(14),
+ B(StaNamedProperty), R(7), U8(7), U8(4),
B(PopContext), R(6),
B(Mov), R(3), R(2),
/* 430 S> */ B(Ldar), R(5),
- /* 430 E> */ B(Construct), R(5), R(0), U8(0), U8(16),
+ /* 430 E> */ B(Construct), R(5), R(0), U8(0), U8(6),
/* 439 S> */ B(Ldar), R(4),
- /* 439 E> */ B(Construct), R(4), R(0), U8(0), U8(18),
+ /* 439 E> */ B(Construct), R(4), R(0), U8(0), U8(8),
/* 448 S> */ B(Ldar), R(3),
- /* 448 E> */ B(Construct), R(3), R(0), U8(0), U8(20),
+ /* 448 E> */ B(Construct), R(3), R(0), U8(0), U8(10),
B(LdaUndefined),
/* 458 S> */ B(Return),
]
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/PublicClassFields.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/PublicClassFields.golden
index 23cce9fbab..6671c1fb06 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/PublicClassFields.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/PublicClassFields.golden
@@ -46,7 +46,7 @@ bytecodes: [
B(Mov), R(7), R(3),
B(CreateClosure), U8(4), U8(1), U8(2),
B(Star), R(7),
- B(StaNamedProperty), R(5), U8(5), U8(2),
+ B(StaNamedProperty), R(5), U8(5), U8(0),
B(PopContext), R(4),
B(Mov), R(3), R(0),
/* 38 E> */ B(CreateBlockContext), U8(6),
@@ -55,7 +55,7 @@ bytecodes: [
B(StaCurrentContextSlot), U8(4),
B(LdaTheHole),
B(Star), R(8),
- B(CreateClosure), U8(8), U8(4), U8(2),
+ B(CreateClosure), U8(8), U8(2), U8(2),
B(Star), R(5),
B(LdaConstant), U8(7),
B(Star), R(6),
@@ -66,15 +66,15 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(4),
B(Star), R(6),
B(Mov), R(7), R(2),
- B(CreateClosure), U8(9), U8(5), U8(2),
+ B(CreateClosure), U8(9), U8(3), U8(2),
B(Star), R(7),
- B(StaNamedProperty), R(5), U8(5), U8(6),
+ B(StaNamedProperty), R(5), U8(5), U8(2),
B(PopContext), R(4),
B(Mov), R(2), R(1),
/* 120 S> */ B(Ldar), R(3),
- /* 120 E> */ B(Construct), R(3), R(0), U8(0), U8(8),
+ /* 120 E> */ B(Construct), R(3), R(0), U8(0), U8(4),
/* 129 S> */ B(Ldar), R(2),
- /* 129 E> */ B(Construct), R(2), R(0), U8(0), U8(10),
+ /* 129 E> */ B(Construct), R(2), R(0), U8(0), U8(6),
B(LdaUndefined),
/* 138 S> */ B(Return),
]
@@ -155,7 +155,7 @@ bytecodes: [
B(Mov), R(9), R(5),
B(CreateClosure), U8(6), U8(2), U8(2),
B(Star), R(9),
- B(StaNamedProperty), R(7), U8(7), U8(3),
+ B(StaNamedProperty), R(7), U8(7), U8(0),
B(PopContext), R(6),
B(Mov), R(5), R(0),
/* 38 E> */ B(CreateBlockContext), U8(8),
@@ -164,37 +164,37 @@ bytecodes: [
B(StaCurrentContextSlot), U8(4),
B(LdaTheHole),
B(Star), R(14),
- B(CreateClosure), U8(11), U8(5), U8(2),
+ B(CreateClosure), U8(11), U8(3), U8(2),
B(Star), R(11),
B(LdaConstant), U8(10),
B(Star), R(12),
B(Mov), R(11), R(13),
B(CallRuntime), U16(Runtime::kDefineClass), R(12), U8(3),
B(Star), R(12),
- B(CreateClosure), U8(12), U8(6), U8(2),
+ B(CreateClosure), U8(12), U8(4), U8(2),
B(Star), R(7),
B(LdaConstant), U8(9),
B(Star), R(8),
/* 133 S> */ B(LdaConstant), U8(5),
B(StaCurrentContextSlot), U8(4),
B(Star), R(11),
- B(CreateClosure), U8(13), U8(7), U8(2),
+ B(CreateClosure), U8(13), U8(5), U8(2),
B(Star), R(12),
B(Mov), R(7), R(9),
B(Mov), R(13), R(10),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5),
B(Star), R(8),
B(Mov), R(9), R(4),
- B(CreateClosure), U8(14), U8(8), U8(2),
+ B(CreateClosure), U8(14), U8(6), U8(2),
B(Star), R(9),
- B(StaNamedProperty), R(7), U8(7), U8(9),
+ B(StaNamedProperty), R(7), U8(7), U8(2),
B(PopContext), R(6),
B(Mov), R(4), R(1),
/* 90 E> */ B(CreateBlockContext), U8(15),
B(PushContext), R(6),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(4),
- /* 236 E> */ B(CreateClosure), U8(17), U8(11), U8(2),
+ /* 236 E> */ B(CreateClosure), U8(17), U8(7), U8(2),
B(Star), R(7),
B(LdaConstant), U8(16),
B(Star), R(8),
@@ -206,17 +206,17 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(4),
B(Star), R(8),
B(Mov), R(9), R(3),
- B(CreateClosure), U8(18), U8(12), U8(2),
+ B(CreateClosure), U8(18), U8(8), U8(2),
B(Star), R(9),
- B(StaNamedProperty), R(7), U8(7), U8(13),
+ B(StaNamedProperty), R(7), U8(7), U8(4),
B(PopContext), R(6),
B(Mov), R(3), R(2),
/* 329 S> */ B(Ldar), R(5),
- /* 329 E> */ B(Construct), R(5), R(0), U8(0), U8(15),
+ /* 329 E> */ B(Construct), R(5), R(0), U8(0), U8(6),
/* 338 S> */ B(Ldar), R(4),
- /* 338 E> */ B(Construct), R(4), R(0), U8(0), U8(17),
+ /* 338 E> */ B(Construct), R(4), R(0), U8(0), U8(8),
/* 347 S> */ B(Ldar), R(3),
- /* 347 E> */ B(Construct), R(3), R(0), U8(0), U8(19),
+ /* 347 E> */ B(Construct), R(3), R(0), U8(0), U8(10),
B(LdaUndefined),
/* 356 S> */ B(Return),
]
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden
index d72bb35fee..9cb5a6b01c 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden
@@ -186,16 +186,16 @@ bytecodes: [
B(TestEqual), R(2), U8(3),
B(JumpIfFalse), U8(22),
/* 17 E> */ B(StackCheck),
- /* 48 S> */ B(CreateClosure), U8(1), U8(4), U8(2),
+ /* 48 S> */ B(CreateClosure), U8(1), U8(0), U8(2),
B(Star), R(5),
- /* 74 E> */ B(CallUndefinedReceiver0), R(5), U8(5),
+ /* 74 E> */ B(CallUndefinedReceiver0), R(5), U8(4),
B(LdaZero),
B(Star), R(2),
B(LdaCurrentContextSlot), U8(4),
B(Star), R(0),
B(JumpLoop), U8(24), I8(1),
B(LdaSmi), I8(1),
- /* 78 E> */ B(TestEqual), R(2), U8(7),
+ /* 78 E> */ B(TestEqual), R(2), U8(6),
B(JumpIfFalse), U8(6),
B(PopContext), R(4),
B(Jump), U8(7),
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/StaticClassFields.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/StaticClassFields.golden
index 93ba673a0e..752e4cdc6f 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/StaticClassFields.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/StaticClassFields.golden
@@ -50,7 +50,7 @@ bytecodes: [
/* 92 S> */ B(LdaConstant), U8(4),
B(Star), R(10),
B(LdaConstant), U8(5),
- B(TestEqualStrict), R(10), U8(1),
+ B(TestEqualStrict), R(10), U8(0),
B(Mov), R(5), R(7),
B(JumpIfFalse), U8(7),
B(CallRuntime), U16(Runtime::kThrowStaticPrototypeError), R(0), U8(0),
@@ -59,12 +59,12 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(5),
B(Star), R(6),
B(Mov), R(5), R(3),
- B(CreateClosure), U8(6), U8(2), U8(2),
+ B(CreateClosure), U8(6), U8(1), U8(2),
B(Star), R(7),
- B(StaNamedProperty), R(5), U8(7), U8(3),
- B(CreateClosure), U8(8), U8(5), U8(2),
+ B(StaNamedProperty), R(5), U8(7), U8(1),
+ B(CreateClosure), U8(8), U8(2), U8(2),
B(Star), R(9),
- B(CallProperty0), R(9), R(3), U8(6),
+ B(CallProperty0), R(9), R(3), U8(3),
B(PopContext), R(4),
B(Mov), R(3), R(0),
/* 38 E> */ B(CreateBlockContext), U8(9),
@@ -75,7 +75,7 @@ bytecodes: [
B(StaCurrentContextSlot), U8(5),
B(LdaTheHole),
B(Star), R(8),
- B(CreateClosure), U8(11), U8(8), U8(2),
+ B(CreateClosure), U8(11), U8(3), U8(2),
B(Star), R(5),
B(LdaConstant), U8(10),
B(Star), R(6),
@@ -85,7 +85,7 @@ bytecodes: [
/* 176 S> */ B(LdaConstant), U8(4),
B(Star), R(10),
B(LdaConstant), U8(5),
- B(TestEqualStrict), R(10), U8(1),
+ B(TestEqualStrict), R(10), U8(0),
B(Mov), R(5), R(7),
B(JumpIfFalse), U8(7),
B(CallRuntime), U16(Runtime::kThrowStaticPrototypeError), R(0), U8(0),
@@ -94,18 +94,18 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(5),
B(Star), R(6),
B(Mov), R(5), R(2),
- B(CreateClosure), U8(12), U8(9), U8(2),
+ B(CreateClosure), U8(12), U8(4), U8(2),
B(Star), R(7),
- B(StaNamedProperty), R(5), U8(7), U8(10),
- B(CreateClosure), U8(13), U8(12), U8(2),
+ B(StaNamedProperty), R(5), U8(7), U8(5),
+ B(CreateClosure), U8(13), U8(5), U8(2),
B(Star), R(9),
- B(CallProperty0), R(9), R(2), U8(13),
+ B(CallProperty0), R(9), R(2), U8(7),
B(PopContext), R(4),
B(Mov), R(2), R(1),
/* 197 S> */ B(Ldar), R(0),
- /* 197 E> */ B(Construct), R(0), R(0), U8(0), U8(15),
+ /* 197 E> */ B(Construct), R(0), R(0), U8(0), U8(9),
/* 206 S> */ B(Ldar), R(2),
- /* 206 E> */ B(Construct), R(2), R(0), U8(0), U8(17),
+ /* 206 E> */ B(Construct), R(2), R(0), U8(0), U8(11),
B(LdaUndefined),
/* 215 S> */ B(Return),
]
@@ -194,7 +194,7 @@ bytecodes: [
/* 109 S> */ B(LdaConstant), U8(6),
B(Star), R(12),
B(LdaConstant), U8(7),
- B(TestEqualStrict), R(12), U8(2),
+ B(TestEqualStrict), R(12), U8(0),
B(Mov), R(13), R(10),
B(Mov), R(7), R(9),
B(JumpIfFalse), U8(7),
@@ -204,12 +204,12 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5),
B(Star), R(8),
B(Mov), R(7), R(5),
- B(CreateClosure), U8(8), U8(3), U8(2),
+ B(CreateClosure), U8(8), U8(2), U8(2),
B(Star), R(9),
- B(StaNamedProperty), R(7), U8(9), U8(4),
- B(CreateClosure), U8(10), U8(6), U8(2),
+ B(StaNamedProperty), R(7), U8(9), U8(1),
+ B(CreateClosure), U8(10), U8(3), U8(2),
B(Star), R(11),
- B(CallProperty0), R(11), R(5), U8(7),
+ B(CallProperty0), R(11), R(5), U8(3),
B(PopContext), R(6),
B(Mov), R(5), R(0),
/* 38 E> */ B(CreateBlockContext), U8(11),
@@ -220,14 +220,14 @@ bytecodes: [
B(StaCurrentContextSlot), U8(5),
B(LdaTheHole),
B(Star), R(14),
- B(CreateClosure), U8(14), U8(9), U8(2),
+ B(CreateClosure), U8(14), U8(4), U8(2),
B(Star), R(11),
B(LdaConstant), U8(13),
B(Star), R(12),
B(Mov), R(11), R(13),
B(CallRuntime), U16(Runtime::kDefineClass), R(12), U8(3),
B(Star), R(12),
- B(CreateClosure), U8(15), U8(10), U8(2),
+ B(CreateClosure), U8(15), U8(5), U8(2),
B(Star), R(7),
B(LdaConstant), U8(12),
B(Star), R(8),
@@ -237,24 +237,24 @@ bytecodes: [
/* 210 S> */ B(LdaConstant), U8(6),
B(Star), R(12),
B(LdaConstant), U8(7),
- B(TestEqualStrict), R(12), U8(2),
+ B(TestEqualStrict), R(12), U8(0),
B(Mov), R(7), R(9),
B(Mov), R(13), R(10),
B(JumpIfFalse), U8(7),
B(CallRuntime), U16(Runtime::kThrowStaticPrototypeError), R(0), U8(0),
B(Ldar), R(12),
B(StaCurrentContextSlot), U8(5),
- B(CreateClosure), U8(16), U8(11), U8(2),
+ B(CreateClosure), U8(16), U8(6), U8(2),
B(Star), R(13),
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(6),
B(Star), R(8),
B(Mov), R(7), R(4),
- B(CreateClosure), U8(17), U8(12), U8(2),
+ B(CreateClosure), U8(17), U8(7), U8(2),
B(Star), R(9),
- B(StaNamedProperty), R(7), U8(9), U8(13),
- B(CreateClosure), U8(18), U8(15), U8(2),
+ B(StaNamedProperty), R(7), U8(9), U8(5),
+ B(CreateClosure), U8(18), U8(8), U8(2),
B(Star), R(11),
- B(CallProperty0), R(11), R(4), U8(16),
+ B(CallProperty0), R(11), R(4), U8(7),
B(PopContext), R(6),
B(Mov), R(4), R(1),
/* 122 E> */ B(CreateBlockContext), U8(19),
@@ -263,7 +263,7 @@ bytecodes: [
B(StaCurrentContextSlot), U8(4),
B(LdaTheHole),
B(StaCurrentContextSlot), U8(5),
- /* 313 E> */ B(CreateClosure), U8(21), U8(18), U8(2),
+ /* 313 E> */ B(CreateClosure), U8(21), U8(9), U8(2),
B(Star), R(7),
B(LdaConstant), U8(20),
B(Star), R(8),
@@ -273,7 +273,7 @@ bytecodes: [
/* 378 S> */ B(LdaConstant), U8(6),
B(Star), R(12),
B(LdaConstant), U8(7),
- B(TestEqualStrict), R(12), U8(2),
+ B(TestEqualStrict), R(12), U8(0),
B(Mov), R(4), R(10),
B(Mov), R(7), R(9),
B(JumpIfFalse), U8(7),
@@ -283,22 +283,22 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kDefineClass), R(8), U8(5),
B(Star), R(8),
B(Mov), R(7), R(3),
- B(CreateClosure), U8(22), U8(19), U8(2),
+ B(CreateClosure), U8(22), U8(10), U8(2),
B(Star), R(9),
- B(StaNamedProperty), R(7), U8(9), U8(20),
- B(CreateClosure), U8(23), U8(22), U8(2),
+ B(StaNamedProperty), R(7), U8(9), U8(9),
+ B(CreateClosure), U8(23), U8(11), U8(2),
B(Star), R(11),
B(Ldar), R(3),
- B(StaNamedProperty), R(11), U8(24), U8(23),
- B(CallProperty0), R(11), R(3), U8(25),
+ B(StaNamedProperty), R(11), U8(24), U8(11),
+ B(CallProperty0), R(11), R(3), U8(13),
B(PopContext), R(6),
B(Mov), R(3), R(2),
/* 456 S> */ B(Ldar), R(0),
- /* 456 E> */ B(Construct), R(0), R(0), U8(0), U8(27),
+ /* 456 E> */ B(Construct), R(0), R(0), U8(0), U8(15),
/* 465 S> */ B(Ldar), R(1),
- /* 465 E> */ B(Construct), R(1), R(0), U8(0), U8(29),
+ /* 465 E> */ B(Construct), R(1), R(0), U8(0), U8(17),
/* 474 S> */ B(Ldar), R(3),
- /* 474 E> */ B(Construct), R(3), R(0), U8(0), U8(31),
+ /* 474 E> */ B(Construct), R(3), R(0), U8(0), U8(19),
B(LdaUndefined),
/* 483 S> */ B(Return),
]
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/StringConcat.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/StringConcat.golden
index 8b619917d7..7279eb9f68 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/StringConcat.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/StringConcat.golden
@@ -181,14 +181,14 @@ bytecodes: [
B(Star), R(1),
/* 80 S> */ B(LdaConstant), U8(1),
B(Star), R(3),
- /* 98 E> */ B(CallUndefinedReceiver2), R(2), R(0), R(1), U8(1),
- /* 96 E> */ B(Add), R(3), U8(3),
+ /* 98 E> */ B(CallUndefinedReceiver2), R(2), R(0), R(1), U8(0),
+ /* 96 E> */ B(Add), R(3), U8(2),
B(Star), R(3),
B(Ldar), R(0),
- /* 108 E> */ B(Add), R(3), U8(4),
+ /* 108 E> */ B(Add), R(3), U8(3),
B(Star), R(3),
B(Ldar), R(1),
- /* 112 E> */ B(Add), R(3), U8(5),
+ /* 112 E> */ B(Add), R(3), U8(4),
/* 116 S> */ B(Return),
]
constant pool: [
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/TemplateLiterals.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/TemplateLiterals.golden
index 6cfcf42472..e78c81cfe2 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/TemplateLiterals.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/TemplateLiterals.golden
@@ -200,17 +200,17 @@ bytecodes: [
B(Star), R(1),
/* 80 S> */ B(LdaConstant), U8(1),
B(Star), R(3),
- /* 96 E> */ B(CallUndefinedReceiver2), R(2), R(0), R(1), U8(2),
+ /* 96 E> */ B(CallUndefinedReceiver2), R(2), R(0), R(1), U8(1),
B(ToString),
- B(Add), R(3), U8(1),
+ B(Add), R(3), U8(0),
B(Star), R(3),
B(Ldar), R(0),
/* 108 E> */ B(ToString),
- B(Add), R(3), U8(1),
+ B(Add), R(3), U8(0),
B(Star), R(3),
B(Ldar), R(1),
/* 112 E> */ B(ToString),
- B(Add), R(3), U8(1),
+ B(Add), R(3), U8(0),
/* 116 S> */ B(Return),
]
constant pool: [
diff --git a/deps/v8/test/cctest/interpreter/bytecode_expectations/TopLevelObjectLiterals.golden b/deps/v8/test/cctest/interpreter/bytecode_expectations/TopLevelObjectLiterals.golden
index 5fc0eef86d..30d304e0a2 100644
--- a/deps/v8/test/cctest/interpreter/bytecode_expectations/TopLevelObjectLiterals.golden
+++ b/deps/v8/test/cctest/interpreter/bytecode_expectations/TopLevelObjectLiterals.golden
@@ -23,10 +23,10 @@ bytecodes: [
/* 0 E> */ B(StackCheck),
/* 8 S> */ B(CreateObjectLiteral), U8(1), U8(2), U8(41),
B(Star), R(1),
- /* 16 E> */ B(CreateClosure), U8(2), U8(3), U8(0),
- B(StaNamedOwnProperty), R(1), U8(3), U8(4),
+ /* 16 E> */ B(CreateClosure), U8(2), U8(0), U8(0),
+ B(StaNamedOwnProperty), R(1), U8(3), U8(3),
B(Ldar), R(1),
- /* 8 E> */ B(StaGlobal), U8(4), U8(6),
+ /* 8 E> */ B(StaGlobal), U8(4), U8(5),
B(LdaUndefined),
/* 34 S> */ B(Return),
]
diff --git a/deps/v8/test/cctest/interpreter/test-interpreter.cc b/deps/v8/test/cctest/interpreter/test-interpreter.cc
index 3483e7967a..ba247dde50 100644
--- a/deps/v8/test/cctest/interpreter/test-interpreter.cc
+++ b/deps/v8/test/cctest/interpreter/test-interpreter.cc
@@ -5086,15 +5086,125 @@ TEST(InterpreterCollectSourcePositions) {
Handle<SharedFunctionInfo> sfi = handle(function->shared(), isolate);
Handle<BytecodeArray> bytecode_array =
handle(sfi->GetBytecodeArray(), isolate);
+ CHECK(!bytecode_array->HasSourcePositionTable());
+
+ Compiler::CollectSourcePositions(isolate, sfi);
+
ByteArray source_position_table = bytecode_array->SourcePositionTable();
- CHECK_EQ(source_position_table->length(), 0);
+ CHECK(bytecode_array->HasSourcePositionTable());
+ CHECK_GT(source_position_table->length(), 0);
+}
+
+TEST(InterpreterCollectSourcePositions_StackOverflow) {
+ FLAG_enable_lazy_source_positions = true;
+ HandleAndZoneScope handles;
+ Isolate* isolate = handles.main_isolate();
+ const char* source =
+ "(function () {\n"
+ " return 1;\n"
+ "})";
+
+ Handle<JSFunction> function = Handle<JSFunction>::cast(v8::Utils::OpenHandle(
+ *v8::Local<v8::Function>::Cast(CompileRun(source))));
+
+ Handle<SharedFunctionInfo> sfi = handle(function->shared(), isolate);
+ Handle<BytecodeArray> bytecode_array =
+ handle(sfi->GetBytecodeArray(), isolate);
+ CHECK(!bytecode_array->HasSourcePositionTable());
+
+ // Make the stack limit the same as the current position so recompilation
+ // overflows.
+ uint64_t previous_limit = isolate->stack_guard()->real_climit();
+ isolate->stack_guard()->SetStackLimit(GetCurrentStackPosition());
Compiler::CollectSourcePositions(isolate, sfi);
+ // Stack overflowed so source position table can be returned but is empty.
+ ByteArray source_position_table = bytecode_array->SourcePositionTable();
+ CHECK(!bytecode_array->HasSourcePositionTable());
+ CHECK_EQ(source_position_table->length(), 0);
+ // Reset the stack limit and try again.
+ isolate->stack_guard()->SetStackLimit(previous_limit);
+ Compiler::CollectSourcePositions(isolate, sfi);
source_position_table = bytecode_array->SourcePositionTable();
+ CHECK(bytecode_array->HasSourcePositionTable());
CHECK_GT(source_position_table->length(), 0);
}
+// TODO(v8:8510): When an exception is thrown, the top frame still has its
+// source positions collected. Re-enable this test when that is fixed.
+DISABLED_TEST(InterpreterCollectSourcePositions_ThrowFrom1stFrame) {
+ FLAG_enable_lazy_source_positions = true;
+ HandleAndZoneScope handles;
+ Isolate* isolate = handles.main_isolate();
+
+ const char* source =
+ R"javascript(
+ (function () {
+ throw new Error();
+ });
+ )javascript";
+
+ Handle<JSFunction> function = Handle<JSFunction>::cast(v8::Utils::OpenHandle(
+ *v8::Local<v8::Function>::Cast(CompileRun(source))));
+
+ Handle<SharedFunctionInfo> sfi = handle(function->shared(), isolate);
+ // This is the bytecode for the top-level iife.
+ Handle<BytecodeArray> bytecode_array =
+ handle(sfi->GetBytecodeArray(), isolate);
+ CHECK(!bytecode_array->HasSourcePositionTable());
+
+ {
+ v8::TryCatch try_catch(CcTest::isolate());
+ MaybeHandle<Object> result = Execution::Call(
+ isolate, function, ReadOnlyRoots(isolate).undefined_value_handle(), 0,
+ nullptr);
+ CHECK(result.is_null());
+ CHECK(try_catch.HasCaught());
+ }
+
+ // The exception was caught but source positions were not retrieved from it so
+ // there should be no source position table.
+ CHECK(!bytecode_array->HasSourcePositionTable());
+}
+
+TEST(InterpreterCollectSourcePositions_ThrowFrom2ndFrame) {
+ FLAG_enable_lazy_source_positions = true;
+ HandleAndZoneScope handles;
+ Isolate* isolate = handles.main_isolate();
+
+ const char* source =
+ R"javascript(
+ (function () {
+ (function () {
+ throw new Error();
+ })();
+ });
+ )javascript";
+
+ Handle<JSFunction> function = Handle<JSFunction>::cast(v8::Utils::OpenHandle(
+ *v8::Local<v8::Function>::Cast(CompileRun(source))));
+
+ Handle<SharedFunctionInfo> sfi = handle(function->shared(), isolate);
+ // This is the bytecode for the top-level iife.
+ Handle<BytecodeArray> bytecode_array =
+ handle(sfi->GetBytecodeArray(), isolate);
+ CHECK(!bytecode_array->HasSourcePositionTable());
+
+ {
+ v8::TryCatch try_catch(CcTest::isolate());
+ MaybeHandle<Object> result = Execution::Call(
+ isolate, function, ReadOnlyRoots(isolate).undefined_value_handle(), 0,
+ nullptr);
+ CHECK(result.is_null());
+ CHECK(try_catch.HasCaught());
+ }
+
+ // The exception was caught but source positions were not retrieved from it so
+ // there should be no source position table.
+ CHECK(!bytecode_array->HasSourcePositionTable());
+}
+
namespace {
void CheckStringEqual(const char* expected_ptr, Handle<Object> actual_handle) {
@@ -5130,8 +5240,7 @@ TEST(InterpreterCollectSourcePositions_GenerateStackTrace) {
Handle<SharedFunctionInfo> sfi = handle(function->shared(), isolate);
Handle<BytecodeArray> bytecode_array =
handle(sfi->GetBytecodeArray(), isolate);
- ByteArray source_position_table = bytecode_array->SourcePositionTable();
- CHECK_EQ(source_position_table->length(), 0);
+ CHECK(!bytecode_array->HasSourcePositionTable());
{
Handle<Object> result =
@@ -5142,7 +5251,8 @@ TEST(InterpreterCollectSourcePositions_GenerateStackTrace) {
CheckStringEqual("Error\n at <anonymous>:4:17", result);
}
- source_position_table = bytecode_array->SourcePositionTable();
+ CHECK(bytecode_array->HasSourcePositionTable());
+ ByteArray source_position_table = bytecode_array->SourcePositionTable();
CHECK_GT(source_position_table->length(), 0);
}