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 |
index e77314533cc589a849f0ebc9a9b7bcf83e27ae61..9bcf34ff0be26a6c2f6cfc58f5f6379bcf0acad0 100644 |
--- a/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden |
+++ b/test/cctest/interpreter/bytecode_expectations/NewAndSpread.golden |
@@ -10,32 +10,36 @@ snippet: " |
class A { constructor(...args) { this.args = args; } } |
new A(...[1, 2, 3]); |
" |
-frame size: 8 |
+frame size: 10 |
parameter count: 1 |
-bytecode array length: 64 |
+bytecode array length: 72 |
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(LdaConstant), U8(0), |
B(Star), R(3), |
B(LdaTheHole), |
+ B(Star), R(0), |
+ /* 34 S> */ B(LdaConstant), U8(1), |
B(Star), R(4), |
- B(LdaSmi), I8(34), |
+ B(CreateClosure), U8(2), U8(2), U8(2), |
+ B(Star), R(5), |
+ B(LdaTheHole), |
B(Star), R(6), |
+ B(LdaSmi), I8(34), |
+ B(Star), R(8), |
B(LdaSmi), I8(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(9), |
+ B(Mov), R(5), R(7), |
+ B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(4), |
+ B(Star), R(6), |
+ B(CallRuntime), U16(Runtime::kInstallClassNameAccessor), R(5), U8(1), |
+ B(CallRuntime), U16(Runtime::kToFastProperties), R(5), U8(1), |
B(Star), R(0), |
B(Star), R(1), |
B(Star), R(2), |
- /* 89 S> */ B(CreateArrayLiteral), U8(1), U8(5), U8(9), |
+ /* 89 S> */ B(CreateArrayLiteral), U8(3), U8(9), U8(9), |
B(Star), R(4), |
B(Ldar), R(2), |
/* 89 E> */ B(ConstructWithSpread), R(2), R(4), U8(1), |
@@ -43,6 +47,8 @@ bytecodes: [ |
/* 110 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["A"], |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
SHARED_FUNCTION_INFO_TYPE, |
CONSTANT_ELEMENTS_PAIR_TYPE, |
] |
@@ -54,34 +60,38 @@ snippet: " |
class A { constructor(...args) { this.args = args; } } |
new A(0, ...[1, 2, 3]); |
" |
-frame size: 8 |
+frame size: 10 |
parameter count: 1 |
-bytecode array length: 67 |
+bytecode array length: 75 |
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(LdaConstant), U8(0), |
B(Star), R(3), |
B(LdaTheHole), |
+ B(Star), R(0), |
+ /* 34 S> */ B(LdaConstant), U8(1), |
B(Star), R(4), |
- B(LdaSmi), I8(34), |
+ B(CreateClosure), U8(2), U8(2), U8(2), |
+ B(Star), R(5), |
+ B(LdaTheHole), |
B(Star), R(6), |
+ B(LdaSmi), I8(34), |
+ B(Star), R(8), |
B(LdaSmi), I8(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(9), |
+ B(Mov), R(5), R(7), |
+ B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(4), |
+ B(Star), R(6), |
+ B(CallRuntime), U16(Runtime::kInstallClassNameAccessor), R(5), U8(1), |
+ B(CallRuntime), U16(Runtime::kToFastProperties), R(5), 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(5), U8(9), |
+ B(CreateArrayLiteral), U8(3), U8(9), U8(9), |
B(Star), R(5), |
B(Ldar), R(2), |
/* 89 E> */ B(ConstructWithSpread), R(2), R(4), U8(2), |
@@ -89,6 +99,8 @@ bytecodes: [ |
/* 113 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["A"], |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
SHARED_FUNCTION_INFO_TYPE, |
CONSTANT_ELEMENTS_PAIR_TYPE, |
] |
@@ -100,28 +112,32 @@ snippet: " |
class A { constructor(...args) { this.args = args; } } |
new A(0, ...[1, 2, 3], 4); |
" |
-frame size: 9 |
+frame size: 10 |
parameter count: 1 |
-bytecode array length: 98 |
+bytecode array length: 106 |
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(LdaConstant), U8(0), |
B(Star), R(3), |
B(LdaTheHole), |
+ B(Star), R(0), |
+ /* 34 S> */ B(LdaConstant), U8(1), |
B(Star), R(4), |
- B(LdaSmi), I8(34), |
+ B(CreateClosure), U8(2), U8(2), U8(2), |
+ B(Star), R(5), |
+ B(LdaTheHole), |
B(Star), R(6), |
+ B(LdaSmi), I8(34), |
+ B(Star), R(8), |
B(LdaSmi), I8(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(9), |
+ B(Mov), R(5), R(7), |
+ B(CallRuntime), U16(Runtime::kDefineClass), R(6), U8(4), |
+ B(Star), R(6), |
+ B(CallRuntime), U16(Runtime::kInstallClassNameAccessor), R(5), U8(1), |
+ B(CallRuntime), U16(Runtime::kToFastProperties), R(5), U8(1), |
B(Star), R(0), |
B(Star), R(1), |
B(Star), R(2), |
@@ -129,15 +145,15 @@ bytecodes: [ |
B(Star), R(3), |
B(LdaUndefined), |
B(Star), R(5), |
- /* 93 E> */ B(CreateArrayLiteral), U8(1), U8(3), U8(9), |
+ /* 93 E> */ B(CreateArrayLiteral), U8(3), U8(7), U8(9), |
B(Star), R(6), |
B(LdaUndefined), |
B(Star), R(7), |
- B(CreateArrayLiteral), U8(2), U8(4), U8(9), |
+ B(CreateArrayLiteral), U8(4), U8(8), U8(9), |
B(Star), R(8), |
B(CallJSRuntime), U8(%spread_iterable), R(7), U8(2), |
B(Star), R(7), |
- B(CreateArrayLiteral), U8(3), U8(5), U8(9), |
+ B(CreateArrayLiteral), U8(5), U8(9), U8(9), |
B(Star), R(8), |
B(CallJSRuntime), U8(%spread_arguments), R(5), U8(4), |
B(Star), R(5), |
@@ -147,6 +163,8 @@ bytecodes: [ |
/* 116 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["A"], |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
SHARED_FUNCTION_INFO_TYPE, |
CONSTANT_ELEMENTS_PAIR_TYPE, |
CONSTANT_ELEMENTS_PAIR_TYPE, |