93f05b64ae
They have the same lifetime. It's a match! Both structures are native context dependent and dealt with (creation, clearing, gathering feedback) at the same time. By treating the spaces used for literal boilerplates as feedback vector slots, we no longer have to keep track of the materialized literal count elsewhere. A follow-on CL removes even more parser infrastructure related to this count. BUG=v8:5456 Review-Url: https://codereview.chromium.org/2655853010 Cr-Commit-Position: refs/heads/master@{#42771}
413 lines
10 KiB
Plaintext
413 lines
10 KiB
Plaintext
#
|
|
# Autogenerated by generate-bytecode-expectations.
|
|
#
|
|
|
|
---
|
|
wrap: yes
|
|
|
|
---
|
|
snippet: "
|
|
return { };
|
|
"
|
|
frame size: 1
|
|
parameter count: 1
|
|
bytecode array length: 9
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(2), U8(35), R(0),
|
|
B(Ldar), R(0),
|
|
/* 46 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
FIXED_ARRAY_TYPE,
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
return { name: 'string', val: 9.2 };
|
|
"
|
|
frame size: 1
|
|
parameter count: 1
|
|
bytecode array length: 9
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(2), U8(1), R(0),
|
|
B(Ldar), R(0),
|
|
/* 71 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
FIXED_ARRAY_TYPE,
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
var a = 1; return { name: 'string', val: a };
|
|
"
|
|
frame size: 2
|
|
parameter count: 1
|
|
bytecode array length: 17
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 42 S> */ B(LdaSmi), I8(1),
|
|
B(Star), R(0),
|
|
/* 45 S> */ B(CreateObjectLiteral), U8(0), U8(2), U8(1), R(1),
|
|
/* 75 E> */ B(StaNamedPropertySloppy), R(1), U8(1), U8(3),
|
|
B(Ldar), R(1),
|
|
/* 80 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
FIXED_ARRAY_TYPE,
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["val"],
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
var a = 1; return { val: a, val: a + 1 };
|
|
"
|
|
frame size: 2
|
|
parameter count: 1
|
|
bytecode array length: 21
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 42 S> */ B(LdaSmi), I8(1),
|
|
B(Star), R(0),
|
|
/* 45 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(1),
|
|
/* 69 E> */ B(AddSmi), I8(1), R(0), U8(2),
|
|
B(StaNamedPropertySloppy), R(1), U8(1), U8(4),
|
|
B(Ldar), R(1),
|
|
/* 76 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
FIXED_ARRAY_TYPE,
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["val"],
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
return { func: function() { } };
|
|
"
|
|
frame size: 1
|
|
parameter count: 1
|
|
bytecode array length: 17
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(0),
|
|
B(CreateClosure), U8(1), U8(2), U8(2),
|
|
B(StaNamedPropertySloppy), R(0), U8(2), U8(4),
|
|
B(Ldar), R(0),
|
|
/* 67 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
FIXED_ARRAY_TYPE,
|
|
SHARED_FUNCTION_INFO_TYPE,
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"],
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
return { func(a) { return a; } };
|
|
"
|
|
frame size: 1
|
|
parameter count: 1
|
|
bytecode array length: 17
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(0),
|
|
B(CreateClosure), U8(1), U8(2), U8(2),
|
|
B(StaNamedPropertySloppy), R(0), U8(2), U8(4),
|
|
B(Ldar), R(0),
|
|
/* 68 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
FIXED_ARRAY_TYPE,
|
|
SHARED_FUNCTION_INFO_TYPE,
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["func"],
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
return { get a() { return 2; } };
|
|
"
|
|
frame size: 6
|
|
parameter count: 1
|
|
bytecode array length: 33
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(0),
|
|
B(LdaConstant), U8(1),
|
|
B(Star), R(2),
|
|
B(CreateClosure), U8(2), U8(2), U8(2),
|
|
B(Star), R(3),
|
|
B(LdaNull),
|
|
B(Star), R(4),
|
|
B(LdaZero),
|
|
B(Star), R(5),
|
|
B(Mov), R(0), R(1),
|
|
B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), R(1), U8(5),
|
|
B(Ldar), R(1),
|
|
/* 68 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
FIXED_ARRAY_TYPE,
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
|
|
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: 36
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(4), U8(1), R(0),
|
|
B(LdaConstant), U8(1),
|
|
B(Star), R(2),
|
|
B(CreateClosure), U8(2), U8(2), U8(2),
|
|
B(Star), R(3),
|
|
B(CreateClosure), U8(3), U8(3), U8(2),
|
|
B(Star), R(4),
|
|
B(LdaZero),
|
|
B(Star), R(5),
|
|
B(Mov), R(0), R(1),
|
|
B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), R(1), U8(5),
|
|
B(Ldar), R(1),
|
|
/* 102 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
FIXED_ARRAY_TYPE,
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
|
|
SHARED_FUNCTION_INFO_TYPE,
|
|
SHARED_FUNCTION_INFO_TYPE,
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
return { set b(val) { this.y = val } };
|
|
"
|
|
frame size: 6
|
|
parameter count: 1
|
|
bytecode array length: 33
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(3), U8(1), R(0),
|
|
B(LdaConstant), U8(1),
|
|
B(Star), R(2),
|
|
B(LdaNull),
|
|
B(Star), R(3),
|
|
B(CreateClosure), U8(2), U8(2), U8(2),
|
|
B(Star), R(4),
|
|
B(LdaZero),
|
|
B(Star), R(5),
|
|
B(Mov), R(0), R(1),
|
|
B(CallRuntime), U16(Runtime::kDefineAccessorPropertyUnchecked), R(1), U8(5),
|
|
B(Ldar), R(1),
|
|
/* 74 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
FIXED_ARRAY_TYPE,
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"],
|
|
SHARED_FUNCTION_INFO_TYPE,
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
var a = 1; return { 1: a };
|
|
"
|
|
frame size: 6
|
|
parameter count: 1
|
|
bytecode array length: 31
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 42 S> */ B(LdaSmi), I8(1),
|
|
B(Star), R(0),
|
|
/* 45 S> */ B(CreateObjectLiteral), U8(0), U8(2), U8(1), R(1),
|
|
B(LdaSmi), I8(1),
|
|
B(Star), R(3),
|
|
B(LdaZero),
|
|
B(Star), R(5),
|
|
B(Mov), R(1), R(2),
|
|
B(Mov), R(0), R(4),
|
|
/* 57 E> */ B(CallRuntime), U16(Runtime::kSetProperty), R(2), U8(4),
|
|
B(Ldar), R(2),
|
|
/* 62 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
FIXED_ARRAY_TYPE,
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
return { __proto__: null };
|
|
"
|
|
frame size: 3
|
|
parameter count: 1
|
|
bytecode array length: 20
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 34 S> */ B(CreateObjectLiteral), U8(0), U8(2), U8(35), R(0),
|
|
B(LdaNull),
|
|
B(Star), R(2),
|
|
B(Mov), R(0), R(1),
|
|
B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(1), U8(2),
|
|
B(Ldar), R(1),
|
|
/* 62 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
FIXED_ARRAY_TYPE,
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
var a = 'test'; return { [a]: 1 };
|
|
"
|
|
frame size: 4
|
|
parameter count: 1
|
|
bytecode array length: 24
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 42 S> */ B(LdaConstant), U8(0),
|
|
B(Star), R(0),
|
|
/* 50 S> */ B(CreateObjectLiteral), U8(1), U8(2), U8(35), R(1),
|
|
/* 60 E> */ B(ToName), R(2),
|
|
B(LdaSmi), I8(1),
|
|
B(Star), R(3),
|
|
B(StaDataPropertyInLiteral), R(1), R(2), U8(0), U8(3),
|
|
B(Ldar), R(1),
|
|
/* 69 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["test"],
|
|
FIXED_ARRAY_TYPE,
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
var a = 'test'; return { val: a, [a]: 1 };
|
|
"
|
|
frame size: 4
|
|
parameter count: 1
|
|
bytecode array length: 28
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 42 S> */ B(LdaConstant), U8(0),
|
|
B(Star), R(0),
|
|
/* 50 S> */ B(CreateObjectLiteral), U8(1), U8(2), U8(1), R(1),
|
|
/* 64 E> */ B(StaNamedPropertySloppy), R(1), U8(2), U8(3),
|
|
/* 68 E> */ B(ToName), R(2),
|
|
B(LdaSmi), I8(1),
|
|
B(Star), R(3),
|
|
B(StaDataPropertyInLiteral), R(1), R(2), U8(0), U8(5),
|
|
B(Ldar), R(1),
|
|
/* 77 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["test"],
|
|
FIXED_ARRAY_TYPE,
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["val"],
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
var a = 'test'; return { [a]: 1, __proto__: {} };
|
|
"
|
|
frame size: 5
|
|
parameter count: 1
|
|
bytecode array length: 40
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 42 S> */ B(LdaConstant), U8(0),
|
|
B(Star), R(0),
|
|
/* 50 S> */ B(CreateObjectLiteral), U8(1), U8(3), U8(35), R(1),
|
|
/* 60 E> */ B(ToName), R(2),
|
|
B(LdaSmi), I8(1),
|
|
B(Star), R(3),
|
|
B(StaDataPropertyInLiteral), R(1), R(2), U8(0), U8(4),
|
|
B(CreateObjectLiteral), U8(1), U8(2), U8(35), R(4),
|
|
B(Mov), R(1), R(2),
|
|
B(Mov), R(4), R(3),
|
|
B(CallRuntime), U16(Runtime::kInternalSetPrototype), R(2), U8(2),
|
|
B(Ldar), R(2),
|
|
/* 84 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["test"],
|
|
FIXED_ARRAY_TYPE,
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
var n = 'name'; return { [n]: 'val', get a() { }, set a(b) {} };
|
|
"
|
|
frame size: 6
|
|
parameter count: 1
|
|
bytecode array length: 63
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 42 S> */ B(LdaConstant), U8(0),
|
|
B(Star), R(0),
|
|
/* 50 S> */ B(CreateObjectLiteral), U8(1), U8(4), U8(35), R(1),
|
|
/* 60 E> */ B(ToName), R(2),
|
|
B(LdaConstant), U8(2),
|
|
B(Star), R(3),
|
|
B(StaDataPropertyInLiteral), R(1), R(2), U8(0), U8(5),
|
|
B(LdaConstant), U8(3),
|
|
B(ToName), R(3),
|
|
B(CreateClosure), U8(4), U8(2), U8(2),
|
|
B(Star), R(4),
|
|
B(LdaZero),
|
|
B(Star), R(5),
|
|
B(Mov), R(1), R(2),
|
|
B(CallRuntime), U16(Runtime::kDefineGetterPropertyUnchecked), R(2), U8(4),
|
|
B(LdaConstant), U8(3),
|
|
B(ToName), R(3),
|
|
B(CreateClosure), U8(5), U8(3), U8(2),
|
|
B(Star), R(4),
|
|
B(LdaZero),
|
|
B(Star), R(5),
|
|
B(CallRuntime), U16(Runtime::kDefineSetterPropertyUnchecked), R(2), U8(4),
|
|
B(Ldar), R(2),
|
|
/* 99 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["name"],
|
|
FIXED_ARRAY_TYPE,
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["val"],
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
|
|
SHARED_FUNCTION_INFO_TYPE,
|
|
SHARED_FUNCTION_INFO_TYPE,
|
|
]
|
|
handlers: [
|
|
]
|
|
|