5b44ba0e34
Currently LdaNamedProperty bytecode for expressions like a.b has position before dot. This CL moves this location after dot. It's important for later removing of Nop bytecodes in expressions like a.b() where a is local variable, property call and property load should have the same position. R=jgruber@chromium.org TBR=marja@chromium.org Bug: v8:6425 Change-Id: I05c21ca5e018da9c432c6bc963c7a96799336d1c Reviewed-on: https://chromium-review.googlesource.com/562879 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#46484}
108 lines
2.7 KiB
Plaintext
108 lines
2.7 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(6),
|
|
B(Star), R(1),
|
|
/* 39 E> */ B(LdaNamedProperty), R(1), U8(1), U8(8),
|
|
B(Star), R(0),
|
|
B(CreateArrayLiteral), U8(2), U8(10), U8(17),
|
|
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"],
|
|
TUPLE2_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(6),
|
|
B(Star), R(1),
|
|
/* 39 E> */ B(LdaNamedProperty), R(1), U8(1), U8(8),
|
|
B(Star), R(0),
|
|
B(LdaZero),
|
|
B(Star), R(2),
|
|
B(CreateArrayLiteral), U8(2), U8(10), U8(17),
|
|
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"],
|
|
TUPLE2_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(4),
|
|
B(Star), R(0),
|
|
B(LdaNamedProperty), R(0), U8(1), U8(6),
|
|
B(Star), R(2),
|
|
B(LdaUndefined),
|
|
B(Star), R(4),
|
|
B(CreateArrayLiteral), U8(2), U8(8), U8(17),
|
|
B(Star), R(5),
|
|
B(LdaUndefined),
|
|
B(Star), R(6),
|
|
B(CreateArrayLiteral), U8(3), U8(9), U8(17),
|
|
B(Star), R(7),
|
|
B(CallJSRuntime), U8(%spread_iterable), R(6), U8(2),
|
|
B(Star), R(6),
|
|
B(CreateArrayLiteral), U8(4), U8(10), U8(17),
|
|
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"],
|
|
TUPLE2_TYPE,
|
|
TUPLE2_TYPE,
|
|
TUPLE2_TYPE,
|
|
]
|
|
handlers: [
|
|
]
|
|
|