Commit e5df5bd0 authored by Leszek Swirski's avatar Leszek Swirski Committed by Commit Bot

[ignition] Always write the deferred command result register

For deferred commands (such as in try-finally), some deferred commands
save and restore the accumulator using a result register (e.g. return,
throw, rethrow), while others don't (e.g. break, continue,
fall-through).

However, conditionally reading this result register that may not ever be
written caused it to be considered live from the start of the function,
as far as the liveness analysis could statically tell.

Now, we write the result register for all deferred commands, including
the fall-through. As a micro-optimization, we re-use the Smi command
tokeen to clobber the result, rather than emitting an LdaUndefined.

Bug: chromium:758472
Change-Id: I2ea65e2249b40ee6403216e654a8bb88d50bec3b
Reviewed-on: https://chromium-review.googlesource.com/635592
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47612}
parent 6af8ca5e
......@@ -189,6 +189,13 @@ class BytecodeGenerator::ControlScope::DeferredCommands final {
}
builder()->LoadLiteral(Smi::FromInt(token));
builder()->StoreAccumulatorInRegister(token_register_);
if (!CommandUsesAccumulator(command)) {
// If we're not saving the accumulator in the result register, shove a
// harmless value there instead so that it is still considered "killed" in
// the liveness analysis. Normally we would LdaUndefined first, but the
// Smi token value is just as good, and by reusing it we save a bytecode.
builder()->StoreAccumulatorInRegister(result_register_);
}
}
// Records the dispatch token to be used to identify the re-throw path when
......@@ -204,6 +211,11 @@ class BytecodeGenerator::ControlScope::DeferredCommands final {
void RecordFallThroughPath() {
builder()->LoadLiteral(Smi::FromInt(-1));
builder()->StoreAccumulatorInRegister(token_register_);
// Since we're not saving the accumulator in the result register, shove a
// harmless value there instead so that it is still considered "killed" in
// the liveness analysis. Normally we would LdaUndefined first, but the Smi
// token value is just as good, and by reusing it we save a bytecode.
builder()->StoreAccumulatorInRegister(result_register_);
}
// Applies all recorded control-flow commands after the finally-block again.
......
......@@ -14,7 +14,7 @@ snippet: "
"
frame size: 9
parameter count: 1
bytecode array length: 235
bytecode array length: 237
bytecodes: [
B(Ldar), R(0),
B(JumpIfUndefined), U8(25),
......@@ -50,7 +50,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(2),
B(Mov), R(6), R(3),
B(Jump), U8(105),
B(Jump), U8(107),
B(LdaUndefined),
B(Star), R(7),
B(Mov), R(0), R(6),
......@@ -72,7 +72,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(2),
B(Mov), R(6), R(3),
B(Jump), U8(53),
B(Jump), U8(55),
B(Jump), U8(39),
B(Star), R(6),
B(Ldar), R(closure),
......@@ -90,8 +90,9 @@ bytecodes: [
B(Star), R(3),
B(LdaSmi), I8(1),
B(Star), R(2),
B(Jump), U8(14),
B(Jump), U8(16),
B(LdaSmi), I8(-1),
B(Star), R(3),
B(Star), R(2),
B(Jump), U8(8),
B(Star), R(3),
......@@ -131,7 +132,7 @@ constant pool: [
Smi [23],
]
handlers: [
[47, 182, 188],
[47, 182, 190],
[50, 143, 145],
]
......@@ -142,7 +143,7 @@ snippet: "
"
frame size: 9
parameter count: 1
bytecode array length: 288
bytecode array length: 290
bytecodes: [
B(Ldar), R(0),
B(JumpIfUndefined), U8(25),
......@@ -178,7 +179,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(2),
B(Mov), R(6), R(3),
B(Jump), U8(158),
B(Jump), U8(160),
/* 22 S> */ B(LdaSmi), I8(42),
B(Star), R(7),
B(LdaFalse),
......@@ -199,7 +200,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(2),
B(Mov), R(6), R(3),
B(Jump), U8(105),
B(Jump), U8(107),
B(LdaUndefined),
B(Star), R(7),
B(Mov), R(0), R(6),
......@@ -221,7 +222,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(2),
B(Mov), R(6), R(3),
B(Jump), U8(53),
B(Jump), U8(55),
B(Jump), U8(39),
B(Star), R(6),
B(Ldar), R(closure),
......@@ -239,8 +240,9 @@ bytecodes: [
B(Star), R(3),
B(LdaSmi), I8(1),
B(Star), R(2),
B(Jump), U8(14),
B(Jump), U8(16),
B(LdaSmi), I8(-1),
B(Star), R(3),
B(Star), R(2),
B(Jump), U8(8),
B(Star), R(3),
......@@ -283,7 +285,7 @@ constant pool: [
Smi [23],
]
handlers: [
[47, 235, 241],
[47, 235, 243],
[50, 196, 198],
]
......@@ -294,7 +296,7 @@ snippet: "
"
frame size: 22
parameter count: 1
bytecode array length: 581
bytecode array length: 585
bytecodes: [
B(Ldar), R(2),
B(JumpIfUndefined), U8(25),
......@@ -387,7 +389,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(15),
B(Mov), R(19), R(16),
B(Jump), U8(60),
B(Jump), U8(62),
B(LdaZero),
B(Star), R(6),
B(JumpLoop), U8(123), I8(0),
......@@ -410,6 +412,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(20), U8(1),
B(PopContext), R(19),
B(LdaSmi), I8(-1),
B(Star), R(16),
B(Star), R(15),
B(Jump), U8(8),
B(Star), R(16),
......@@ -470,7 +473,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(11),
B(Mov), R(16), R(12),
B(Jump), U8(108),
B(Jump), U8(110),
B(Ldar), R(16),
B(ReThrow),
B(LdaUndefined),
......@@ -494,7 +497,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(11),
B(Mov), R(15), R(12),
B(Jump), U8(53),
B(Jump), U8(55),
B(Jump), U8(39),
B(Star), R(15),
B(Ldar), R(closure),
......@@ -512,8 +515,9 @@ bytecodes: [
B(Star), R(12),
B(LdaSmi), I8(1),
B(Star), R(11),
B(Jump), U8(14),
B(Jump), U8(16),
B(LdaSmi), I8(-1),
B(Star), R(12),
B(Star), R(11),
B(Jump), U8(8),
B(Star), R(12),
......@@ -544,7 +548,7 @@ bytecodes: [
constant pool: [
Smi [44],
Smi [111],
Smi [439],
Smi [441],
Smi [15],
Smi [7],
TUPLE2_TYPE,
......@@ -563,17 +567,17 @@ constant pool: [
Smi [6],
Smi [14],
FIXED_ARRAY_TYPE,
Smi [451],
Smi [455],
Smi [6],
Smi [20],
Smi [23],
]
handlers: [
[47, 528, 534],
[50, 489, 491],
[97, 291, 297],
[47, 530, 538],
[50, 491, 493],
[97, 291, 299],
[100, 251, 253],
[358, 368, 370],
[360, 370, 372],
]
---
......@@ -584,7 +588,7 @@ snippet: "
"
frame size: 17
parameter count: 1
bytecode array length: 575
bytecode array length: 577
bytecodes: [
B(Ldar), R(0),
B(JumpIfUndefined), U8(25),
......@@ -746,7 +750,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(2),
B(Mov), R(8), R(3),
B(Jump), U8(105),
B(Jump), U8(107),
B(LdaUndefined),
B(Star), R(7),
B(Mov), R(0), R(6),
......@@ -768,7 +772,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(2),
B(Mov), R(6), R(3),
B(Jump), U8(53),
B(Jump), U8(55),
B(Jump), U8(39),
B(Star), R(6),
B(Ldar), R(closure),
......@@ -786,8 +790,9 @@ bytecodes: [
B(Star), R(3),
B(LdaSmi), I8(1),
B(Star), R(2),
B(Jump), U8(14),
B(Jump), U8(16),
B(LdaSmi), I8(-1),
B(Star), R(3),
B(Star), R(2),
B(Jump), U8(8),
B(Star), R(3),
......@@ -838,14 +843,14 @@ constant pool: [
ONE_BYTE_INTERNALIZED_STRING_TYPE ["value"],
ONE_BYTE_INTERNALIZED_STRING_TYPE [".catch"],
FIXED_ARRAY_TYPE,
Smi [445],
Smi [325],
Smi [447],
Smi [327],
Smi [6],
Smi [20],
Smi [23],
]
handlers: [
[47, 522, 528],
[47, 522, 530],
[50, 483, 485],
]
......@@ -16,7 +16,7 @@ snippet: "
"
frame size: 23
parameter count: 1
bytecode array length: 614
bytecode array length: 618
bytecodes: [
B(Ldar), R(2),
B(JumpIfUndefined), U8(25),
......@@ -125,6 +125,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(21), U8(1),
B(PopContext), R(20),
B(LdaSmi), I8(-1),
B(Star), R(17),
B(Star), R(16),
B(Jump), U8(7),
B(Star), R(17),
......@@ -230,7 +231,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(12),
B(Mov), R(10), R(13),
B(Jump), U8(59),
B(Jump), U8(61),
B(Jump), U8(45),
B(Star), R(16),
B(Ldar), R(closure),
......@@ -252,8 +253,9 @@ bytecodes: [
B(LdaZero),
B(Star), R(12),
B(Mov), R(10), R(13),
B(Jump), U8(14),
B(Jump), U8(16),
B(LdaSmi), I8(-1),
B(Star), R(13),
B(Star), R(12),
B(Jump), U8(8),
B(Star), R(13),
......@@ -280,8 +282,8 @@ bytecodes: [
]
constant pool: [
Smi [99],
Smi [354],
Smi [434],
Smi [356],
Smi [436],
TUPLE2_TYPE,
SYMBOL_TYPE,
SYMBOL_TYPE,
......@@ -299,11 +301,11 @@ constant pool: [
Smi [9],
]
handlers: [
[56, 569, 575],
[59, 524, 526],
[65, 274, 280],
[56, 571, 579],
[59, 526, 528],
[65, 274, 282],
[68, 234, 236],
[340, 398, 400],
[342, 400, 402],
]
---
......@@ -315,7 +317,7 @@ snippet: "
"
frame size: 23
parameter count: 1
bytecode array length: 646
bytecode array length: 650
bytecodes: [
B(Ldar), R(2),
B(JumpIfUndefined), U8(25),
......@@ -405,7 +407,7 @@ bytecodes: [
/* 56 S> */ B(LdaZero),
B(Star), R(16),
B(Mov), R(7), R(17),
B(Jump), U8(54),
B(Jump), U8(56),
B(Jump), U8(40),
B(Star), R(20),
B(Ldar), R(closure),
......@@ -425,6 +427,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(21), U8(1),
B(PopContext), R(20),
B(LdaSmi), I8(-1),
B(Star), R(17),
B(Star), R(16),
B(Jump), U8(8),
B(Star), R(17),
......@@ -522,7 +525,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(12),
B(Mov), R(17), R(13),
B(Jump), U8(85),
B(Jump), U8(87),
B(Ldar), R(17),
B(ReThrow),
B(LdaUndefined),
......@@ -534,7 +537,7 @@ bytecodes: [
B(LdaSmi), I8(1),
B(Star), R(12),
B(Mov), R(10), R(13),
B(Jump), U8(60),
B(Jump), U8(62),
B(Jump), U8(46),
B(Star), R(16),
B(Ldar), R(closure),
......@@ -556,8 +559,9 @@ bytecodes: [
B(LdaSmi), I8(1),
B(Star), R(12),
B(Mov), R(10), R(13),
B(Jump), U8(14),
B(Jump), U8(16),
B(LdaSmi), I8(-1),
B(Star), R(13),
B(Star), R(12),
B(Jump), U8(8),
B(Star), R(13),
......@@ -591,8 +595,8 @@ bytecodes: [
]
constant pool: [
Smi [99],
Smi [357],
Smi [437],
Smi [359],
Smi [439],
TUPLE2_TYPE,
SYMBOL_TYPE,
SYMBOL_TYPE,
......@@ -613,11 +617,11 @@ constant pool: [
Smi [25],
]
handlers: [
[56, 585, 591],
[59, 539, 541],
[65, 276, 282],
[56, 587, 595],
[59, 541, 543],
[65, 276, 284],
[68, 236, 238],
[343, 401, 403],
[345, 403, 405],
]
---
......@@ -632,7 +636,7 @@ snippet: "
"
frame size: 23
parameter count: 1
bytecode array length: 632
bytecode array length: 636
bytecodes: [
B(Ldar), R(2),
B(JumpIfUndefined), U8(25),
......@@ -749,6 +753,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(21), U8(1),
B(PopContext), R(20),
B(LdaSmi), I8(-1),
B(Star), R(17),
B(Star), R(16),
B(Jump), U8(7),
B(Star), R(17),
......@@ -854,7 +859,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(12),
B(Mov), R(10), R(13),
B(Jump), U8(59),
B(Jump), U8(61),
B(Jump), U8(45),
B(Star), R(16),
B(Ldar), R(closure),
......@@ -876,8 +881,9 @@ bytecodes: [
B(LdaZero),
B(Star), R(12),
B(Mov), R(10), R(13),
B(Jump), U8(14),
B(Jump), U8(16),
B(LdaSmi), I8(-1),
B(Star), R(13),
B(Star), R(12),
B(Jump), U8(8),
B(Star), R(13),
......@@ -904,8 +910,8 @@ bytecodes: [
]
constant pool: [
Smi [99],
Smi [372],
Smi [452],
Smi [374],
Smi [454],
TUPLE2_TYPE,
SYMBOL_TYPE,
SYMBOL_TYPE,
......@@ -923,11 +929,11 @@ constant pool: [
Smi [9],
]
handlers: [
[56, 587, 593],
[59, 542, 544],
[65, 292, 298],
[56, 589, 597],
[59, 544, 546],
[65, 292, 300],
[68, 252, 254],
[358, 416, 418],
[360, 418, 420],
]
---
......@@ -940,7 +946,7 @@ snippet: "
"
frame size: 19
parameter count: 1
bytecode array length: 431
bytecode array length: 435
bytecodes: [
/* 16 E> */ B(StackCheck),
B(LdaUndefined),
......@@ -984,7 +990,7 @@ bytecodes: [
B(Star), R(14),
B(LdaZero),
B(Star), R(13),
B(Jump), U8(54),
B(Jump), U8(56),
B(Jump), U8(40),
B(Star), R(17),
B(Ldar), R(closure),
......@@ -1004,6 +1010,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(18), U8(1),
B(PopContext), R(17),
B(LdaSmi), I8(-1),
B(Star), R(14),
B(Star), R(13),
B(Jump), U8(8),
B(Star), R(14),
......@@ -1064,7 +1071,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(9),
B(Mov), R(14), R(10),
B(Jump), U8(85),
B(Jump), U8(87),
B(Ldar), R(14),
B(ReThrow),
B(LdaUndefined),
......@@ -1076,7 +1083,7 @@ bytecodes: [
B(LdaSmi), I8(1),
B(Star), R(9),
B(Mov), R(8), R(10),
B(Jump), U8(60),
B(Jump), U8(62),
B(Jump), U8(46),
B(Star), R(13),
B(Ldar), R(closure),
......@@ -1098,8 +1105,9 @@ bytecodes: [
B(LdaSmi), I8(1),
B(Star), R(9),
B(Mov), R(8), R(10),
B(Jump), U8(14),
B(Jump), U8(16),
B(LdaSmi), I8(-1),
B(Star), R(10),
B(Star), R(9),
B(Jump), U8(8),
B(Star), R(10),
......@@ -1152,10 +1160,10 @@ constant pool: [
Smi [25],
]
handlers: [
[13, 370, 376],
[16, 324, 326],
[30, 156, 162],
[13, 372, 380],
[16, 326, 328],
[30, 156, 164],
[33, 116, 118],
[223, 233, 235],
[225, 235, 237],
]
......@@ -11,7 +11,7 @@ snippet: "
"
frame size: 14
parameter count: 1
bytecode array length: 260
bytecode array length: 262
bytecodes: [
/* 30 E> */ B(StackCheck),
B(LdaZero),
......@@ -62,6 +62,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
B(PopContext), R(12),
B(LdaSmi), I8(-1),
B(Star), R(9),
B(Star), R(8),
B(Jump), U8(7),
B(Star), R(9),
......@@ -137,9 +138,9 @@ constant pool: [
FIXED_ARRAY_TYPE,
]
handlers: [
[7, 124, 130],
[7, 124, 132],
[10, 88, 90],
[190, 200, 202],
[192, 202, 204],
]
---
......@@ -149,7 +150,7 @@ snippet: "
"
frame size: 15
parameter count: 1
bytecode array length: 270
bytecode array length: 272
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaConstant), U8(0),
......@@ -185,7 +186,7 @@ bytecodes: [
/* 73 S> */ B(LdaZero),
B(Star), R(9),
B(Mov), R(6), R(10),
B(Jump), U8(50),
B(Jump), U8(52),
B(Jump), U8(36),
B(Star), R(13),
B(Ldar), R(closure),
......@@ -202,6 +203,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(14), U8(1),
B(PopContext), R(13),
B(LdaSmi), I8(-1),
B(Star), R(10),
B(Star), R(9),
B(Jump), U8(8),
B(Star), R(10),
......@@ -281,9 +283,9 @@ constant pool: [
Smi [9],
]
handlers: [
[11, 127, 133],
[11, 127, 135],
[14, 91, 93],
[194, 204, 206],
[196, 206, 208],
]
---
......@@ -295,7 +297,7 @@ snippet: "
"
frame size: 14
parameter count: 1
bytecode array length: 278
bytecode array length: 280
bytecodes: [
/* 30 E> */ B(StackCheck),
B(LdaZero),
......@@ -354,6 +356,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
B(PopContext), R(12),
B(LdaSmi), I8(-1),
B(Star), R(9),
B(Star), R(8),
B(Jump), U8(7),
B(Star), R(9),
......@@ -429,9 +432,9 @@ constant pool: [
FIXED_ARRAY_TYPE,
]
handlers: [
[7, 142, 148],
[7, 142, 150],
[10, 106, 108],
[208, 218, 220],
[210, 220, 222],
]
---
......@@ -441,7 +444,7 @@ snippet: "
"
frame size: 13
parameter count: 1
bytecode array length: 280
bytecode array length: 282
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(41), R(7),
......@@ -479,7 +482,7 @@ bytecodes: [
B(Star), R(8),
B(LdaZero),
B(Star), R(7),
B(Jump), U8(50),
B(Jump), U8(52),
B(Jump), U8(36),
B(Star), R(11),
B(Ldar), R(closure),
......@@ -496,6 +499,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1),
B(PopContext), R(11),
B(LdaSmi), I8(-1),
B(Star), R(8),
B(Star), R(7),
B(Jump), U8(8),
B(Star), R(8),
......@@ -577,8 +581,8 @@ constant pool: [
Smi [9],
]
handlers: [
[15, 137, 143],
[15, 137, 145],
[18, 101, 103],
[204, 214, 216],
[206, 216, 218],
]
......@@ -15,7 +15,7 @@ snippet: "
"
frame size: 16
parameter count: 2
bytecode array length: 260
bytecode array length: 262
bytecodes: [
/* 10 E> */ B(StackCheck),
B(LdaZero),
......@@ -66,6 +66,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(15), U8(1),
B(PopContext), R(14),
B(LdaSmi), I8(-1),
B(Star), R(11),
B(Star), R(10),
B(Jump), U8(7),
B(Star), R(11),
......@@ -140,9 +141,9 @@ constant pool: [
FIXED_ARRAY_TYPE,
]
handlers: [
[7, 124, 130],
[7, 124, 132],
[10, 88, 90],
[190, 200, 202],
[192, 202, 204],
]
---
......@@ -154,7 +155,7 @@ snippet: "
"
frame size: 23
parameter count: 2
bytecode array length: 343
bytecode array length: 345
bytecodes: [
B(CreateFunctionContext), U8(4),
B(PushContext), R(8),
......@@ -243,6 +244,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(15), U8(1),
B(PopContext), R(14),
B(LdaSmi), I8(-1),
B(Star), R(11),
B(Star), R(10),
B(Jump), U8(7),
B(Star), R(11),
......@@ -322,9 +324,9 @@ constant pool: [
FIXED_ARRAY_TYPE,
]
handlers: [
[35, 205, 211],
[35, 205, 213],
[38, 169, 171],
[271, 281, 283],
[273, 283, 285],
]
---
......@@ -336,7 +338,7 @@ snippet: "
"
frame size: 14
parameter count: 2
bytecode array length: 278
bytecode array length: 280
bytecodes: [
/* 10 E> */ B(StackCheck),
B(LdaZero),
......@@ -396,6 +398,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
B(PopContext), R(12),
B(LdaSmi), I8(-1),
B(Star), R(9),
B(Star), R(8),
B(Jump), U8(7),
B(Star), R(9),
......@@ -472,9 +475,9 @@ constant pool: [
FIXED_ARRAY_TYPE,
]
handlers: [
[7, 142, 148],
[7, 142, 150],
[10, 106, 108],
[208, 218, 220],
[210, 220, 222],
]
---
......@@ -486,7 +489,7 @@ snippet: "
"
frame size: 19
parameter count: 2
bytecode array length: 298
bytecode array length: 300
bytecodes: [
/* 10 E> */ B(StackCheck),
B(LdaZero),
......@@ -553,6 +556,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(18), U8(1),
B(PopContext), R(17),
B(LdaSmi), I8(-1),
B(Star), R(14),
B(Star), R(13),
B(Jump), U8(7),
B(Star), R(14),
......@@ -629,9 +633,9 @@ constant pool: [
FIXED_ARRAY_TYPE,
]
handlers: [
[7, 162, 168],
[7, 162, 170],
[10, 126, 128],
[228, 238, 240],
[230, 240, 242],
]
---
......@@ -643,7 +647,7 @@ snippet: "
"
frame size: 19
parameter count: 2
bytecode array length: 346
bytecode array length: 348
bytecodes: [
B(Ldar), R(3),
B(JumpIfUndefined), U8(25),
......@@ -728,6 +732,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(18), U8(1),
B(PopContext), R(17),
B(LdaSmi), I8(-1),
B(Star), R(14),
B(Star), R(13),
B(Jump), U8(7),
B(Star), R(14),
......@@ -805,9 +810,9 @@ constant pool: [
FIXED_ARRAY_TYPE,
]
handlers: [
[92, 210, 216],
[92, 210, 218],
[95, 174, 176],
[276, 286, 288],
[278, 288, 290],
]
---
......@@ -819,7 +824,7 @@ snippet: "
"
frame size: 18
parameter count: 2
bytecode array length: 420
bytecode array length: 422
bytecodes: [
B(Ldar), R(2),
B(JumpIfUndefined), U8(25),
......@@ -910,7 +915,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(12),
B(Mov), R(16), R(13),
B(Jump), U8(56),
B(Jump), U8(58),
B(LdaZero),
B(Star), R(6),
B(JumpLoop), U8(120), I8(0),
......@@ -930,6 +935,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(17), U8(1),
B(PopContext), R(16),
B(LdaSmi), I8(-1),
B(Star), R(13),
B(Star), R(12),
B(Jump), U8(8),
B(Star), R(13),
......@@ -1015,9 +1021,9 @@ constant pool: [
Smi [9],
]
handlers: [
[92, 277, 283],
[92, 277, 285],
[95, 241, 243],
[344, 354, 356],
[346, 356, 358],
]
---
......@@ -1029,7 +1035,7 @@ snippet: "
"
frame size: 23
parameter count: 2
bytecode array length: 397
bytecode array length: 401
bytecodes: [
B(CreateFunctionContext), U8(1),
B(PushContext), R(12),
......@@ -1094,6 +1100,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(22), U8(1),
B(PopContext), R(21),
B(LdaSmi), I8(-1),
B(Star), R(18),
B(Star), R(17),
B(Jump), U8(7),
B(Star), R(18),
......@@ -1162,7 +1169,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(13),
B(Mov), R(11), R(14),
B(Jump), U8(59),
B(Jump), U8(61),
B(Jump), U8(45),
B(Star), R(17),
B(Ldar), R(closure),
......@@ -1184,8 +1191,9 @@ bytecodes: [
B(LdaZero),
B(Star), R(13),
B(Mov), R(11), R(14),
B(Jump), U8(14),
B(Jump), U8(16),
B(LdaSmi), I8(-1),
B(Star), R(14),
B(Star), R(13),
B(Jump), U8(8),
B(Star), R(14),
......@@ -1225,11 +1233,11 @@ constant pool: [
Smi [9],
]
handlers: [
[21, 352, 358],
[24, 307, 309],
[30, 152, 158],
[21, 354, 362],
[24, 309, 311],
[30, 152, 160],
[33, 112, 114],
[218, 228, 230],
[220, 230, 232],
]
---
......@@ -1241,7 +1249,7 @@ snippet: "
"
frame size: 24
parameter count: 2
bytecode array length: 505
bytecode array length: 509
bytecodes: [
B(Ldar), R(2),
B(JumpIfUndefined), U8(25),
......@@ -1347,6 +1355,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(22), U8(1),
B(PopContext), R(21),
B(LdaSmi), I8(-1),
B(Star), R(18),
B(Star), R(17),
B(Jump), U8(7),
B(Star), R(18),
......@@ -1415,7 +1424,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(13),
B(Mov), R(10), R(14),
B(Jump), U8(59),
B(Jump), U8(61),
B(Jump), U8(45),
B(Star), R(17),
B(Ldar), R(closure),
......@@ -1437,8 +1446,9 @@ bytecodes: [
B(LdaZero),
B(Star), R(13),
B(Mov), R(10), R(14),
B(Jump), U8(14),
B(Jump), U8(16),
B(LdaSmi), I8(-1),
B(Star), R(14),
B(Star), R(13),
B(Jump), U8(8),
B(Star), R(14),
......@@ -1480,10 +1490,10 @@ constant pool: [
Smi [9],
]
handlers: [
[64, 460, 466],
[67, 415, 417],
[73, 260, 266],
[64, 462, 470],
[67, 417, 419],
[73, 260, 268],
[76, 220, 222],
[326, 336, 338],
[328, 338, 340],
]
......@@ -134,7 +134,7 @@ snippet: "
"
frame size: 17
parameter count: 1
bytecode array length: 414
bytecode array length: 416
bytecodes: [
B(Ldar), R(2),
B(JumpIfUndefined), U8(25),
......@@ -221,7 +221,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(11),
B(Mov), R(15), R(12),
B(Jump), U8(56),
B(Jump), U8(58),
B(LdaZero),
B(Star), R(6),
B(JumpLoop), U8(120), I8(0),
......@@ -241,6 +241,7 @@ bytecodes: [
B(CallRuntime), U16(Runtime::kReThrow), R(16), U8(1),
B(PopContext), R(15),
B(LdaSmi), I8(-1),
B(Star), R(12),
B(Star), R(11),
B(Jump), U8(8),
B(Star), R(12),
......@@ -327,9 +328,9 @@ constant pool: [
Smi [9],
]
handlers: [
[84, 271, 277],
[84, 271, 279],
[87, 235, 237],
[338, 348, 350],
[340, 350, 352],
]
---
......
......@@ -426,7 +426,7 @@ snippet: "
"
frame size: 13
parameter count: 1
bytecode array length: 150
bytecode array length: 152
bytecodes: [
/* 16 E> */ B(StackCheck),
B(LdaUndefined),
......@@ -455,7 +455,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(4),
B(Mov), R(3), R(5),
B(Jump), U8(59),
B(Jump), U8(61),
B(Jump), U8(45),
B(Star), R(8),
B(Ldar), R(closure),
......@@ -477,8 +477,9 @@ bytecodes: [
B(LdaZero),
B(Star), R(4),
B(Mov), R(3), R(5),
B(Jump), U8(14),
B(Jump), U8(16),
B(LdaSmi), I8(-1),
B(Star), R(5),
B(Star), R(4),
B(Jump), U8(8),
B(Star), R(5),
......@@ -510,7 +511,7 @@ constant pool: [
Smi [9],
]
handlers: [
[13, 105, 111],
[13, 105, 113],
[16, 60, 62],
]
......@@ -523,7 +524,7 @@ snippet: "
"
frame size: 13
parameter count: 1
bytecode array length: 258
bytecode array length: 260
bytecodes: [
B(Ldar), R(1),
B(JumpIfUndefined), U8(25),
......@@ -593,7 +594,7 @@ bytecodes: [
B(LdaZero),
B(Star), R(4),
B(Mov), R(2), R(5),
B(Jump), U8(59),
B(Jump), U8(61),
B(Jump), U8(45),
B(Star), R(8),
B(Ldar), R(closure),
......@@ -615,8 +616,9 @@ bytecodes: [
B(LdaZero),
B(Star), R(4),
B(Mov), R(2), R(5),
B(Jump), U8(14),
B(Jump), U8(16),
B(LdaSmi), I8(-1),
B(Star), R(5),
B(Star), R(4),
B(Jump), U8(8),
B(Star), R(5),
......@@ -650,7 +652,7 @@ constant pool: [
Smi [9],
]
handlers: [
[56, 213, 219],
[56, 213, 221],
[59, 168, 170],
]
......@@ -12,7 +12,7 @@ snippet: "
"
frame size: 4
parameter count: 1
bytecode array length: 44
bytecode array length: 46
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
......@@ -21,6 +21,7 @@ bytecodes: [
/* 51 S> */ B(LdaSmi), I8(2),
B(Star), R(0),
B(LdaSmi), I8(-1),
B(Star), R(2),
B(Star), R(1),
B(Jump), U8(7),
B(Star), R(2),
......@@ -44,7 +45,7 @@ bytecodes: [
constant pool: [
]
handlers: [
[8, 12, 18],
[8, 12, 20],
]
---
......@@ -54,7 +55,7 @@ snippet: "
"
frame size: 6
parameter count: 1
bytecode array length: 71
bytecode array length: 73
bytecodes: [
/* 30 E> */ B(StackCheck),
/* 42 S> */ B(LdaSmi), I8(1),
......@@ -76,6 +77,7 @@ bytecodes: [
B(Star), R(0),
B(PopContext), R(5),
B(LdaSmi), I8(-1),
B(Star), R(2),
B(Star), R(1),
B(Jump), U8(7),
B(Star), R(2),
......@@ -101,7 +103,7 @@ constant pool: [
FIXED_ARRAY_TYPE,
]
handlers: [
[8, 39, 45],
[8, 39, 47],
[11, 15, 17],
]
......@@ -113,7 +115,7 @@ snippet: "
"
frame size: 7
parameter count: 1
bytecode array length: 94
bytecode array length: 96
bytecodes: [
/* 30 E> */ B(StackCheck),
B(Mov), R(context), R(3),
......@@ -146,6 +148,7 @@ bytecodes: [
B(Star), R(0),
B(PopContext), R(5),
B(LdaSmi), I8(-1),
B(Star), R(2),
B(Star), R(1),
B(Jump), U8(7),
B(Star), R(2),
......@@ -172,7 +175,7 @@ constant pool: [
FIXED_ARRAY_TYPE,
]
handlers: [
[4, 62, 68],
[4, 62, 70],
[7, 38, 40],
[10, 14, 16],
]
......
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