f9367847b0
We can share almost all of the architecture-specific builtin code with super-call-with-spread. Info to port-writers: The code in CheckSpreadAndPushToStack has changed slightly from what was in Generate_ConstructWithSpread, in that we take the length of the spreaded parameters from the JSArray rather than the FixedArray backing store. BUG=v8:5511 Review-Url: https://codereview.chromium.org/2649143002 Cr-Commit-Position: refs/heads/master@{#42632}
108 lines
2.8 KiB
Plaintext
108 lines
2.8 KiB
Plaintext
#
|
|
# Autogenerated by generate-bytecode-expectations.
|
|
#
|
|
|
|
---
|
|
wrap: yes
|
|
|
|
---
|
|
snippet: "
|
|
Math.max(...[1, 2, 3]);
|
|
"
|
|
frame size: 3
|
|
parameter count: 1
|
|
bytecode array length: 24
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 34 S> */ B(LdaGlobal), U8(0), U8(4),
|
|
B(Star), R(1),
|
|
/* 38 E> */ B(LdaNamedProperty), R(1), U8(1), U8(6),
|
|
B(Star), R(0),
|
|
B(CreateArrayLiteral), U8(2), U8(0), U8(9),
|
|
B(Star), R(2),
|
|
/* 39 E> */ B(CallWithSpread), R(0), R(1), U8(2),
|
|
B(LdaUndefined),
|
|
/* 58 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["Math"],
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["max"],
|
|
CONSTANT_ELEMENTS_PAIR_TYPE,
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
Math.max(0, ...[1, 2, 3]);
|
|
"
|
|
frame size: 4
|
|
parameter count: 1
|
|
bytecode array length: 27
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 34 S> */ B(LdaGlobal), U8(0), U8(4),
|
|
B(Star), R(1),
|
|
/* 38 E> */ B(LdaNamedProperty), R(1), U8(1), U8(6),
|
|
B(Star), R(0),
|
|
B(LdaZero),
|
|
B(Star), R(2),
|
|
B(CreateArrayLiteral), U8(2), U8(0), U8(9),
|
|
B(Star), R(3),
|
|
/* 39 E> */ B(CallWithSpread), R(0), R(1), U8(3),
|
|
B(LdaUndefined),
|
|
/* 61 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["Math"],
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["max"],
|
|
CONSTANT_ELEMENTS_PAIR_TYPE,
|
|
]
|
|
handlers: [
|
|
]
|
|
|
|
---
|
|
snippet: "
|
|
Math.max(0, ...[1, 2, 3], 4);
|
|
"
|
|
frame size: 8
|
|
parameter count: 1
|
|
bytecode array length: 60
|
|
bytecodes: [
|
|
/* 30 E> */ B(StackCheck),
|
|
/* 34 S> */ B(LdaUndefined),
|
|
B(Star), R(1),
|
|
/* 34 E> */ B(LdaGlobal), U8(0), U8(2),
|
|
B(Star), R(0),
|
|
B(LdaNamedProperty), R(0), U8(1), U8(4),
|
|
B(Star), R(2),
|
|
B(LdaUndefined),
|
|
B(Star), R(4),
|
|
B(CreateArrayLiteral), U8(2), U8(1), U8(9),
|
|
B(Star), R(5),
|
|
B(LdaUndefined),
|
|
B(Star), R(6),
|
|
B(CreateArrayLiteral), U8(3), U8(0), U8(9),
|
|
B(Star), R(7),
|
|
B(CallJSRuntime), U8(%spread_iterable), R(6), U8(2),
|
|
B(Star), R(6),
|
|
B(CreateArrayLiteral), U8(4), U8(2), U8(9),
|
|
B(Star), R(7),
|
|
B(CallJSRuntime), U8(%spread_arguments), R(4), U8(4),
|
|
B(Star), R(4),
|
|
B(Mov), R(0), R(3),
|
|
B(CallJSRuntime), U8(%reflect_apply), R(1), U8(4),
|
|
B(LdaUndefined),
|
|
/* 64 S> */ B(Return),
|
|
]
|
|
constant pool: [
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["Math"],
|
|
ONE_BYTE_INTERNALIZED_STRING_TYPE ["max"],
|
|
CONSTANT_ELEMENTS_PAIR_TYPE,
|
|
CONSTANT_ELEMENTS_PAIR_TYPE,
|
|
CONSTANT_ELEMENTS_PAIR_TYPE,
|
|
]
|
|
handlers: [
|
|
]
|
|
|