Home | History | Annotate | Download | only in bytecode_expectations
      1 #
      2 # Autogenerated by generate-bytecode-expectations.
      3 #
      4 
      5 ---
      6 pool type: mixed
      7 execute: yes
      8 wrap: yes
      9 
     10 ---
     11 snippet: "
     12   for (var p of [0, 1, 2]) {}
     13 "
     14 frame size: 16
     15 parameter count: 1
     16 bytecode array length: 284
     17 bytecodes: [
     18   /*   30 E> */ B(StackCheck),
     19                 B(LdrUndefined), R(4),
     20                 B(LdaZero),
     21                 B(Star), R(3),
     22                 B(Mov), R(context), R(11),
     23                 B(Mov), R(context), R(12),
     24   /*   48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
     25                 B(Star), R(14),
     26                 B(LdaConstant), U8(1),
     27   /*   48 E> */ B(LdrKeyedProperty), R(14), U8(3), R(13),
     28   /*   48 E> */ B(Call), R(13), R(14), U8(1), U8(1),
     29                 B(Star), R(1),
     30   /*   45 S> */ B(LdrNamedProperty), R(1), U8(2), U8(7), R(14),
     31   /*   45 E> */ B(Call), R(14), R(1), U8(1), U8(5),
     32                 B(Star), R(2),
     33   /*   45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(2), U8(1),
     34                 B(ToBooleanLogicalNot),
     35                 B(JumpIfFalse), U8(7),
     36                 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(2), U8(1),
     37                 B(LdaNamedProperty), R(2), U8(3), U8(9),
     38                 B(JumpIfToBooleanTrue), U8(22),
     39                 B(LdaSmi), U8(2),
     40                 B(Star), R(3),
     41                 B(LdrNamedProperty), R(2), U8(4), U8(11), R(0),
     42                 B(Ldar), R(0),
     43   /*   34 E> */ B(StackCheck),
     44                 B(Mov), R(0), R(7),
     45                 B(LdaZero),
     46                 B(Star), R(3),
     47                 B(Jump), U8(-48),
     48                 B(Jump), U8(41),
     49                 B(Star), R(14),
     50                 B(LdaConstant), U8(5),
     51                 B(Star), R(13),
     52                 B(Mov), R(closure), R(15),
     53                 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
     54                 B(Star), R(12),
     55                 B(PushContext), R(8),
     56                 B(LdaSmi), U8(2),
     57                 B(TestEqualStrict), R(3),
     58                 B(JumpIfFalse), U8(6),
     59                 B(LdaSmi), U8(1),
     60                 B(Star), R(3),
     61                 B(LdrContextSlot), R(context), U8(4), R(13),
     62                 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
     63                 B(PopContext), R(8),
     64                 B(LdaSmi), U8(-1),
     65                 B(Star), R(9),
     66                 B(Jump), U8(7),
     67                 B(Star), R(10),
     68                 B(LdaZero),
     69                 B(Star), R(9),
     70                 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
     71                 B(Star), R(11),
     72                 B(LdaZero),
     73                 B(TestEqualStrict), R(3),
     74                 B(JumpIfTrue), U8(5),
     75                 B(LdaUndefined),
     76                 B(TestEqualStrict), R(1),
     77                 B(ToBooleanLogicalNot),
     78                 B(JumpIfFalse), U8(118),
     79                 B(LdrNamedProperty), R(1), U8(6), U8(13), R(5),
     80                 B(LdaNull),
     81                 B(TestEqual), R(5),
     82                 B(JumpIfFalse), U8(4),
     83                 B(Jump), U8(106),
     84                 B(LdaSmi), U8(1),
     85                 B(TestEqualStrict), R(3),
     86                 B(JumpIfFalse), U8(75),
     87                 B(Ldar), R(5),
     88                 B(TypeOf),
     89                 B(Star), R(12),
     90                 B(LdaConstant), U8(7),
     91                 B(TestEqualStrict), R(12),
     92                 B(JumpIfFalse), U8(4),
     93                 B(Jump), U8(18),
     94                 B(Wide), B(LdaSmi), U16(128),
     95                 B(Star), R(12),
     96                 B(LdaConstant), U8(8),
     97                 B(Star), R(13),
     98                 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
     99                 B(Throw),
    100                 B(Mov), R(context), R(12),
    101                 B(Mov), R(5), R(13),
    102                 B(Mov), R(1), R(14),
    103                 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2),
    104                 B(Jump), U8(29),
    105                 B(Star), R(14),
    106                 B(LdaConstant), U8(5),
    107                 B(Star), R(13),
    108                 B(Mov), R(closure), R(15),
    109                 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
    110                 B(Star), R(12),
    111                 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
    112                 B(Ldar), R(12),
    113                 B(PushContext), R(8),
    114                 B(PopContext), R(8),
    115                 B(Jump), U8(27),
    116                 B(Mov), R(5), R(12),
    117                 B(Mov), R(1), R(13),
    118                 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
    119                 B(Star), R(6),
    120                 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(6), U8(1),
    121                 B(JumpIfToBooleanFalse), U8(4),
    122                 B(Jump), U8(7),
    123                 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(6), U8(1),
    124                 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(11), U8(1),
    125                 B(LdaZero),
    126                 B(TestEqualStrict), R(9),
    127                 B(JumpIfTrue), U8(4),
    128                 B(Jump), U8(5),
    129                 B(Ldar), R(10),
    130                 B(ReThrow),
    131                 B(LdaUndefined),
    132   /*   62 S> */ B(Return),
    133 ]
    134 constant pool: [
    135   InstanceType::FIXED_ARRAY_TYPE,
    136   InstanceType::SYMBOL_TYPE,
    137   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    138   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    139   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    140   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    141   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    142   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    143   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    144 ]
    145 handlers: [
    146   [9, 122, 128],
    147   [12, 81, 83],
    148   [201, 211, 213],
    149 ]
    150 
    151 ---
    152 snippet: "
    153   var x = 'potatoes';
    154   for (var p of x) { return p; }
    155 "
    156 frame size: 17
    157 parameter count: 1
    158 bytecode array length: 297
    159 bytecodes: [
    160   /*   30 E> */ B(StackCheck),
    161   /*   42 S> */ B(LdaConstant), U8(0),
    162                 B(Star), R(7),
    163                 B(LdrUndefined), R(4),
    164                 B(LdaZero),
    165                 B(Star), R(3),
    166                 B(Mov), R(context), R(12),
    167                 B(Mov), R(context), R(13),
    168   /*   68 S> */ B(LdaConstant), U8(1),
    169   /*   68 E> */ B(LdrKeyedProperty), R(7), U8(3), R(14),
    170   /*   68 E> */ B(Call), R(14), R(7), U8(1), U8(1),
    171                 B(Star), R(1),
    172   /*   65 S> */ B(LdrNamedProperty), R(1), U8(2), U8(7), R(15),
    173   /*   65 E> */ B(Call), R(15), R(1), U8(1), U8(5),
    174                 B(Star), R(2),
    175   /*   65 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(2), U8(1),
    176                 B(ToBooleanLogicalNot),
    177                 B(JumpIfFalse), U8(7),
    178                 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(2), U8(1),
    179                 B(LdaNamedProperty), R(2), U8(3), U8(9),
    180                 B(JumpIfToBooleanTrue), U8(27),
    181                 B(LdaSmi), U8(2),
    182                 B(Star), R(3),
    183                 B(LdrNamedProperty), R(2), U8(4), U8(11), R(0),
    184                 B(Ldar), R(0),
    185   /*   54 E> */ B(StackCheck),
    186                 B(Mov), R(0), R(8),
    187   /*   73 S> */ B(LdaZero),
    188                 B(Star), R(10),
    189                 B(Mov), R(0), R(11),
    190                 B(Jump), U8(57),
    191                 B(Jump), U8(-53),
    192                 B(Jump), U8(41),
    193                 B(Star), R(15),
    194                 B(LdaConstant), U8(5),
    195                 B(Star), R(14),
    196                 B(Mov), R(closure), R(16),
    197                 B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3),
    198                 B(Star), R(13),
    199                 B(PushContext), R(9),
    200                 B(LdaSmi), U8(2),
    201                 B(TestEqualStrict), R(3),
    202                 B(JumpIfFalse), U8(6),
    203                 B(LdaSmi), U8(1),
    204                 B(Star), R(3),
    205                 B(LdrContextSlot), R(context), U8(4), R(14),
    206                 B(CallRuntime), U16(Runtime::kReThrow), R(14), U8(1),
    207                 B(PopContext), R(9),
    208                 B(LdaSmi), U8(-1),
    209                 B(Star), R(10),
    210                 B(Jump), U8(8),
    211                 B(Star), R(11),
    212                 B(LdaSmi), U8(1),
    213                 B(Star), R(10),
    214                 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
    215                 B(Star), R(12),
    216                 B(LdaZero),
    217                 B(TestEqualStrict), R(3),
    218                 B(JumpIfTrue), U8(5),
    219                 B(LdaUndefined),
    220                 B(TestEqualStrict), R(1),
    221                 B(ToBooleanLogicalNot),
    222                 B(JumpIfFalse), U8(118),
    223                 B(LdrNamedProperty), R(1), U8(6), U8(13), R(5),
    224                 B(LdaNull),
    225                 B(TestEqual), R(5),
    226                 B(JumpIfFalse), U8(4),
    227                 B(Jump), U8(106),
    228                 B(LdaSmi), U8(1),
    229                 B(TestEqualStrict), R(3),
    230                 B(JumpIfFalse), U8(75),
    231                 B(Ldar), R(5),
    232                 B(TypeOf),
    233                 B(Star), R(13),
    234                 B(LdaConstant), U8(7),
    235                 B(TestEqualStrict), R(13),
    236                 B(JumpIfFalse), U8(4),
    237                 B(Jump), U8(18),
    238                 B(Wide), B(LdaSmi), U16(128),
    239                 B(Star), R(13),
    240                 B(LdaConstant), U8(8),
    241                 B(Star), R(14),
    242                 B(CallRuntime), U16(Runtime::kNewTypeError), R(13), U8(2),
    243                 B(Throw),
    244                 B(Mov), R(context), R(13),
    245                 B(Mov), R(5), R(14),
    246                 B(Mov), R(1), R(15),
    247                 B(InvokeIntrinsic), U8(Runtime::k_Call), R(14), U8(2),
    248                 B(Jump), U8(29),
    249                 B(Star), R(15),
    250                 B(LdaConstant), U8(5),
    251                 B(Star), R(14),
    252                 B(Mov), R(closure), R(16),
    253                 B(CallRuntime), U16(Runtime::kPushCatchContext), R(14), U8(3),
    254                 B(Star), R(13),
    255                 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
    256                 B(Ldar), R(13),
    257                 B(PushContext), R(9),
    258                 B(PopContext), R(9),
    259                 B(Jump), U8(27),
    260                 B(Mov), R(5), R(13),
    261                 B(Mov), R(1), R(14),
    262                 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2),
    263                 B(Star), R(6),
    264                 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(6), U8(1),
    265                 B(JumpIfToBooleanFalse), U8(4),
    266                 B(Jump), U8(7),
    267                 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(6), U8(1),
    268                 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(12), U8(1),
    269                 B(LdaZero),
    270                 B(TestEqualStrict), R(10),
    271                 B(JumpIfTrue), U8(10),
    272                 B(LdaSmi), U8(1),
    273                 B(TestEqualStrict), R(10),
    274                 B(JumpIfTrue), U8(7),
    275                 B(Jump), U8(8),
    276                 B(Ldar), R(11),
    277   /*   85 S> */ B(Return),
    278                 B(Ldar), R(11),
    279                 B(ReThrow),
    280                 B(LdaUndefined),
    281   /*   85 S> */ B(Return),
    282 ]
    283 constant pool: [
    284   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    285   InstanceType::SYMBOL_TYPE,
    286   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    287   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    288   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    289   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    290   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    291   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    292   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    293 ]
    294 handlers: [
    295   [13, 125, 131],
    296   [16, 84, 86],
    297   [205, 215, 217],
    298 ]
    299 
    300 ---
    301 snippet: "
    302   for (var x of [10, 20, 30]) {
    303     if (x == 10) continue;
    304     if (x == 20) break;
    305   }
    306 "
    307 frame size: 16
    308 parameter count: 1
    309 bytecode array length: 300
    310 bytecodes: [
    311   /*   30 E> */ B(StackCheck),
    312                 B(LdrUndefined), R(4),
    313                 B(LdaZero),
    314                 B(Star), R(3),
    315                 B(Mov), R(context), R(11),
    316                 B(Mov), R(context), R(12),
    317   /*   48 S> */ B(CreateArrayLiteral), U8(0), U8(0), U8(3),
    318                 B(Star), R(14),
    319                 B(LdaConstant), U8(1),
    320   /*   48 E> */ B(LdrKeyedProperty), R(14), U8(3), R(13),
    321   /*   48 E> */ B(Call), R(13), R(14), U8(1), U8(1),
    322                 B(Star), R(1),
    323   /*   45 S> */ B(LdrNamedProperty), R(1), U8(2), U8(7), R(14),
    324   /*   45 E> */ B(Call), R(14), R(1), U8(1), U8(5),
    325                 B(Star), R(2),
    326   /*   45 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(2), U8(1),
    327                 B(ToBooleanLogicalNot),
    328                 B(JumpIfFalse), U8(7),
    329                 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(2), U8(1),
    330                 B(LdaNamedProperty), R(2), U8(3), U8(9),
    331                 B(JumpIfToBooleanTrue), U8(38),
    332                 B(LdaSmi), U8(2),
    333                 B(Star), R(3),
    334                 B(LdrNamedProperty), R(2), U8(4), U8(11), R(0),
    335                 B(Ldar), R(0),
    336   /*   34 E> */ B(StackCheck),
    337                 B(Mov), R(0), R(7),
    338   /*   66 S> */ B(LdaSmi), U8(10),
    339   /*   72 E> */ B(TestEqual), R(7),
    340                 B(JumpIfFalse), U8(4),
    341   /*   79 S> */ B(Jump), U8(13),
    342   /*   91 S> */ B(LdaSmi), U8(20),
    343   /*   97 E> */ B(TestEqual), R(7),
    344                 B(JumpIfFalse), U8(4),
    345   /*  104 S> */ B(Jump), U8(7),
    346                 B(LdaZero),
    347                 B(Star), R(3),
    348                 B(Jump), U8(-64),
    349                 B(Jump), U8(41),
    350                 B(Star), R(14),
    351                 B(LdaConstant), U8(5),
    352                 B(Star), R(13),
    353                 B(Mov), R(closure), R(15),
    354                 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
    355                 B(Star), R(12),
    356                 B(PushContext), R(8),
    357                 B(LdaSmi), U8(2),
    358                 B(TestEqualStrict), R(3),
    359                 B(JumpIfFalse), U8(6),
    360                 B(LdaSmi), U8(1),
    361                 B(Star), R(3),
    362                 B(LdrContextSlot), R(context), U8(4), R(13),
    363                 B(CallRuntime), U16(Runtime::kReThrow), R(13), U8(1),
    364                 B(PopContext), R(8),
    365                 B(LdaSmi), U8(-1),
    366                 B(Star), R(9),
    367                 B(Jump), U8(7),
    368                 B(Star), R(10),
    369                 B(LdaZero),
    370                 B(Star), R(9),
    371                 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
    372                 B(Star), R(11),
    373                 B(LdaZero),
    374                 B(TestEqualStrict), R(3),
    375                 B(JumpIfTrue), U8(5),
    376                 B(LdaUndefined),
    377                 B(TestEqualStrict), R(1),
    378                 B(ToBooleanLogicalNot),
    379                 B(JumpIfFalse), U8(118),
    380                 B(LdrNamedProperty), R(1), U8(6), U8(13), R(5),
    381                 B(LdaNull),
    382                 B(TestEqual), R(5),
    383                 B(JumpIfFalse), U8(4),
    384                 B(Jump), U8(106),
    385                 B(LdaSmi), U8(1),
    386                 B(TestEqualStrict), R(3),
    387                 B(JumpIfFalse), U8(75),
    388                 B(Ldar), R(5),
    389                 B(TypeOf),
    390                 B(Star), R(12),
    391                 B(LdaConstant), U8(7),
    392                 B(TestEqualStrict), R(12),
    393                 B(JumpIfFalse), U8(4),
    394                 B(Jump), U8(18),
    395                 B(Wide), B(LdaSmi), U16(128),
    396                 B(Star), R(12),
    397                 B(LdaConstant), U8(8),
    398                 B(Star), R(13),
    399                 B(CallRuntime), U16(Runtime::kNewTypeError), R(12), U8(2),
    400                 B(Throw),
    401                 B(Mov), R(context), R(12),
    402                 B(Mov), R(5), R(13),
    403                 B(Mov), R(1), R(14),
    404                 B(InvokeIntrinsic), U8(Runtime::k_Call), R(13), U8(2),
    405                 B(Jump), U8(29),
    406                 B(Star), R(14),
    407                 B(LdaConstant), U8(5),
    408                 B(Star), R(13),
    409                 B(Mov), R(closure), R(15),
    410                 B(CallRuntime), U16(Runtime::kPushCatchContext), R(13), U8(3),
    411                 B(Star), R(12),
    412                 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
    413                 B(Ldar), R(12),
    414                 B(PushContext), R(8),
    415                 B(PopContext), R(8),
    416                 B(Jump), U8(27),
    417                 B(Mov), R(5), R(12),
    418                 B(Mov), R(1), R(13),
    419                 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
    420                 B(Star), R(6),
    421                 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(6), U8(1),
    422                 B(JumpIfToBooleanFalse), U8(4),
    423                 B(Jump), U8(7),
    424                 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(6), U8(1),
    425                 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(11), U8(1),
    426                 B(LdaZero),
    427                 B(TestEqualStrict), R(9),
    428                 B(JumpIfTrue), U8(4),
    429                 B(Jump), U8(5),
    430                 B(Ldar), R(10),
    431                 B(ReThrow),
    432                 B(LdaUndefined),
    433   /*  113 S> */ B(Return),
    434 ]
    435 constant pool: [
    436   InstanceType::FIXED_ARRAY_TYPE,
    437   InstanceType::SYMBOL_TYPE,
    438   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    439   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    440   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    441   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    442   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    443   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    444   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    445 ]
    446 handlers: [
    447   [9, 138, 144],
    448   [12, 97, 99],
    449   [217, 227, 229],
    450 ]
    451 
    452 ---
    453 snippet: "
    454   var x = { 'a': 1, 'b': 2 };
    455   for (x['a'] of [1,2,3]) { return x['a']; }
    456 "
    457 frame size: 15
    458 parameter count: 1
    459 bytecode array length: 308
    460 bytecodes: [
    461   /*   30 E> */ B(StackCheck),
    462   /*   42 S> */ B(CreateObjectLiteral), U8(0), U8(0), U8(1),
    463                 B(Star), R(8),
    464                 B(Star), R(6),
    465                 B(LdrUndefined), R(3),
    466                 B(LdaZero),
    467                 B(Star), R(2),
    468                 B(Mov), R(context), R(10),
    469                 B(Mov), R(context), R(11),
    470   /*   77 S> */ B(CreateArrayLiteral), U8(1), U8(1), U8(3),
    471                 B(Star), R(13),
    472                 B(LdaConstant), U8(2),
    473   /*   77 E> */ B(LdrKeyedProperty), R(13), U8(3), R(12),
    474   /*   77 E> */ B(Call), R(12), R(13), U8(1), U8(1),
    475                 B(Star), R(0),
    476   /*   74 S> */ B(LdrNamedProperty), R(0), U8(3), U8(7), R(13),
    477   /*   74 E> */ B(Call), R(13), R(0), U8(1), U8(5),
    478                 B(Star), R(1),
    479   /*   74 E> */ B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(1), U8(1),
    480                 B(ToBooleanLogicalNot),
    481                 B(JumpIfFalse), U8(7),
    482                 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(1), U8(1),
    483                 B(LdaNamedProperty), R(1), U8(4), U8(9),
    484                 B(JumpIfToBooleanTrue), U8(28),
    485                 B(LdaSmi), U8(2),
    486                 B(Star), R(2),
    487   /*   67 E> */ B(LdaNamedProperty), R(1), U8(5), U8(11),
    488                 B(StaNamedPropertySloppy), R(6), U8(6), U8(13),
    489   /*   62 E> */ B(StackCheck),
    490   /*   88 S> */ B(Nop),
    491   /*   96 E> */ B(LdrNamedProperty), R(6), U8(6), U8(15), R(9),
    492                 B(LdaZero),
    493                 B(Star), R(8),
    494                 B(Jump), U8(57),
    495                 B(Jump), U8(-54),
    496                 B(Jump), U8(41),
    497                 B(Star), R(13),
    498                 B(LdaConstant), U8(7),
    499                 B(Star), R(12),
    500                 B(Mov), R(closure), R(14),
    501                 B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3),
    502                 B(Star), R(11),
    503                 B(PushContext), R(7),
    504                 B(LdaSmi), U8(2),
    505                 B(TestEqualStrict), R(2),
    506                 B(JumpIfFalse), U8(6),
    507                 B(LdaSmi), U8(1),
    508                 B(Star), R(2),
    509                 B(LdrContextSlot), R(context), U8(4), R(12),
    510                 B(CallRuntime), U16(Runtime::kReThrow), R(12), U8(1),
    511                 B(PopContext), R(7),
    512                 B(LdaSmi), U8(-1),
    513                 B(Star), R(8),
    514                 B(Jump), U8(8),
    515                 B(Star), R(9),
    516                 B(LdaSmi), U8(1),
    517                 B(Star), R(8),
    518                 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
    519                 B(Star), R(10),
    520                 B(LdaZero),
    521                 B(TestEqualStrict), R(2),
    522                 B(JumpIfTrue), U8(5),
    523                 B(LdaUndefined),
    524                 B(TestEqualStrict), R(0),
    525                 B(ToBooleanLogicalNot),
    526                 B(JumpIfFalse), U8(118),
    527                 B(LdrNamedProperty), R(0), U8(8), U8(17), R(4),
    528                 B(LdaNull),
    529                 B(TestEqual), R(4),
    530                 B(JumpIfFalse), U8(4),
    531                 B(Jump), U8(106),
    532                 B(LdaSmi), U8(1),
    533                 B(TestEqualStrict), R(2),
    534                 B(JumpIfFalse), U8(75),
    535                 B(Ldar), R(4),
    536                 B(TypeOf),
    537                 B(Star), R(11),
    538                 B(LdaConstant), U8(9),
    539                 B(TestEqualStrict), R(11),
    540                 B(JumpIfFalse), U8(4),
    541                 B(Jump), U8(18),
    542                 B(Wide), B(LdaSmi), U16(128),
    543                 B(Star), R(11),
    544                 B(LdaConstant), U8(10),
    545                 B(Star), R(12),
    546                 B(CallRuntime), U16(Runtime::kNewTypeError), R(11), U8(2),
    547                 B(Throw),
    548                 B(Mov), R(context), R(11),
    549                 B(Mov), R(4), R(12),
    550                 B(Mov), R(0), R(13),
    551                 B(InvokeIntrinsic), U8(Runtime::k_Call), R(12), U8(2),
    552                 B(Jump), U8(29),
    553                 B(Star), R(13),
    554                 B(LdaConstant), U8(7),
    555                 B(Star), R(12),
    556                 B(Mov), R(closure), R(14),
    557                 B(CallRuntime), U16(Runtime::kPushCatchContext), R(12), U8(3),
    558                 B(Star), R(11),
    559                 B(CallRuntime), U16(Runtime::kInterpreterClearPendingMessage), R(0), U8(0),
    560                 B(Ldar), R(11),
    561                 B(PushContext), R(7),
    562                 B(PopContext), R(7),
    563                 B(Jump), U8(27),
    564                 B(Mov), R(4), R(11),
    565                 B(Mov), R(0), R(12),
    566                 B(InvokeIntrinsic), U8(Runtime::k_Call), R(11), U8(2),
    567                 B(Star), R(5),
    568                 B(InvokeIntrinsic), U8(Runtime::k_IsJSReceiver), R(5), U8(1),
    569                 B(JumpIfToBooleanFalse), U8(4),
    570                 B(Jump), U8(7),
    571                 B(CallRuntime), U16(Runtime::kThrowIteratorResultNotAnObject), R(5), U8(1),
    572                 B(CallRuntime), U16(Runtime::kInterpreterSetPendingMessage), R(10), U8(1),
    573                 B(LdaZero),
    574                 B(TestEqualStrict), R(8),
    575                 B(JumpIfTrue), U8(10),
    576                 B(LdaSmi), U8(1),
    577                 B(TestEqualStrict), R(8),
    578                 B(JumpIfTrue), U8(7),
    579                 B(Jump), U8(8),
    580                 B(Ldar), R(9),
    581   /*  105 S> */ B(Return),
    582                 B(Ldar), R(9),
    583                 B(ReThrow),
    584                 B(LdaUndefined),
    585   /*  105 S> */ B(Return),
    586 ]
    587 constant pool: [
    588   InstanceType::FIXED_ARRAY_TYPE,
    589   InstanceType::FIXED_ARRAY_TYPE,
    590   InstanceType::SYMBOL_TYPE,
    591   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    592   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    593   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    594   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    595   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    596   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    597   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    598   InstanceType::ONE_BYTE_INTERNALIZED_STRING_TYPE,
    599 ]
    600 handlers: [
    601   [17, 136, 142],
    602   [20, 95, 97],
    603   [216, 226, 228],
    604 ]
    605 
    606