Index: test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden |
diff --git a/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden b/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden |
index 7ff8973bc66b0831f75553447741001458f0fbee..3c1ae1aa33ca8f49287fab439c0befd26946cb40 100644 |
--- a/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden |
+++ b/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden |
@@ -12,36 +12,40 @@ snippet: " |
speak() { console.log(this.name + ' is speaking.'); } |
} |
" |
-frame size: 9 |
+frame size: 11 |
parameter count: 1 |
-bytecode array length: 75 |
+bytecode array length: 83 |
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(Wide), B(LdaSmi), I16(148), |
- B(Star), R(7), |
- B(Mov), R(3), R(5), |
- B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4), |
- B(Star), R(4), |
- B(LdaConstant), 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(CreateClosure), U8(2), U8(3), U8(2), |
- B(Star), R(7), |
- B(LdaSmi), I8(2), |
+ B(LdaConstant), U8(3), |
B(Star), R(8), |
- B(Ldar), R(7), |
- B(StaDataPropertyInLiteral), R(4), R(6), U8(1), U8(4), |
- B(CallRuntime), U16(Runtime::kInstallClassNameAccessor), R(3), U8(1), |
- B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1), |
+ B(CreateClosure), U8(4), U8(3), U8(2), |
+ B(Star), R(9), |
+ B(LdaSmi), I8(2), |
+ B(Star), R(10), |
+ B(Ldar), R(9), |
+ B(StaDataPropertyInLiteral), R(6), R(8), U8(1), U8(4), |
+ 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), |
@@ -49,6 +53,8 @@ bytecodes: [ |
/* 149 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["Person"], |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
SHARED_FUNCTION_INFO_TYPE, |
ONE_BYTE_INTERNALIZED_STRING_TYPE ["speak"], |
SHARED_FUNCTION_INFO_TYPE, |
@@ -63,36 +69,40 @@ snippet: " |
speak() { console.log(this.name + ' is speaking.'); } |
} |
" |
-frame size: 9 |
+frame size: 11 |
parameter count: 1 |
-bytecode array length: 75 |
+bytecode array length: 83 |
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(Wide), B(LdaSmi), I16(148), |
- B(Star), R(7), |
- B(Mov), R(3), R(5), |
- B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(4), |
- B(Star), R(4), |
- B(LdaConstant), 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(CreateClosure), U8(2), U8(3), U8(2), |
- B(Star), R(7), |
- B(LdaSmi), I8(2), |
+ B(LdaConstant), U8(3), |
B(Star), R(8), |
- B(Ldar), R(7), |
- B(StaDataPropertyInLiteral), R(4), R(6), U8(1), U8(4), |
- B(CallRuntime), U16(Runtime::kInstallClassNameAccessor), R(3), U8(1), |
- B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1), |
+ B(CreateClosure), U8(4), U8(3), U8(2), |
+ B(Star), R(9), |
+ B(LdaSmi), I8(2), |
+ B(Star), R(10), |
+ B(Ldar), R(9), |
+ B(StaDataPropertyInLiteral), R(6), R(8), U8(1), U8(4), |
+ 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), |
@@ -100,6 +110,8 @@ bytecodes: [ |
/* 149 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["person"], |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
SHARED_FUNCTION_INFO_TYPE, |
ONE_BYTE_INTERNALIZED_STRING_TYPE ["speak"], |
SHARED_FUNCTION_INFO_TYPE, |
@@ -116,9 +128,9 @@ snippet: " |
static [n1]() { return n1; } |
} |
" |
-frame size: 10 |
+frame size: 12 |
parameter count: 1 |
-bytecode array length: 117 |
+bytecode array length: 133 |
bytecodes: [ |
B(CreateFunctionContext), U8(2), |
B(PushContext), R(3), |
@@ -126,42 +138,50 @@ bytecodes: [ |
B(Star), R(2), |
/* 30 E> */ B(StackCheck), |
/* 43 S> */ B(LdaConstant), U8(0), |
+ B(Star), R(4), |
+ B(LdaConstant), U8(1), |
/* 43 E> */ B(StaCurrentContextSlot), U8(4), |
- /* 57 S> */ B(LdaConstant), U8(1), |
+ /* 57 S> */ B(LdaConstant), U8(2), |
+ B(Star), R(4), |
+ B(LdaConstant), U8(3), |
/* 57 E> */ B(StaCurrentContextSlot), U8(5), |
- B(LdaTheHole), |
- B(Star), R(0), |
- /* 62 S> */ B(CreateClosure), U8(2), U8(2), U8(2), |
+ B(LdaConstant), U8(4), |
B(Star), R(4), |
B(LdaTheHole), |
+ B(Star), R(0), |
+ /* 62 S> */ B(LdaConstant), U8(5), |
B(Star), R(5), |
- B(LdaSmi), I8(62), |
+ B(CreateClosure), U8(6), U8(6), U8(2), |
+ B(Star), R(6), |
+ B(LdaTheHole), |
B(Star), R(7), |
+ B(LdaSmi), I8(62), |
+ B(Star), R(9), |
B(Wide), B(LdaSmi), I16(128), |
- B(Star), R(8), |
- B(Mov), R(4), R(6), |
- B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(4), |
- B(Star), R(5), |
+ B(Star), R(10), |
+ B(Mov), R(6), R(8), |
+ B(CallRuntime), U16(Runtime::kDefineClass), R(7), U8(4), |
+ B(Star), R(7), |
B(LdaImmutableCurrentContextSlot), U8(4), |
- /* 75 E> */ B(ToName), R(7), |
- B(CreateClosure), U8(3), U8(3), U8(2), |
- B(Star), R(8), |
+ /* 75 E> */ B(ToName), R(9), |
+ B(CreateClosure), U8(7), U8(7), U8(2), |
+ B(Star), R(10), |
B(LdaSmi), I8(2), |
- B(Star), R(9), |
- B(Ldar), R(8), |
- B(StaDataPropertyInLiteral), R(5), R(7), U8(3), U8(5), |
+ B(Star), R(11), |
+ B(Ldar), R(10), |
+ B(StaDataPropertyInLiteral), R(7), R(9), U8(3), U8(9), |
B(LdaImmutableCurrentContextSlot), U8(5), |
- /* 106 E> */ B(ToName), R(7), |
- B(LdaConstant), U8(4), |
- B(TestEqualStrict), R(7), U8(0), |
- B(Mov), R(4), R(6), |
+ /* 106 E> */ B(ToName), R(9), |
+ B(LdaConstant), U8(8), |
+ B(TestEqualStrict), R(9), U8(0), |
+ B(Mov), R(6), R(8), |
B(JumpIfToBooleanFalse), U8(7), |
B(CallRuntime), U16(Runtime::kThrowStaticPrototypeError), R(0), U8(0), |
- B(CreateClosure), U8(5), U8(4), U8(2), |
- B(Star), R(8), |
- B(StaDataPropertyInLiteral), R(6), R(7), U8(3), U8(7), |
- B(CallRuntime), U16(Runtime::kInstallClassNameAccessorWithCheck), R(4), U8(1), |
- B(CallRuntime), U16(Runtime::kToFastProperties), R(4), U8(1), |
+ B(CreateClosure), U8(9), U8(8), U8(2), |
+ B(Star), R(10), |
+ B(StaDataPropertyInLiteral), R(8), R(9), U8(3), U8(11), |
+ B(CallRuntime), U16(Runtime::kInstallClassNameAccessorWithCheck), R(6), U8(1), |
+ B(CallRuntime), U16(Runtime::kToFastProperties), R(6), U8(1), |
B(Star), R(0), |
B(Star), R(1), |
B(Star), R(2), |
@@ -169,8 +189,12 @@ bytecodes: [ |
/* 129 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["n0"], |
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"], |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["n1"], |
ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"], |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["N"], |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
SHARED_FUNCTION_INFO_TYPE, |
SHARED_FUNCTION_INFO_TYPE, |
ONE_BYTE_INTERNALIZED_STRING_TYPE ["prototype"], |
@@ -185,40 +209,49 @@ snippet: " |
class C { constructor() { count++; }} |
return new C(); |
" |
-frame size: 9 |
+frame size: 11 |
parameter count: 1 |
-bytecode array length: 64 |
+bytecode array length: 76 |
bytecodes: [ |
B(CreateFunctionContext), U8(1), |
B(PushContext), R(3), |
B(LdaTheHole), |
B(Star), R(2), |
/* 30 E> */ B(StackCheck), |
- /* 46 S> */ B(LdaZero), |
+ /* 46 S> */ B(LdaConstant), U8(0), |
+ B(Star), R(4), |
+ B(LdaZero), |
/* 46 E> */ B(StaCurrentContextSlot), U8(4), |
- B(LdaTheHole), |
- B(Star), R(0), |
- /* 49 S> */ B(CreateClosure), U8(0), U8(2), U8(2), |
+ B(LdaConstant), U8(1), |
B(Star), R(4), |
B(LdaTheHole), |
+ B(Star), R(0), |
+ /* 49 S> */ B(LdaConstant), U8(2), |
B(Star), R(5), |
- B(LdaSmi), I8(49), |
+ B(CreateClosure), U8(3), U8(4), U8(2), |
+ B(Star), R(6), |
+ B(LdaTheHole), |
B(Star), R(7), |
+ B(LdaSmi), I8(49), |
+ B(Star), R(9), |
B(LdaSmi), I8(86), |
- B(Star), R(8), |
- B(Mov), R(4), R(6), |
- B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(4), |
- B(Star), R(5), |
- B(CallRuntime), U16(Runtime::kInstallClassNameAccessor), R(4), U8(1), |
- B(CallRuntime), U16(Runtime::kToFastProperties), R(4), U8(1), |
+ B(Star), R(10), |
+ B(Mov), R(6), R(8), |
+ B(CallRuntime), U16(Runtime::kDefineClass), R(7), U8(4), |
+ B(Star), R(7), |
+ B(CallRuntime), U16(Runtime::kInstallClassNameAccessor), R(6), U8(1), |
+ B(CallRuntime), U16(Runtime::kToFastProperties), R(6), U8(1), |
B(Star), R(0), |
B(Star), R(1), |
B(Star), R(2), |
/* 87 S> */ B(Nop), |
- /* 94 E> */ B(Construct), R(2), R(0), U8(0), U8(3), |
+ /* 94 E> */ B(Construct), R(2), R(0), U8(0), U8(9), |
/* 103 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["count"], |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["C"], |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
SHARED_FUNCTION_INFO_TYPE, |
] |
handlers: [ |
@@ -229,48 +262,54 @@ snippet: " |
(class {}) |
class E { static name () {}} |
" |
-frame size: 10 |
+frame size: 12 |
parameter count: 1 |
-bytecode array length: 102 |
+bytecode array length: 114 |
bytecodes: [ |
B(LdaTheHole), |
B(Star), R(3), |
/* 30 E> */ B(StackCheck), |
- /* 35 S> */ B(CreateClosure), U8(0), U8(2), U8(2), |
+ /* 35 S> */ B(LdaConstant), U8(0), |
B(Star), R(4), |
- B(LdaTheHole), |
+ B(CreateClosure), U8(1), U8(2), U8(2), |
B(Star), R(5), |
+ B(LdaTheHole), |
+ B(Star), R(6), |
B(LdaSmi), I8(35), |
- B(Star), R(7), |
- B(LdaSmi), I8(43), |
B(Star), R(8), |
- B(Mov), R(4), R(6), |
- B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(4), |
- B(Star), R(5), |
- B(CallRuntime), U16(Runtime::kToFastProperties), R(4), U8(1), |
+ B(LdaSmi), I8(43), |
+ 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::kToFastProperties), R(5), U8(1), |
B(Star), R(1), |
- B(LdaTheHole), |
- B(Star), R(0), |
- /* 45 S> */ B(CreateClosure), U8(1), U8(3), U8(2), |
+ B(LdaConstant), U8(2), |
B(Star), R(4), |
B(LdaTheHole), |
+ B(Star), R(0), |
+ /* 45 S> */ B(LdaConstant), U8(0), |
B(Star), R(5), |
- B(LdaSmi), I8(45), |
+ B(CreateClosure), U8(3), U8(5), U8(2), |
+ B(Star), R(6), |
+ B(LdaTheHole), |
B(Star), R(7), |
+ B(LdaSmi), I8(45), |
+ B(Star), R(9), |
B(LdaSmi), I8(73), |
- B(Star), R(8), |
- B(Mov), R(4), R(6), |
- B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(4), |
- B(Star), R(5), |
- B(LdaConstant), 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(CreateClosure), U8(3), U8(4), U8(2), |
- B(Star), R(8), |
- B(LdaSmi), I8(2), |
+ B(LdaConstant), U8(4), |
B(Star), R(9), |
- B(Ldar), R(8), |
- B(StaDataPropertyInLiteral), R(6), R(7), U8(1), U8(5), |
- B(CallRuntime), U16(Runtime::kToFastProperties), R(4), U8(1), |
+ B(CreateClosure), U8(5), U8(6), U8(2), |
+ B(Star), R(10), |
+ B(LdaSmi), I8(2), |
+ B(Star), R(11), |
+ B(Ldar), R(10), |
+ B(StaDataPropertyInLiteral), R(8), R(9), U8(1), U8(7), |
+ B(CallRuntime), U16(Runtime::kToFastProperties), R(6), U8(1), |
B(Star), R(0), |
B(Star), R(2), |
B(Star), R(3), |
@@ -278,7 +317,9 @@ bytecodes: [ |
/* 74 S> */ B(Return), |
] |
constant pool: [ |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE [""], |
SHARED_FUNCTION_INFO_TYPE, |
+ ONE_BYTE_INTERNALIZED_STRING_TYPE ["E"], |
SHARED_FUNCTION_INFO_TYPE, |
ONE_BYTE_INTERNALIZED_STRING_TYPE ["name"], |
SHARED_FUNCTION_INFO_TYPE, |