Index: test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden |
diff --git a/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden b/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden |
new file mode 100644 |
index 0000000000000000000000000000000000000000..210e833cffbfe3a92e76a3c76be7d3f35ed40366 |
--- /dev/null |
+++ b/test/cctest/interpreter/bytecode_expectations/ObjectLiterals.golden |
@@ -0,0 +1,463 @@ |
+# |
+# Autogenerated by generate-bytecode-expectations |
+# |
+ |
+--- |
+pool type: mixed |
+execute: yes |
+wrap: yes |
+ |
+--- |
+snippet: " |
+ return { }; |
+" |
+frame size: 1 |
+parameter count: 1 |
+bytecode array length: 8 |
+bytecodes: [ |
+ B(StackCheck), |
+ B(CreateObjectLiteral), U8(0), U8(0), U8(13), |
+ B(Star), R(0), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::FIXED_ARRAY_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ return { name: 'string', val: 9.2 }; |
+" |
+frame size: 1 |
+parameter count: 1 |
+bytecode array length: 8 |
+bytecodes: [ |
+ B(StackCheck), |
+ B(CreateObjectLiteral), U8(0), U8(0), U8(9), |
+ B(Star), R(0), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::FIXED_ARRAY_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ var a = 1; return { name: 'string', val: a }; |
+" |
+frame size: 2 |
+parameter count: 1 |
+bytecode array length: 20 |
+bytecodes: [ |
+ B(StackCheck), |
+ B(LdaSmi8), U8(1), |
+ B(Star), R(0), |
+ B(CreateObjectLiteral), U8(0), U8(0), U8(9), |
+ B(Star), R(1), |
+ B(Ldar), R(0), |
+ B(StoreICSloppy), R(1), U8(1), U8(1), |
+ B(Ldar), R(1), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::FIXED_ARRAY_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ var a = 1; return { val: a, val: a + 1 }; |
+" |
+frame size: 3 |
+parameter count: 1 |
+bytecode array length: 26 |
+bytecodes: [ |
+ B(StackCheck), |
+ B(LdaSmi8), U8(1), |
+ B(Star), R(0), |
+ B(CreateObjectLiteral), U8(0), U8(0), U8(9), |
+ B(Star), R(1), |
+ B(Ldar), R(0), |
+ B(Star), R(2), |
+ B(LdaSmi8), U8(1), |
+ B(Add), R(2), |
+ B(StoreICSloppy), R(1), U8(1), U8(1), |
+ B(Ldar), R(1), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::FIXED_ARRAY_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ return { func: function() { } }; |
+" |
+frame size: 1 |
+parameter count: 1 |
+bytecode array length: 17 |
+bytecodes: [ |
+ B(StackCheck), |
+ B(CreateObjectLiteral), U8(0), U8(0), U8(9), |
+ B(Star), R(0), |
+ B(CreateClosure), U8(1), U8(0), |
+ B(StoreICSloppy), R(0), U8(2), U8(1), |
+ B(Ldar), R(0), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::FIXED_ARRAY_TYPE, |
+ InstanceType::SHARED_FUNCTION_INFO_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ return { func(a) { return a; } }; |
+" |
+frame size: 1 |
+parameter count: 1 |
+bytecode array length: 17 |
+bytecodes: [ |
+ B(StackCheck), |
+ B(CreateObjectLiteral), U8(0), U8(0), U8(9), |
+ B(Star), R(0), |
+ B(CreateClosure), U8(1), U8(0), |
+ B(StoreICSloppy), R(0), U8(2), U8(1), |
+ B(Ldar), R(0), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::FIXED_ARRAY_TYPE, |
+ InstanceType::SHARED_FUNCTION_INFO_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ return { get a() { return 2; } }; |
+" |
+frame size: 6 |
+parameter count: 1 |
+bytecode array length: 33 |
+bytecodes: [ |
+ B(StackCheck), |
+ B(CreateObjectLiteral), U8(0), U8(0), U8(9), |
+ B(Star), R(0), |
+ B(Mov), R(0), R(1), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(2), |
+ B(CreateClosure), U8(2), U8(0), |
+ B(Star), R(3), |
+ B(LdaNull), |
+ B(Star), R(4), |
+ B(LdaZero), |
+ B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), R(1), U8(5), |
+ B(Ldar), R(0), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::FIXED_ARRAY_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::SHARED_FUNCTION_INFO_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ return { get a() { return this.x; }, set a(val) { this.x = val } }; |
+" |
+frame size: 6 |
+parameter count: 1 |
+bytecode array length: 35 |
+bytecodes: [ |
+ B(StackCheck), |
+ B(CreateObjectLiteral), U8(0), U8(0), U8(9), |
+ B(Star), R(0), |
+ B(Mov), R(0), R(1), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(2), |
+ B(CreateClosure), U8(2), U8(0), |
+ B(Star), R(3), |
+ B(CreateClosure), U8(3), U8(0), |
+ B(Star), R(4), |
+ B(LdaZero), |
+ B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), R(1), U8(5), |
+ B(Ldar), R(0), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::FIXED_ARRAY_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::SHARED_FUNCTION_INFO_TYPE, |
+ InstanceType::SHARED_FUNCTION_INFO_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ return { set b(val) { this.y = val } }; |
+" |
+frame size: 6 |
+parameter count: 1 |
+bytecode array length: 33 |
+bytecodes: [ |
+ B(StackCheck), |
+ B(CreateObjectLiteral), U8(0), U8(0), U8(9), |
+ B(Star), R(0), |
+ B(Mov), R(0), R(1), |
+ B(LdaConstant), U8(1), |
+ B(Star), R(2), |
+ B(LdaNull), |
+ B(Star), R(3), |
+ B(CreateClosure), U8(2), U8(0), |
+ B(Star), R(4), |
+ B(LdaZero), |
+ B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), R(1), U8(5), |
+ B(Ldar), R(0), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::FIXED_ARRAY_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::SHARED_FUNCTION_INFO_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ var a = 1; return { 1: a }; |
+" |
+frame size: 6 |
+parameter count: 1 |
+bytecode array length: 33 |
+bytecodes: [ |
+ B(StackCheck), |
+ B(LdaSmi8), U8(1), |
+ B(Star), R(0), |
+ B(CreateObjectLiteral), U8(0), U8(0), U8(9), |
+ B(Star), R(1), |
+ B(Mov), R(1), R(2), |
+ B(LdaSmi8), U8(1), |
+ B(Star), R(3), |
+ B(Ldar), R(0), |
+ B(Star), R(4), |
+ B(LdaZero), |
+ B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::kSetProperty), R(2), U8(4), |
+ B(Ldar), R(1), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::FIXED_ARRAY_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ return { __proto__: null } |
+" |
+frame size: 3 |
+parameter count: 1 |
+bytecode array length: 21 |
+bytecodes: [ |
+ B(StackCheck), |
+ B(CreateObjectLiteral), U8(0), U8(0), U8(13), |
+ B(Star), R(0), |
+ B(Mov), R(0), R(1), |
+ B(LdaNull), |
+ B(Star), R(2), |
+ B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(1), U8(2), |
+ B(Ldar), R(0), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::FIXED_ARRAY_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ var a = 'test'; return { [a]: 1 } |
+" |
+frame size: 7 |
+parameter count: 1 |
+bytecode array length: 37 |
+bytecodes: [ |
+ B(StackCheck), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(0), |
+ B(CreateObjectLiteral), U8(1), U8(0), U8(13), |
+ B(Star), R(1), |
+ B(Mov), R(1), R(2), |
+ B(Ldar), R(0), |
+ B(ToName), |
+ B(Star), R(3), |
+ B(LdaSmi8), U8(1), |
+ B(Star), R(4), |
+ B(LdaZero), |
+ B(Star), R(5), |
+ B(LdaZero), |
+ B(Star), R(6), |
+ B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(2), U8(5), |
+ B(Ldar), R(1), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ var a = 'test'; return { val: a, [a]: 1 } |
+" |
+frame size: 7 |
+parameter count: 1 |
+bytecode array length: 43 |
+bytecodes: [ |
+ B(StackCheck), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(0), |
+ B(CreateObjectLiteral), U8(1), U8(0), U8(9), |
+ B(Star), R(1), |
+ B(Ldar), R(0), |
+ B(StoreICSloppy), R(1), U8(2), U8(1), |
+ B(Mov), R(1), R(2), |
+ B(Ldar), R(0), |
+ B(ToName), |
+ B(Star), R(3), |
+ B(LdaSmi8), U8(1), |
+ B(Star), R(4), |
+ B(LdaZero), |
+ B(Star), R(5), |
+ B(LdaZero), |
+ B(Star), R(6), |
+ B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(2), U8(5), |
+ B(Ldar), R(1), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ var a = 'test'; return { [a]: 1, __proto__: {} } |
+" |
+frame size: 7 |
+parameter count: 1 |
+bytecode array length: 53 |
+bytecodes: [ |
+ B(StackCheck), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(0), |
+ B(CreateObjectLiteral), U8(1), U8(1), U8(13), |
+ B(Star), R(1), |
+ B(Mov), R(1), R(2), |
+ B(Ldar), R(0), |
+ B(ToName), |
+ B(Star), R(3), |
+ B(LdaSmi8), U8(1), |
+ B(Star), R(4), |
+ B(LdaZero), |
+ B(Star), R(5), |
+ B(LdaZero), |
+ B(Star), R(6), |
+ B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(2), U8(5), |
+ B(Mov), R(1), R(2), |
+ B(CreateObjectLiteral), U8(1), U8(0), U8(13), |
+ B(Star), R(4), |
+ B(Star), R(3), |
+ B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(2), U8(2), |
+ B(Ldar), R(1), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
+] |
+handlers: [ |
+] |
+ |
+--- |
+snippet: " |
+ var n = 'name'; return { [n]: 'val', get a() { }, set a(b) {} }; |
+" |
+frame size: 7 |
+parameter count: 1 |
+bytecode array length: 77 |
+bytecodes: [ |
+ B(StackCheck), |
+ B(LdaConstant), U8(0), |
+ B(Star), R(0), |
+ B(CreateObjectLiteral), U8(1), U8(0), U8(13), |
+ B(Star), R(1), |
+ B(Mov), R(1), R(2), |
+ B(Ldar), R(0), |
+ B(ToName), |
+ B(Star), R(3), |
+ B(LdaConstant), U8(2), |
+ B(Star), R(4), |
+ B(LdaZero), |
+ B(Star), R(5), |
+ B(LdaZero), |
+ B(Star), R(6), |
+ B(CallRuntime), U16(Runtime::kDefineDataPropertyInLiteral), R(2), U8(5), |
+ B(Mov), R(1), R(2), |
+ B(LdaConstant), U8(3), |
+ B(Star), R(3), |
+ B(CreateClosure), U8(4), U8(0), |
+ B(Star), R(4), |
+ B(LdaZero), |
+ B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::kDefineGetterPropertyUnchecked), R(2), U8(4), |
+ B(Mov), R(1), R(2), |
+ B(LdaConstant), U8(3), |
+ B(Star), R(3), |
+ B(CreateClosure), U8(5), U8(0), |
+ B(Star), R(4), |
+ B(LdaZero), |
+ B(Star), R(5), |
+ B(CallRuntime), U16(Runtime::kDefineSetterPropertyUnchecked), R(2), U8(4), |
+ B(Ldar), R(1), |
+ B(Return), |
+] |
+constant pool: [ |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::FIXED_ARRAY_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE, |
+ InstanceType::SHARED_FUNCTION_INFO_TYPE, |
+ InstanceType::SHARED_FUNCTION_INFO_TYPE, |
+] |
+handlers: [ |
+] |
+ |