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 7195db3ef0aba9f53b2cd68af4d47f446f853b59..ad9e4c48a43dfaa2ba134815875013692ae4e934 100644 |
--- a/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden |
+++ b/test/cctest/interpreter/bytecode_expectations/ClassDeclarations.golden |
@@ -14,47 +14,50 @@ snippet: " |
speak() { console.log(this.name + ' is speaking.'); } |
} |
" |
-frame size: 9 |
+frame size: 11 |
parameter count: 1 |
-bytecode array length: 72 |
+bytecode array length: 77 |
bytecodes: [ |
B(LdaTheHole), |
- B(Star), R(1), |
+ B(Star), R(2), |
/* 30 E> */ B(StackCheck), |
B(LdaTheHole), |
B(Star), R(0), |
- B(LdaTheHole), |
- B(Star), R(2), |
- B(CreateClosure), U8(0), U8(2), |
- B(Star), R(3), |
- B(LdaSmi), U8(34), |
+ /* 148 S> */ B(LdaTheHole), |
B(Star), R(4), |
- B(Wide), B(LdaSmi), U16(148), |
- B(Star), R(5), |
- B(CallRuntime), U16(Runtime::kDefineClass), R(2), U8(4), |
- B(Star), R(2), |
- B(LdrNamedProperty), R(2), U8(1), U8(1), R(3), |
- B(LdaConstant), U8(2), |
+ B(CreateClosure), U8(0), U8(2), |
B(Star), R(5), |
- B(CreateClosure), U8(3), U8(2), |
+ B(CreateArrayLiteral), U8(1), U8(0), U8(3), |
B(Star), R(6), |
- B(LdaSmi), U8(2), |
- B(Star), R(7), |
+ B(CreateArrayLiteral), U8(2), U8(1), U8(3), |
+ B(Star), R(9), |
B(LdaZero), |
B(Star), R(8), |
- B(Mov), R(3), R(4), |
- B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(4), U8(5), |
- B(CallRuntime), U16(Runtime::kToFastProperties), R(2), U8(1), |
+ B(CreateClosure), U8(3), U8(2), |
+ B(StaKeyedPropertySloppy), R(9), R(8), U8(1), |
+ B(Ldar), R(9), |
+ B(Star), R(7), |
+ B(CreateArrayLiteral), U8(4), U8(2), U8(3), |
+ B(Star), R(8), |
+ B(LdaSmi), U8(34), |
+ B(Star), R(9), |
+ B(Wide), B(LdaSmi), U16(148), |
+ B(Star), R(10), |
+ B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(7), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1), |
B(Star), R(0), |
B(Star), R(1), |
+ B(Star), R(2), |
B(LdaUndefined), |
/* 149 S> */ B(Return), |
] |
constant pool: [ |
InstanceType::SHARED_FUNCTION_INFO_TYPE, |
- InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
- InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
InstanceType::SHARED_FUNCTION_INFO_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
] |
handlers: [ |
] |
@@ -66,47 +69,50 @@ snippet: " |
speak() { console.log(this.name + ' is speaking.'); } |
} |
" |
-frame size: 9 |
+frame size: 11 |
parameter count: 1 |
-bytecode array length: 72 |
+bytecode array length: 77 |
bytecodes: [ |
B(LdaTheHole), |
- B(Star), R(1), |
+ B(Star), R(2), |
/* 30 E> */ B(StackCheck), |
B(LdaTheHole), |
B(Star), R(0), |
- B(LdaTheHole), |
- B(Star), R(2), |
- B(CreateClosure), U8(0), U8(2), |
- B(Star), R(3), |
- B(LdaSmi), U8(34), |
+ /* 148 S> */ B(LdaTheHole), |
B(Star), R(4), |
- B(Wide), B(LdaSmi), U16(148), |
- B(Star), R(5), |
- B(CallRuntime), U16(Runtime::kDefineClass), R(2), U8(4), |
- B(Star), R(2), |
- B(LdrNamedProperty), R(2), U8(1), U8(1), R(3), |
- B(LdaConstant), U8(2), |
+ B(CreateClosure), U8(0), U8(2), |
B(Star), R(5), |
- B(CreateClosure), U8(3), U8(2), |
+ B(CreateArrayLiteral), U8(1), U8(0), U8(3), |
B(Star), R(6), |
- B(LdaSmi), U8(2), |
- B(Star), R(7), |
+ B(CreateArrayLiteral), U8(2), U8(1), U8(3), |
+ B(Star), R(9), |
B(LdaZero), |
B(Star), R(8), |
- B(Mov), R(3), R(4), |
- B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(4), U8(5), |
- B(CallRuntime), U16(Runtime::kToFastProperties), R(2), U8(1), |
+ B(CreateClosure), U8(3), U8(2), |
+ B(StaKeyedPropertySloppy), R(9), R(8), U8(1), |
+ B(Ldar), R(9), |
+ B(Star), R(7), |
+ B(CreateArrayLiteral), U8(4), U8(2), U8(3), |
+ B(Star), R(8), |
+ B(LdaSmi), U8(34), |
+ B(Star), R(9), |
+ B(Wide), B(LdaSmi), U16(148), |
+ B(Star), R(10), |
+ B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(7), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1), |
B(Star), R(0), |
B(Star), R(1), |
+ B(Star), R(2), |
B(LdaUndefined), |
/* 149 S> */ B(Return), |
] |
constant pool: [ |
InstanceType::SHARED_FUNCTION_INFO_TYPE, |
- InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
- InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
InstanceType::SHARED_FUNCTION_INFO_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
] |
handlers: [ |
] |
@@ -120,14 +126,14 @@ snippet: " |
static [n1]() { return n1; } |
} |
" |
-frame size: 10 |
+frame size: 12 |
parameter count: 1 |
-bytecode array length: 126 |
+bytecode array length: 142 |
bytecodes: [ |
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1), |
- B(PushContext), R(2), |
+ B(PushContext), R(3), |
B(LdaTheHole), |
- B(Star), R(1), |
+ B(Star), R(2), |
/* 30 E> */ B(StackCheck), |
/* 43 S> */ B(LdaConstant), U8(0), |
/* 43 E> */ B(StaContextSlot), R(context), U8(4), |
@@ -135,44 +141,48 @@ bytecodes: [ |
/* 57 E> */ B(StaContextSlot), R(context), U8(5), |
B(LdaTheHole), |
B(Star), R(0), |
- B(LdaTheHole), |
- B(Star), R(3), |
- B(CreateClosure), U8(2), U8(2), |
- B(Star), R(4), |
- B(LdaSmi), U8(62), |
+ /* 128 S> */ B(LdaTheHole), |
B(Star), R(5), |
- B(Wide), B(LdaSmi), U16(128), |
- B(Star), R(6), |
- B(CallRuntime), U16(Runtime::kDefineClass), R(3), U8(4), |
- B(Star), R(3), |
- B(LdrNamedProperty), R(3), U8(3), U8(1), R(4), |
- /* 75 E> */ B(LdaContextSlot), R(context), U8(4), |
- B(ToName), |
+ B(CreateClosure), U8(2), U8(2), |
B(Star), R(6), |
- B(CreateClosure), U8(4), U8(2), |
- B(Star), R(7), |
- B(LdaSmi), U8(2), |
+ B(CreateArrayLiteral), U8(3), U8(0), U8(3), |
+ B(Star), R(9), |
+ B(LdaZero), |
B(Star), R(8), |
+ /* 75 E> */ B(LdrContextSlot), R(context), U8(4), R(10), |
+ B(CallRuntime), U16(Runtime::kToName), R(10), U8(1), |
+ B(StaKeyedPropertySloppy), R(9), R(8), U8(1), |
B(LdaSmi), U8(1), |
+ B(Star), R(8), |
+ /* 106 E> */ B(LdrContextSlot), R(context), U8(5), R(10), |
+ B(CallRuntime), U16(Runtime::kToName), R(10), U8(1), |
+ B(StaKeyedPropertySloppy), R(9), R(8), U8(1), |
+ B(Ldar), R(9), |
+ B(Star), R(7), |
+ B(CreateArrayLiteral), U8(4), U8(1), U8(3), |
+ B(Star), R(10), |
+ B(LdaZero), |
B(Star), R(9), |
- B(Mov), R(4), R(5), |
- B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(5), U8(5), |
- /* 106 E> */ B(LdaContextSlot), R(context), U8(5), |
- B(ToName), |
- B(Star), R(6), |
- B(LdaConstant), U8(3), |
- B(TestEqualStrict), R(6), |
- B(Mov), R(3), R(5), |
- B(JumpIfToBooleanFalse), U8(7), |
- B(CallRuntime), U16(Runtime::kThrowStaticPrototypeError), R(0), U8(0), |
B(CreateClosure), U8(5), U8(2), |
- B(Star), R(7), |
+ B(StaKeyedPropertySloppy), R(10), R(9), U8(3), |
B(LdaSmi), U8(1), |
B(Star), R(9), |
- B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(5), U8(5), |
- B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1), |
+ B(CreateClosure), U8(6), U8(2), |
+ B(StaKeyedPropertySloppy), R(10), R(9), U8(3), |
+ B(Ldar), R(10), |
+ B(Star), R(8), |
+ B(CreateArrayLiteral), U8(7), U8(2), U8(3), |
+ B(Star), R(9), |
+ B(LdaSmi), U8(62), |
+ B(Star), R(10), |
+ B(Wide), B(LdaSmi), U16(128), |
+ B(Star), R(11), |
+ B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(7), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kToFastProperties), R(4), U8(1), |
B(Star), R(0), |
B(Star), R(1), |
+ B(Star), R(2), |
B(LdaUndefined), |
/* 129 S> */ B(Return), |
] |
@@ -180,9 +190,11 @@ constant pool: [ |
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
InstanceType::SHARED_FUNCTION_INFO_TYPE, |
- InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
InstanceType::SHARED_FUNCTION_INFO_TYPE, |
InstanceType::SHARED_FUNCTION_INFO_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
] |
handlers: [ |
] |
@@ -193,44 +205,52 @@ snippet: " |
class C { constructor() { count++; }} |
return new C(); |
" |
-frame size: 7 |
+frame size: 12 |
parameter count: 1 |
-bytecode array length: 73 |
+bytecode array length: 88 |
bytecodes: [ |
B(CallRuntime), U16(Runtime::kNewFunctionContext), R(closure), U8(1), |
- B(PushContext), R(2), |
+ B(PushContext), R(3), |
B(LdaTheHole), |
- B(Star), R(1), |
+ B(Star), R(2), |
/* 30 E> */ B(StackCheck), |
/* 46 S> */ B(LdaZero), |
/* 46 E> */ B(StaContextSlot), R(context), U8(4), |
B(LdaTheHole), |
B(Star), R(0), |
- B(LdaTheHole), |
- B(Star), R(3), |
+ /* 86 S> */ B(LdaTheHole), |
+ B(Star), R(5), |
B(CreateClosure), U8(0), U8(2), |
- B(Star), R(4), |
+ B(Star), R(6), |
+ B(CreateArrayLiteral), U8(1), U8(0), U8(3), |
+ B(Star), R(7), |
+ B(CreateArrayLiteral), U8(2), U8(1), U8(3), |
+ B(Star), R(8), |
+ B(CreateArrayLiteral), U8(3), U8(2), U8(3), |
+ B(Star), R(9), |
B(LdaSmi), U8(49), |
- B(Star), R(5), |
+ B(Star), R(10), |
B(LdaSmi), U8(86), |
- B(Star), R(6), |
- B(CallRuntime), U16(Runtime::kDefineClass), R(3), U8(4), |
- B(Star), R(3), |
- B(LdrNamedProperty), R(3), U8(1), U8(1), R(4), |
- B(CallRuntime), U16(Runtime::kToFastProperties), R(3), U8(1), |
+ B(Star), R(11), |
+ B(CallRuntime), U16(Runtime::kDefineClass), R(5), U8(7), |
+ B(Star), R(4), |
+ B(CallRuntime), U16(Runtime::kToFastProperties), R(4), U8(1), |
B(Star), R(0), |
B(Star), R(1), |
+ B(Star), R(2), |
/* 87 S> */ B(JumpIfNotHole), U8(11), |
- B(LdaConstant), U8(2), |
+ B(LdaConstant), U8(4), |
+ B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::kThrowReferenceError), R(5), U8(1), |
B(Star), R(4), |
- B(CallRuntime), U16(Runtime::kThrowReferenceError), R(4), U8(1), |
- B(Star), R(3), |
- /* 94 E> */ B(New), R(3), R(0), U8(0), |
+ /* 94 E> */ B(New), R(4), R(0), U8(0), |
/* 103 S> */ B(Return), |
] |
constant pool: [ |
InstanceType::SHARED_FUNCTION_INFO_TYPE, |
- InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
] |
handlers: [ |