Commit 18d27219 authored by Adam Klein's avatar Adam Klein Committed by Commit Bot

[ignition] Avoid emitting unnecessary Jump in VisitSuspend()

Bug: v8:6351
Change-Id: I6a5b44486bac87e2b3cb9aa93808b2c7964d6202
Reviewed-on: https://chromium-review.googlesource.com/499508
Commit-Queue: Adam Klein <adamk@chromium.org>
Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45205}
parent 4f5dcd4b
...@@ -2464,7 +2464,6 @@ void BytecodeGenerator::VisitSuspend(Suspend* expr) { ...@@ -2464,7 +2464,6 @@ void BytecodeGenerator::VisitSuspend(Suspend* expr) {
// Now dispatch on resume mode. // Now dispatch on resume mode.
BytecodeLabel resume_with_next; BytecodeLabel resume_with_next;
BytecodeLabel resume_with_return;
BytecodeLabel resume_with_throw; BytecodeLabel resume_with_throw;
builder() builder()
...@@ -2473,24 +2472,21 @@ void BytecodeGenerator::VisitSuspend(Suspend* expr) { ...@@ -2473,24 +2472,21 @@ void BytecodeGenerator::VisitSuspend(Suspend* expr) {
.JumpIfTrue(ToBooleanMode::kAlreadyBoolean, &resume_with_next) .JumpIfTrue(ToBooleanMode::kAlreadyBoolean, &resume_with_next)
.LoadLiteral(Smi::FromInt(JSGeneratorObject::kThrow)) .LoadLiteral(Smi::FromInt(JSGeneratorObject::kThrow))
.CompareOperation(Token::EQ_STRICT, resume_mode) .CompareOperation(Token::EQ_STRICT, resume_mode)
.JumpIfTrue(ToBooleanMode::kAlreadyBoolean, &resume_with_throw) .JumpIfTrue(ToBooleanMode::kAlreadyBoolean, &resume_with_throw);
.Jump(&resume_with_return); // Fall through for resuming with return.
builder()->Bind(&resume_with_return); if (expr->is_async_generator()) {
{ // Async generator methods will produce the iter result object.
if (expr->is_async_generator()) { builder()->LoadAccumulatorWithRegister(input);
// Async generator methods will produce the iter result object. execution_control()->AsyncReturnAccumulator();
builder()->LoadAccumulatorWithRegister(input); } else {
execution_control()->AsyncReturnAccumulator(); RegisterList args = register_allocator()->NewRegisterList(2);
} else { builder()
RegisterList args = register_allocator()->NewRegisterList(2); ->MoveRegister(input, args[0])
builder() .LoadTrue()
->MoveRegister(input, args[0]) .StoreAccumulatorInRegister(args[1])
.LoadTrue() .CallRuntime(Runtime::kInlineCreateIterResultObject, args);
.StoreAccumulatorInRegister(args[1]) execution_control()->ReturnAccumulator();
.CallRuntime(Runtime::kInlineCreateIterResultObject, args);
execution_control()->ReturnAccumulator();
}
} }
builder()->Bind(&resume_with_throw); builder()->Bind(&resume_with_throw);
......
...@@ -648,7 +648,7 @@ snippet: " ...@@ -648,7 +648,7 @@ snippet: "
" "
frame size: 15 frame size: 15
parameter count: 2 parameter count: 2
bytecode array length: 625 bytecode array length: 623
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -692,11 +692,10 @@ bytecodes: [ ...@@ -692,11 +692,10 @@ bytecodes: [
B(Star), R(12), B(Star), R(12),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(12), B(TestEqualStrictNoFeedback), R(12),
B(JumpIfTrue), U8(30), B(JumpIfTrue), U8(28),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(12), B(TestEqualStrictNoFeedback), R(12),
B(JumpIfTrue), U8(21), B(JumpIfTrue), U8(19),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(14), B(Star), R(14),
B(Mov), R(11), R(13), B(Mov), R(11), R(13),
...@@ -930,10 +929,10 @@ constant pool: [ ...@@ -930,10 +929,10 @@ constant pool: [
Smi [449], Smi [449],
] ]
handlers: [ handlers: [
[49, 558, 564], [49, 556, 562],
[143, 340, 346], [141, 338, 344],
[146, 296, 298], [144, 294, 296],
[432, 448, 450], [430, 446, 448],
] ]
--- ---
...@@ -945,7 +944,7 @@ snippet: " ...@@ -945,7 +944,7 @@ snippet: "
" "
frame size: 18 frame size: 18
parameter count: 2 parameter count: 2
bytecode array length: 754 bytecode array length: 750
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(33), B(JumpIfUndefined), U8(33),
...@@ -958,7 +957,7 @@ bytecodes: [ ...@@ -958,7 +957,7 @@ bytecodes: [
B(JumpIfTrue), U8(63), B(JumpIfTrue), U8(63),
B(LdaSmi), I8(1), B(LdaSmi), I8(1),
B(TestEqualStrictNoFeedback), R(3), B(TestEqualStrictNoFeedback), R(3),
B(JumpIfTrue), U8(155), B(JumpIfTrue), U8(153),
B(LdaSmi), I8(79), B(LdaSmi), I8(79),
B(Star), R(5), B(Star), R(5),
B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1),
...@@ -992,11 +991,10 @@ bytecodes: [ ...@@ -992,11 +991,10 @@ bytecodes: [
B(Star), R(11), B(Star), R(11),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(11), B(TestEqualStrictNoFeedback), R(11),
B(JumpIfTrue), U8(30), B(JumpIfTrue), U8(28),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(11), B(TestEqualStrictNoFeedback), R(11),
B(JumpIfTrue), U8(21), B(JumpIfTrue), U8(19),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(13), B(Star), R(13),
B(Mov), R(10), R(12), B(Mov), R(10), R(12),
...@@ -1049,7 +1047,7 @@ bytecodes: [ ...@@ -1049,7 +1047,7 @@ bytecodes: [
B(LdaContextSlot), R(1), U8(9), U8(0), B(LdaContextSlot), R(1), U8(9), U8(0),
B(Star), R(12), B(Star), R(12),
B(LdaNamedProperty), R(12), U8(3), U8(10), B(LdaNamedProperty), R(12), U8(3), U8(10),
B(JumpIfToBooleanTrue), U8(146), B(JumpIfToBooleanTrue), U8(144),
B(LdaContextSlot), R(1), U8(9), U8(0), B(LdaContextSlot), R(1), U8(9), U8(0),
B(Star), R(12), B(Star), R(12),
B(LdaNamedProperty), R(12), U8(4), U8(12), B(LdaNamedProperty), R(12), U8(4), U8(12),
...@@ -1086,11 +1084,10 @@ bytecodes: [ ...@@ -1086,11 +1084,10 @@ bytecodes: [
B(Star), R(15), B(Star), R(15),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(15), B(TestEqualStrictNoFeedback), R(15),
B(JumpIfTrue), U8(42), B(JumpIfTrue), U8(40),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(15), B(TestEqualStrictNoFeedback), R(15),
B(JumpIfTrue), U8(33), B(JumpIfTrue), U8(31),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(17), B(Star), R(17),
B(Mov), R(14), R(16), B(Mov), R(14), R(16),
...@@ -1110,7 +1107,7 @@ bytecodes: [ ...@@ -1110,7 +1107,7 @@ bytecodes: [
B(PopContext), R(2), B(PopContext), R(2),
B(LdaZero), B(LdaZero),
B(StaContextSlot), R(1), U8(10), U8(0), B(StaContextSlot), R(1), U8(10), U8(0),
B(JumpLoop), U8(214), I8(0), B(JumpLoop), U8(212), I8(0),
B(Jump), U8(44), B(Jump), U8(44),
B(Star), R(12), B(Star), R(12),
B(Ldar), R(closure), B(Ldar), R(closure),
...@@ -1282,13 +1279,13 @@ constant pool: [ ...@@ -1282,13 +1279,13 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""], ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
FIXED_ARRAY_TYPE, FIXED_ARRAY_TYPE,
Smi [563], Smi [561],
] ]
handlers: [ handlers: [
[55, 678, 684], [55, 674, 680],
[149, 440, 446], [147, 436, 442],
[152, 396, 398], [150, 392, 394],
[533, 549, 551], [529, 545, 547],
] ]
--- ---
...@@ -1596,7 +1593,7 @@ snippet: " ...@@ -1596,7 +1593,7 @@ snippet: "
" "
frame size: 19 frame size: 19
parameter count: 2 parameter count: 2
bytecode array length: 772 bytecode array length: 770
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -1672,7 +1669,7 @@ bytecodes: [ ...@@ -1672,7 +1669,7 @@ bytecodes: [
B(LdaContextSlot), R(1), U8(11), U8(0), B(LdaContextSlot), R(1), U8(11), U8(0),
B(Star), R(13), B(Star), R(13),
B(LdaNamedProperty), R(13), U8(3), U8(10), B(LdaNamedProperty), R(13), U8(3), U8(10),
B(JumpIfToBooleanTrue), U8(169), B(JumpIfToBooleanTrue), U8(167),
B(LdaContextSlot), R(1), U8(11), U8(0), B(LdaContextSlot), R(1), U8(11), U8(0),
B(Star), R(13), B(Star), R(13),
B(LdaNamedProperty), R(13), U8(4), U8(12), B(LdaNamedProperty), R(13), U8(4), U8(12),
...@@ -1716,11 +1713,10 @@ bytecodes: [ ...@@ -1716,11 +1713,10 @@ bytecodes: [
B(Star), R(16), B(Star), R(16),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(16), B(TestEqualStrictNoFeedback), R(16),
B(JumpIfTrue), U8(42), B(JumpIfTrue), U8(40),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(16), B(TestEqualStrictNoFeedback), R(16),
B(JumpIfTrue), U8(33), B(JumpIfTrue), U8(31),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(18), B(Star), R(18),
B(Mov), R(15), R(17), B(Mov), R(15), R(17),
...@@ -1740,7 +1736,7 @@ bytecodes: [ ...@@ -1740,7 +1736,7 @@ bytecodes: [
B(PopContext), R(2), B(PopContext), R(2),
B(LdaZero), B(LdaZero),
B(StaContextSlot), R(1), U8(12), U8(0), B(StaContextSlot), R(1), U8(12), U8(0),
B(JumpLoop), U8(236), I8(0), B(JumpLoop), U8(234), I8(0),
B(Jump), U8(48), B(Jump), U8(48),
B(Star), R(13), B(Star), R(13),
B(Ldar), R(closure), B(Ldar), R(closure),
...@@ -1943,10 +1939,10 @@ constant pool: [ ...@@ -1943,10 +1939,10 @@ constant pool: [
FIXED_ARRAY_TYPE, FIXED_ARRAY_TYPE,
] ]
handlers: [ handlers: [
[71, 703, 709], [71, 701, 707],
[74, 649, 651], [74, 647, 649],
[91, 408, 414], [91, 406, 412],
[94, 360, 362], [94, 358, 360],
[501, 517, 519], [499, 515, 517],
] ]
...@@ -13,7 +13,7 @@ snippet: " ...@@ -13,7 +13,7 @@ snippet: "
" "
frame size: 12 frame size: 12
parameter count: 1 parameter count: 1
bytecode array length: 198 bytecode array length: 196
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -55,11 +55,10 @@ bytecodes: [ ...@@ -55,11 +55,10 @@ bytecodes: [
B(Star), R(9), B(Star), R(9),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(9), B(TestEqualStrictNoFeedback), R(9),
B(JumpIfTrue), U8(30), B(JumpIfTrue), U8(28),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(9), B(TestEqualStrictNoFeedback), R(9),
B(JumpIfTrue), U8(21), B(JumpIfTrue), U8(19),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(11), B(Star), R(11),
B(Mov), R(8), R(10), B(Mov), R(8), R(10),
...@@ -115,7 +114,7 @@ bytecodes: [ ...@@ -115,7 +114,7 @@ bytecodes: [
constant pool: [ constant pool: [
] ]
handlers: [ handlers: [
[45, 140, 146], [45, 138, 144],
] ]
--- ---
...@@ -125,7 +124,7 @@ snippet: " ...@@ -125,7 +124,7 @@ snippet: "
" "
frame size: 12 frame size: 12
parameter count: 1 parameter count: 1
bytecode array length: 290 bytecode array length: 286
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(33), B(JumpIfUndefined), U8(33),
...@@ -138,7 +137,7 @@ bytecodes: [ ...@@ -138,7 +137,7 @@ bytecodes: [
B(JumpIfTrue), U8(59), B(JumpIfTrue), U8(59),
B(LdaSmi), I8(1), B(LdaSmi), I8(1),
B(TestEqualStrictNoFeedback), R(1), B(TestEqualStrictNoFeedback), R(1),
B(JumpIfTrue), U8(129), B(JumpIfTrue), U8(127),
B(LdaSmi), I8(79), B(LdaSmi), I8(79),
B(Star), R(3), B(Star), R(3),
B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1), B(CallRuntime), U16(Runtime::kAbort), R(3), U8(1),
...@@ -170,11 +169,10 @@ bytecodes: [ ...@@ -170,11 +169,10 @@ bytecodes: [
B(Star), R(9), B(Star), R(9),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(9), B(TestEqualStrictNoFeedback), R(9),
B(JumpIfTrue), U8(30), B(JumpIfTrue), U8(28),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(9), B(TestEqualStrictNoFeedback), R(9),
B(JumpIfTrue), U8(21), B(JumpIfTrue), U8(19),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(11), B(Star), R(11),
B(Mov), R(8), R(10), B(Mov), R(8), R(10),
...@@ -182,7 +180,7 @@ bytecodes: [ ...@@ -182,7 +180,7 @@ bytecodes: [
B(Star), R(4), B(Star), R(4),
B(LdaZero), B(LdaZero),
B(Star), R(3), B(Star), R(3),
B(Jump), U8(112), B(Jump), U8(110),
B(Ldar), R(8), B(Ldar), R(8),
/* 11 E> */ B(Throw), /* 11 E> */ B(Throw),
/* 16 S> */ B(LdaSmi), I8(42), /* 16 S> */ B(LdaSmi), I8(42),
...@@ -205,11 +203,10 @@ bytecodes: [ ...@@ -205,11 +203,10 @@ bytecodes: [
B(Star), R(9), B(Star), R(9),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(9), B(TestEqualStrictNoFeedback), R(9),
B(JumpIfTrue), U8(31), B(JumpIfTrue), U8(29),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(9), B(TestEqualStrictNoFeedback), R(9),
B(JumpIfTrue), U8(22), B(JumpIfTrue), U8(20),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(11), B(Star), R(11),
B(Mov), R(8), R(10), B(Mov), R(8), R(10),
...@@ -270,7 +267,7 @@ bytecodes: [ ...@@ -270,7 +267,7 @@ bytecodes: [
constant pool: [ constant pool: [
] ]
handlers: [ handlers: [
[51, 223, 229], [51, 219, 225],
] ]
--- ---
...@@ -280,7 +277,7 @@ snippet: " ...@@ -280,7 +277,7 @@ snippet: "
" "
frame size: 18 frame size: 18
parameter count: 1 parameter count: 1
bytecode array length: 750 bytecode array length: 746
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(33), B(JumpIfUndefined), U8(33),
...@@ -293,7 +290,7 @@ bytecodes: [ ...@@ -293,7 +290,7 @@ bytecodes: [
B(JumpIfTrue), U8(59), B(JumpIfTrue), U8(59),
B(LdaSmi), I8(1), B(LdaSmi), I8(1),
B(TestEqualStrictNoFeedback), R(3), B(TestEqualStrictNoFeedback), R(3),
B(JumpIfTrue), U8(151), B(JumpIfTrue), U8(149),
B(LdaSmi), I8(79), B(LdaSmi), I8(79),
B(Star), R(5), B(Star), R(5),
B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1),
...@@ -325,11 +322,10 @@ bytecodes: [ ...@@ -325,11 +322,10 @@ bytecodes: [
B(Star), R(11), B(Star), R(11),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(11), B(TestEqualStrictNoFeedback), R(11),
B(JumpIfTrue), U8(30), B(JumpIfTrue), U8(28),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(11), B(TestEqualStrictNoFeedback), R(11),
B(JumpIfTrue), U8(21), B(JumpIfTrue), U8(19),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(13), B(Star), R(13),
B(Mov), R(10), R(12), B(Mov), R(10), R(12),
...@@ -382,7 +378,7 @@ bytecodes: [ ...@@ -382,7 +378,7 @@ bytecodes: [
B(LdaContextSlot), R(1), U8(8), U8(0), B(LdaContextSlot), R(1), U8(8), U8(0),
B(Star), R(12), B(Star), R(12),
B(LdaNamedProperty), R(12), U8(4), U8(11), B(LdaNamedProperty), R(12), U8(4), U8(11),
B(JumpIfToBooleanTrue), U8(146), B(JumpIfToBooleanTrue), U8(144),
B(LdaContextSlot), R(1), U8(8), U8(0), B(LdaContextSlot), R(1), U8(8), U8(0),
B(Star), R(12), B(Star), R(12),
B(LdaNamedProperty), R(12), U8(5), U8(13), B(LdaNamedProperty), R(12), U8(5), U8(13),
...@@ -419,11 +415,10 @@ bytecodes: [ ...@@ -419,11 +415,10 @@ bytecodes: [
B(Star), R(15), B(Star), R(15),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(15), B(TestEqualStrictNoFeedback), R(15),
B(JumpIfTrue), U8(42), B(JumpIfTrue), U8(40),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(15), B(TestEqualStrictNoFeedback), R(15),
B(JumpIfTrue), U8(33), B(JumpIfTrue), U8(31),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(17), B(Star), R(17),
B(Mov), R(14), R(16), B(Mov), R(14), R(16),
...@@ -443,7 +438,7 @@ bytecodes: [ ...@@ -443,7 +438,7 @@ bytecodes: [
B(PopContext), R(2), B(PopContext), R(2),
B(LdaZero), B(LdaZero),
B(StaContextSlot), R(1), U8(9), U8(0), B(StaContextSlot), R(1), U8(9), U8(0),
B(JumpLoop), U8(214), I8(0), B(JumpLoop), U8(212), I8(0),
B(Jump), U8(44), B(Jump), U8(44),
B(Star), R(12), B(Star), R(12),
B(Ldar), R(closure), B(Ldar), R(closure),
...@@ -616,12 +611,12 @@ constant pool: [ ...@@ -616,12 +611,12 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"], ONE_BYTE_INTERNALIZED_STRING_TYPE ["return"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [""], ONE_BYTE_INTERNALIZED_STRING_TYPE [""],
FIXED_ARRAY_TYPE, FIXED_ARRAY_TYPE,
Smi [563], Smi [561],
] ]
handlers: [ handlers: [
[51, 674, 680], [51, 670, 676],
[145, 436, 442], [143, 432, 438],
[148, 392, 394], [146, 388, 390],
[529, 545, 547], [525, 541, 543],
] ]
...@@ -13,7 +13,7 @@ snippet: " ...@@ -13,7 +13,7 @@ snippet: "
" "
frame size: 9 frame size: 9
parameter count: 2 parameter count: 2
bytecode array length: 142 bytecode array length: 140
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -58,11 +58,10 @@ bytecodes: [ ...@@ -58,11 +58,10 @@ bytecodes: [
B(Star), R(6), B(Star), R(6),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(6), B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(24), B(JumpIfTrue), U8(22),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(6), B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(15), B(JumpIfTrue), U8(13),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(8), B(Star), R(8),
B(Mov), R(5), R(7), B(Mov), R(5), R(7),
...@@ -91,7 +90,7 @@ snippet: " ...@@ -91,7 +90,7 @@ snippet: "
" "
frame size: 9 frame size: 9
parameter count: 2 parameter count: 2
bytecode array length: 142 bytecode array length: 140
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -136,11 +135,10 @@ bytecodes: [ ...@@ -136,11 +135,10 @@ bytecodes: [
B(Star), R(6), B(Star), R(6),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(6), B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(24), B(JumpIfTrue), U8(22),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(6), B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(15), B(JumpIfTrue), U8(13),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(8), B(Star), R(8),
B(Mov), R(5), R(7), B(Mov), R(5), R(7),
...@@ -171,7 +169,7 @@ snippet: " ...@@ -171,7 +169,7 @@ snippet: "
" "
frame size: 10 frame size: 10
parameter count: 2 parameter count: 2
bytecode array length: 204 bytecode array length: 202
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -216,11 +214,10 @@ bytecodes: [ ...@@ -216,11 +214,10 @@ bytecodes: [
B(Star), R(7), B(Star), R(7),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(7), B(TestEqualStrictNoFeedback), R(7),
B(JumpIfTrue), U8(24), B(JumpIfTrue), U8(22),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(7), B(TestEqualStrictNoFeedback), R(7),
B(JumpIfTrue), U8(15), B(JumpIfTrue), U8(13),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(9), B(Star), R(9),
B(Mov), R(6), R(8), B(Mov), R(6), R(8),
...@@ -278,7 +275,7 @@ snippet: " ...@@ -278,7 +275,7 @@ snippet: "
" "
frame size: 10 frame size: 10
parameter count: 2 parameter count: 2
bytecode array length: 184 bytecode array length: 182
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -323,11 +320,10 @@ bytecodes: [ ...@@ -323,11 +320,10 @@ bytecodes: [
B(Star), R(7), B(Star), R(7),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(7), B(TestEqualStrictNoFeedback), R(7),
B(JumpIfTrue), U8(24), B(JumpIfTrue), U8(22),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(7), B(TestEqualStrictNoFeedback), R(7),
B(JumpIfTrue), U8(15), B(JumpIfTrue), U8(13),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(9), B(Star), R(9),
B(Mov), R(6), R(8), B(Mov), R(6), R(8),
...@@ -377,7 +373,7 @@ snippet: " ...@@ -377,7 +373,7 @@ snippet: "
" "
frame size: 10 frame size: 10
parameter count: 2 parameter count: 2
bytecode array length: 188 bytecode array length: 186
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -424,11 +420,10 @@ bytecodes: [ ...@@ -424,11 +420,10 @@ bytecodes: [
B(Star), R(7), B(Star), R(7),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(7), B(TestEqualStrictNoFeedback), R(7),
B(JumpIfTrue), U8(24), B(JumpIfTrue), U8(22),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(7), B(TestEqualStrictNoFeedback), R(7),
B(JumpIfTrue), U8(15), B(JumpIfTrue), U8(13),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(9), B(Star), R(9),
B(Mov), R(6), R(8), B(Mov), R(6), R(8),
...@@ -478,7 +473,7 @@ snippet: " ...@@ -478,7 +473,7 @@ snippet: "
" "
frame size: 10 frame size: 10
parameter count: 2 parameter count: 2
bytecode array length: 192 bytecode array length: 190
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -525,11 +520,10 @@ bytecodes: [ ...@@ -525,11 +520,10 @@ bytecodes: [
B(Star), R(7), B(Star), R(7),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(7), B(TestEqualStrictNoFeedback), R(7),
B(JumpIfTrue), U8(24), B(JumpIfTrue), U8(22),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(7), B(TestEqualStrictNoFeedback), R(7),
B(JumpIfTrue), U8(15), B(JumpIfTrue), U8(13),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(9), B(Star), R(9),
B(Mov), R(6), R(8), B(Mov), R(6), R(8),
...@@ -577,7 +571,7 @@ snippet: " ...@@ -577,7 +571,7 @@ snippet: "
" "
frame size: 9 frame size: 9
parameter count: 2 parameter count: 2
bytecode array length: 153 bytecode array length: 151
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -624,11 +618,10 @@ bytecodes: [ ...@@ -624,11 +618,10 @@ bytecodes: [
B(Star), R(6), B(Star), R(6),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(6), B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(24), B(JumpIfTrue), U8(22),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(6), B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(15), B(JumpIfTrue), U8(13),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(8), B(Star), R(8),
B(Mov), R(5), R(7), B(Mov), R(5), R(7),
...@@ -660,7 +653,7 @@ snippet: " ...@@ -660,7 +653,7 @@ snippet: "
" "
frame size: 9 frame size: 9
parameter count: 2 parameter count: 2
bytecode array length: 186 bytecode array length: 184
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -707,11 +700,10 @@ bytecodes: [ ...@@ -707,11 +700,10 @@ bytecodes: [
B(Star), R(6), B(Star), R(6),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(6), B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(24), B(JumpIfTrue), U8(22),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(6), B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(15), B(JumpIfTrue), U8(13),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(8), B(Star), R(8),
B(Mov), R(5), R(7), B(Mov), R(5), R(7),
...@@ -755,7 +747,7 @@ snippet: " ...@@ -755,7 +747,7 @@ snippet: "
" "
frame size: 9 frame size: 9
parameter count: 2 parameter count: 2
bytecode array length: 142 bytecode array length: 140
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -800,11 +792,10 @@ bytecodes: [ ...@@ -800,11 +792,10 @@ bytecodes: [
B(Star), R(6), B(Star), R(6),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(6), B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(24), B(JumpIfTrue), U8(22),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(6), B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(15), B(JumpIfTrue), U8(13),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(8), B(Star), R(8),
B(Mov), R(5), R(7), B(Mov), R(5), R(7),
...@@ -833,7 +824,7 @@ snippet: " ...@@ -833,7 +824,7 @@ snippet: "
" "
frame size: 9 frame size: 9
parameter count: 2 parameter count: 2
bytecode array length: 142 bytecode array length: 140
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -878,11 +869,10 @@ bytecodes: [ ...@@ -878,11 +869,10 @@ bytecodes: [
B(Star), R(6), B(Star), R(6),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(6), B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(24), B(JumpIfTrue), U8(22),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(6), B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(15), B(JumpIfTrue), U8(13),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(8), B(Star), R(8),
B(Mov), R(5), R(7), B(Mov), R(5), R(7),
...@@ -912,7 +902,7 @@ snippet: " ...@@ -912,7 +902,7 @@ snippet: "
" "
frame size: 9 frame size: 9
parameter count: 2 parameter count: 2
bytecode array length: 180 bytecode array length: 178
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -961,11 +951,10 @@ bytecodes: [ ...@@ -961,11 +951,10 @@ bytecodes: [
B(Star), R(6), B(Star), R(6),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(6), B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(24), B(JumpIfTrue), U8(22),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(6), B(TestEqualStrictNoFeedback), R(6),
B(JumpIfTrue), U8(15), B(JumpIfTrue), U8(13),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(8), B(Star), R(8),
B(Mov), R(5), R(7), B(Mov), R(5), R(7),
......
...@@ -273,7 +273,7 @@ snippet: " ...@@ -273,7 +273,7 @@ snippet: "
" "
frame size: 15 frame size: 15
parameter count: 1 parameter count: 1
bytecode array length: 356 bytecode array length: 354
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -315,11 +315,10 @@ bytecodes: [ ...@@ -315,11 +315,10 @@ bytecodes: [
B(Star), R(12), B(Star), R(12),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(12), B(TestEqualStrictNoFeedback), R(12),
B(JumpIfTrue), U8(30), B(JumpIfTrue), U8(28),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(12), B(TestEqualStrictNoFeedback), R(12),
B(JumpIfTrue), U8(21), B(JumpIfTrue), U8(19),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(14), B(Star), R(14),
B(Mov), R(11), R(13), B(Mov), R(11), R(13),
...@@ -447,7 +446,7 @@ constant pool: [ ...@@ -447,7 +446,7 @@ constant pool: [
FIXED_ARRAY_TYPE, FIXED_ARRAY_TYPE,
] ]
handlers: [ handlers: [
[45, 298, 304], [45, 296, 302],
] ]
--- ---
...@@ -459,7 +458,7 @@ snippet: " ...@@ -459,7 +458,7 @@ snippet: "
" "
frame size: 14 frame size: 14
parameter count: 1 parameter count: 1
bytecode array length: 483 bytecode array length: 479
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(33), B(JumpIfUndefined), U8(33),
...@@ -472,7 +471,7 @@ bytecodes: [ ...@@ -472,7 +471,7 @@ bytecodes: [
B(JumpIfTrue), U8(59), B(JumpIfTrue), U8(59),
B(LdaSmi), I8(1), B(LdaSmi), I8(1),
B(TestEqualStrictNoFeedback), R(3), B(TestEqualStrictNoFeedback), R(3),
B(JumpIfTrue), U8(128), B(JumpIfTrue), U8(126),
B(LdaSmi), I8(79), B(LdaSmi), I8(79),
B(Star), R(5), B(Star), R(5),
B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1), B(CallRuntime), U16(Runtime::kAbort), R(5), U8(1),
...@@ -504,11 +503,10 @@ bytecodes: [ ...@@ -504,11 +503,10 @@ bytecodes: [
B(Star), R(11), B(Star), R(11),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(11), B(TestEqualStrictNoFeedback), R(11),
B(JumpIfTrue), U8(30), B(JumpIfTrue), U8(28),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(11), B(TestEqualStrictNoFeedback), R(11),
B(JumpIfTrue), U8(21), B(JumpIfTrue), U8(19),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(13), B(Star), R(13),
B(Mov), R(10), R(12), B(Mov), R(10), R(12),
...@@ -567,7 +565,7 @@ bytecodes: [ ...@@ -567,7 +565,7 @@ bytecodes: [
B(JumpIfFalse), U8(4), B(JumpIfFalse), U8(4),
B(Jump), U8(6), B(Jump), U8(6),
B(PopContext), R(2), B(PopContext), R(2),
B(Jump), U8(160), B(Jump), U8(158),
B(LdaSmi), I8(-2), B(LdaSmi), I8(-2),
B(TestEqualStrictNoFeedback), R(3), B(TestEqualStrictNoFeedback), R(3),
B(JumpIfTrue), U8(17), B(JumpIfTrue), U8(17),
...@@ -581,7 +579,7 @@ bytecodes: [ ...@@ -581,7 +579,7 @@ bytecodes: [
B(Star), R(8), B(Star), R(8),
B(LdaSmi), I8(1), B(LdaSmi), I8(1),
B(TestEqual), R(8), U8(5), B(TestEqual), R(8), U8(5),
B(JumpIfFalse), U8(104), B(JumpIfFalse), U8(102),
/* 18 E> */ B(StackCheck), /* 18 E> */ B(StackCheck),
/* 47 S> */ B(LdaCurrentContextSlot), U8(4), /* 47 S> */ B(LdaCurrentContextSlot), U8(4),
B(Star), R(8), B(Star), R(8),
...@@ -603,11 +601,10 @@ bytecodes: [ ...@@ -603,11 +601,10 @@ bytecodes: [
B(Star), R(11), B(Star), R(11),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(11), B(TestEqualStrictNoFeedback), R(11),
B(JumpIfTrue), U8(39), B(JumpIfTrue), U8(37),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(11), B(TestEqualStrictNoFeedback), R(11),
B(JumpIfTrue), U8(30), B(JumpIfTrue), U8(28),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(13), B(Star), R(13),
B(Mov), R(10), R(12), B(Mov), R(10), R(12),
...@@ -626,7 +623,7 @@ bytecodes: [ ...@@ -626,7 +623,7 @@ bytecodes: [
B(StaContextSlot), R(1), U8(8), U8(0), B(StaContextSlot), R(1), U8(8), U8(0),
B(LdaCurrentContextSlot), U8(4), B(LdaCurrentContextSlot), U8(4),
/* 54 E> */ B(StaContextSlot), R(1), U8(6), U8(0), /* 54 E> */ B(StaContextSlot), R(1), U8(6), U8(0),
B(JumpLoop), U8(133), I8(1), B(JumpLoop), U8(131), I8(1),
B(LdaContextSlot), R(1), U8(8), U8(0), B(LdaContextSlot), R(1), U8(8), U8(0),
B(Star), R(8), B(Star), R(8),
B(LdaSmi), I8(1), B(LdaSmi), I8(1),
...@@ -635,7 +632,7 @@ bytecodes: [ ...@@ -635,7 +632,7 @@ bytecodes: [
B(PopContext), R(2), B(PopContext), R(2),
B(Jump), U8(7), B(Jump), U8(7),
B(PopContext), R(2), B(PopContext), R(2),
B(JumpLoop), U8(241), I8(0), B(JumpLoop), U8(239), I8(0),
B(PopContext), R(1), B(PopContext), R(1),
B(LdaUndefined), B(LdaUndefined),
B(Star), R(8), B(Star), R(8),
...@@ -687,10 +684,10 @@ bytecodes: [ ...@@ -687,10 +684,10 @@ bytecodes: [
constant pool: [ constant pool: [
FIXED_ARRAY_TYPE, FIXED_ARRAY_TYPE,
FIXED_ARRAY_TYPE, FIXED_ARRAY_TYPE,
Smi [305], Smi [303],
] ]
handlers: [ handlers: [
[51, 416, 422], [51, 412, 418],
] ]
--- ---
...@@ -893,7 +890,7 @@ snippet: " ...@@ -893,7 +890,7 @@ snippet: "
" "
frame size: 15 frame size: 15
parameter count: 1 parameter count: 1
bytecode array length: 514 bytecode array length: 512
bytecodes: [ bytecodes: [
B(Ldar), R(new_target), B(Ldar), R(new_target),
B(JumpIfUndefined), U8(27), B(JumpIfUndefined), U8(27),
...@@ -973,7 +970,7 @@ bytecodes: [ ...@@ -973,7 +970,7 @@ bytecodes: [
B(JumpIfFalse), U8(4), B(JumpIfFalse), U8(4),
B(Jump), U8(6), B(Jump), U8(6),
B(PopContext), R(2), B(PopContext), R(2),
B(Jump), U8(188), B(Jump), U8(186),
B(LdaSmi), I8(-2), B(LdaSmi), I8(-2),
B(TestEqualStrictNoFeedback), R(3), B(TestEqualStrictNoFeedback), R(3),
B(JumpIfTrue), U8(16), B(JumpIfTrue), U8(16),
...@@ -987,7 +984,7 @@ bytecodes: [ ...@@ -987,7 +984,7 @@ bytecodes: [
B(Star), R(9), B(Star), R(9),
B(LdaSmi), I8(1), B(LdaSmi), I8(1),
B(TestEqual), R(9), U8(5), B(TestEqual), R(9), U8(5),
B(JumpIfFalse), U8(130), B(JumpIfFalse), U8(128),
/* 23 E> */ B(StackCheck), /* 23 E> */ B(StackCheck),
/* 58 S> */ B(LdaCurrentContextSlot), U8(4), /* 58 S> */ B(LdaCurrentContextSlot), U8(4),
B(StaContextSlot), R(1), U8(6), U8(0), B(StaContextSlot), R(1), U8(6), U8(0),
...@@ -1016,11 +1013,10 @@ bytecodes: [ ...@@ -1016,11 +1013,10 @@ bytecodes: [
B(Star), R(12), B(Star), R(12),
B(LdaZero), B(LdaZero),
B(TestEqualStrictNoFeedback), R(12), B(TestEqualStrictNoFeedback), R(12),
B(JumpIfTrue), U8(42), B(JumpIfTrue), U8(40),
B(LdaSmi), I8(2), B(LdaSmi), I8(2),
B(TestEqualStrictNoFeedback), R(12), B(TestEqualStrictNoFeedback), R(12),
B(JumpIfTrue), U8(33), B(JumpIfTrue), U8(31),
B(Jump), U8(2),
B(LdaTrue), B(LdaTrue),
B(Star), R(14), B(Star), R(14),
B(Mov), R(11), R(13), B(Mov), R(11), R(13),
...@@ -1041,7 +1037,7 @@ bytecodes: [ ...@@ -1041,7 +1037,7 @@ bytecodes: [
B(StaContextSlot), R(1), U8(10), U8(0), B(StaContextSlot), R(1), U8(10), U8(0),
B(LdaCurrentContextSlot), U8(4), B(LdaCurrentContextSlot), U8(4),
/* 59 E> */ B(StaContextSlot), R(1), U8(8), U8(0), /* 59 E> */ B(StaContextSlot), R(1), U8(8), U8(0),
B(JumpLoop), U8(158), I8(1), B(JumpLoop), U8(156), I8(1),
B(LdaContextSlot), R(1), U8(10), U8(0), B(LdaContextSlot), R(1), U8(10), U8(0),
B(Star), R(9), B(Star), R(9),
B(LdaSmi), I8(1), B(LdaSmi), I8(1),
...@@ -1050,7 +1046,7 @@ bytecodes: [ ...@@ -1050,7 +1046,7 @@ bytecodes: [
B(PopContext), R(2), B(PopContext), R(2),
B(Jump), U8(10), B(Jump), U8(10),
B(PopContext), R(2), B(PopContext), R(2),
B(Wide), B(JumpLoop), U16(266), I16(0), B(Wide), B(JumpLoop), U16(264), I16(0),
B(PopContext), R(1), B(PopContext), R(1),
B(LdaUndefined), B(LdaUndefined),
B(Star), R(9), B(Star), R(9),
...@@ -1136,7 +1132,7 @@ constant pool: [ ...@@ -1136,7 +1132,7 @@ constant pool: [
FIXED_ARRAY_TYPE, FIXED_ARRAY_TYPE,
] ]
handlers: [ handlers: [
[67, 445, 451], [67, 443, 449],
[70, 391, 393], [70, 389, 391],
] ]
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment