Index: test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden |
diff --git a/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden b/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden |
new file mode 100644 |
index 0000000000000000000000000000000000000000..272b478ab8d09baff5ca036a454df3cf66e1f7aa |
--- /dev/null |
+++ b/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden |
@@ -0,0 +1,157 @@ |
+# |
+# Autogenerated by generate-bytecode-expectations. |
+# |
+ |
+--- |
+wrap: yes |
+ |
+--- |
+snippet: " |
+ class A { constructor(...args) { this.args = args; } } |
+ new A(...[1, 2, 3]); |
+" |
+frame size: 8 |
+parameter count: 1 |
+bytecode array length: 64 |
+bytecodes: [ |
+ B(LdaTheHole), |
+ B(Star), R(2), |
+ /* 30 E> */ B(StackCheck), |
+ B(LdaTheHole), |
+ B(Star), R(0), |
+ /* 34 S> */ B(CreateClosure), U8(0), U8(2), U8(2), |
+ B(Star), R(3), |
+ B(LdaTheHole), |
+ B(Star), R(4), |
+ B(LdaSmi), U8(34), |
+ B(Star), R(6), |
+ B(LdaSmi), U8(88), |
+ B(Star), R(7), |
+ B(Mov), R(3), R(5), |
+ B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kInstallClassNameAccessor), R(3), U8(1), |
+ B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1), |
+ B(Star), R(0), |
+ B(Star), R(1), |
+ B(Star), R(2), |
+ /* 89 S> */ B(CreateArrayLiteral), U8(1), U8(0), U8(9), |
+ B(Star), R(4), |
+ B(Ldar), R(2), |
+ /* 89 E> */ B(NewWithSpread), R(2), R(4), U8(1), |
+ B(LdaUndefined), |
+ /* 110 S> */ B(Return), |
+] |
+constant pool: [ |
+ SHARED_FUNCTION_INFO_TYPE, |
+ CONSTANT_ELEMENTS_PAIR_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ class A { constructor(...args) { this.args = args; } } |
+ new A(0, ...[1, 2, 3]); |
+" |
+frame size: 8 |
+parameter count: 1 |
+bytecode array length: 67 |
+bytecodes: [ |
+ B(LdaTheHole), |
+ B(Star), R(2), |
+ /* 30 E> */ B(StackCheck), |
+ B(LdaTheHole), |
+ B(Star), R(0), |
+ /* 34 S> */ B(CreateClosure), U8(0), U8(2), U8(2), |
+ B(Star), R(3), |
+ B(LdaTheHole), |
+ B(Star), R(4), |
+ B(LdaSmi), U8(34), |
+ B(Star), R(6), |
+ B(LdaSmi), U8(88), |
+ B(Star), R(7), |
+ B(Mov), R(3), R(5), |
+ B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kInstallClassNameAccessor), R(3), U8(1), |
+ B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1), |
+ B(Star), R(0), |
+ B(Star), R(1), |
+ B(Star), R(2), |
+ /* 89 S> */ B(LdaZero), |
+ B(Star), R(4), |
+ B(CreateArrayLiteral), U8(1), U8(0), U8(9), |
+ B(Star), R(5), |
+ B(Ldar), R(2), |
+ /* 89 E> */ B(NewWithSpread), R(2), R(4), U8(2), |
+ B(LdaUndefined), |
+ /* 113 S> */ B(Return), |
+] |
+constant pool: [ |
+ SHARED_FUNCTION_INFO_TYPE, |
+ CONSTANT_ELEMENTS_PAIR_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ class A { constructor(...args) { this.args = args; } } |
+ new A(0, ...[1, 2, 3], 4); |
+" |
+frame size: 9 |
+parameter count: 1 |
+bytecode array length: 98 |
+bytecodes: [ |
+ B(LdaTheHole), |
+ B(Star), R(2), |
+ /* 30 E> */ B(StackCheck), |
+ B(LdaTheHole), |
+ B(Star), R(0), |
+ /* 34 S> */ B(CreateClosure), U8(0), U8(2), U8(2), |
+ B(Star), R(3), |
+ B(LdaTheHole), |
+ B(Star), R(4), |
+ B(LdaSmi), U8(34), |
+ B(Star), R(6), |
+ B(LdaSmi), U8(88), |
+ B(Star), R(7), |
+ B(Mov), R(3), R(5), |
+ B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kInstallClassNameAccessor), R(3), U8(1), |
+ B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1), |
+ B(Star), R(0), |
+ B(Star), R(1), |
+ B(Star), R(2), |
+ /* 89 S> */ B(LdaUndefined), |
+ B(Star), R(3), |
+ B(LdaUndefined), |
+ B(Star), R(5), |
+ /* 93 E> */ B(CreateArrayLiteral), U8(1), U8(1), U8(9), |
+ B(Star), R(6), |
+ B(LdaUndefined), |
+ B(Star), R(7), |
+ B(CreateArrayLiteral), U8(2), U8(0), U8(9), |
+ B(Star), R(8), |
+ B(CallJSRuntime), U8(%spread_iterable), R(7), U8(2), |
+ B(Star), R(7), |
+ B(CreateArrayLiteral), U8(3), U8(2), U8(9), |
+ B(Star), R(8), |
+ B(CallJSRuntime), U8(%spread_arguments), R(5), U8(4), |
+ B(Star), R(5), |
+ B(Mov), R(1), R(4), |
+ B(CallJSRuntime), U8(%reflect_construct), R(3), U8(3), |
+ B(LdaUndefined), |
+ /* 116 S> */ B(Return), |
+] |
+constant pool: [ |
+ SHARED_FUNCTION_INFO_TYPE, |
+ CONSTANT_ELEMENTS_PAIR_TYPE, |
+ CONSTANT_ELEMENTS_PAIR_TYPE, |
+ CONSTANT_ELEMENTS_PAIR_TYPE, |
+] |
+handlers: [ |
+] |
+ |