#
# Autogenerated by generate-bytecode-expectations.
#

---
pool type: string
execute: yes
wrap: no
test function name: f

---
snippet: "
  var a = 1;
  function f() { return a; }
  f()
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
  /*   21 E> */ B(StackCheck),
  /*   26 S> */ B(LdaGlobal), U8(1),
  /*   36 S> */ B(Return),
]
constant pool: [
]
handlers: [
]

---
snippet: "
  function t() { }
  function f() { return t; }
  f()
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
  /*   27 E> */ B(StackCheck),
  /*   32 S> */ B(LdaGlobal), U8(1),
  /*   42 S> */ B(Return),
]
constant pool: [
]
handlers: [
]

---
snippet: "
  a = 1;
  function f() { return a; }
  f()
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
  /*   17 E> */ B(StackCheck),
  /*   22 S> */ B(LdaGlobal), U8(1),
  /*   32 S> */ B(Return),
]
constant pool: [
]
handlers: [
]

---
snippet: "
  a = 1;
  function f(b) {
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    return a;
  }
  f({name: 1});
"
frame size: 0
parameter count: 2
bytecode array length: 646
bytecodes: [
  /*   17 E> */ B(StackCheck),
  /*   25 S> */ B(Nop),
  /*   26 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(1),
  /*   35 S> */ B(Nop),
  /*   36 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3),
  /*   45 S> */ B(Nop),
  /*   46 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5),
  /*   55 S> */ B(Nop),
  /*   56 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7),
  /*   65 S> */ B(Nop),
  /*   66 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9),
  /*   75 S> */ B(Nop),
  /*   76 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11),
  /*   85 S> */ B(Nop),
  /*   86 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13),
  /*   95 S> */ B(Nop),
  /*   96 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15),
  /*  105 S> */ B(Nop),
  /*  106 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17),
  /*  115 S> */ B(Nop),
  /*  116 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19),
  /*  125 S> */ B(Nop),
  /*  126 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21),
  /*  135 S> */ B(Nop),
  /*  136 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23),
  /*  145 S> */ B(Nop),
  /*  146 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25),
  /*  155 S> */ B(Nop),
  /*  156 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27),
  /*  165 S> */ B(Nop),
  /*  166 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29),
  /*  175 S> */ B(Nop),
  /*  176 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31),
  /*  185 S> */ B(Nop),
  /*  186 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33),
  /*  195 S> */ B(Nop),
  /*  196 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35),
  /*  205 S> */ B(Nop),
  /*  206 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37),
  /*  215 S> */ B(Nop),
  /*  216 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39),
  /*  225 S> */ B(Nop),
  /*  226 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41),
  /*  235 S> */ B(Nop),
  /*  236 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43),
  /*  245 S> */ B(Nop),
  /*  246 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45),
  /*  255 S> */ B(Nop),
  /*  256 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47),
  /*  265 S> */ B(Nop),
  /*  266 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49),
  /*  275 S> */ B(Nop),
  /*  276 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51),
  /*  285 S> */ B(Nop),
  /*  286 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53),
  /*  295 S> */ B(Nop),
  /*  296 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55),
  /*  305 S> */ B(Nop),
  /*  306 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57),
  /*  315 S> */ B(Nop),
  /*  316 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59),
  /*  325 S> */ B(Nop),
  /*  326 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61),
  /*  335 S> */ B(Nop),
  /*  336 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63),
  /*  345 S> */ B(Nop),
  /*  346 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65),
  /*  355 S> */ B(Nop),
  /*  356 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67),
  /*  365 S> */ B(Nop),
  /*  366 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69),
  /*  375 S> */ B(Nop),
  /*  376 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71),
  /*  385 S> */ B(Nop),
  /*  386 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73),
  /*  395 S> */ B(Nop),
  /*  396 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75),
  /*  405 S> */ B(Nop),
  /*  406 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77),
  /*  415 S> */ B(Nop),
  /*  416 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79),
  /*  425 S> */ B(Nop),
  /*  426 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81),
  /*  435 S> */ B(Nop),
  /*  436 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83),
  /*  445 S> */ B(Nop),
  /*  446 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85),
  /*  455 S> */ B(Nop),
  /*  456 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87),
  /*  465 S> */ B(Nop),
  /*  466 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89),
  /*  475 S> */ B(Nop),
  /*  476 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91),
  /*  485 S> */ B(Nop),
  /*  486 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93),
  /*  495 S> */ B(Nop),
  /*  496 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95),
  /*  505 S> */ B(Nop),
  /*  506 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97),
  /*  515 S> */ B(Nop),
  /*  516 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99),
  /*  525 S> */ B(Nop),
  /*  526 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101),
  /*  535 S> */ B(Nop),
  /*  536 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103),
  /*  545 S> */ B(Nop),
  /*  546 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105),
  /*  555 S> */ B(Nop),
  /*  556 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107),
  /*  565 S> */ B(Nop),
  /*  566 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109),
  /*  575 S> */ B(Nop),
  /*  576 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111),
  /*  585 S> */ B(Nop),
  /*  586 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113),
  /*  595 S> */ B(Nop),
  /*  596 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115),
  /*  605 S> */ B(Nop),
  /*  606 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117),
  /*  615 S> */ B(Nop),
  /*  616 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119),
  /*  625 S> */ B(Nop),
  /*  626 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121),
  /*  635 S> */ B(Nop),
  /*  636 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123),
  /*  645 S> */ B(Nop),
  /*  646 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125),
  /*  655 S> */ B(Nop),
  /*  656 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127),
  /*  665 S> */ B(Nop),
  /*  666 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129),
  /*  675 S> */ B(Nop),
  /*  676 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131),
  /*  685 S> */ B(Nop),
  /*  686 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133),
  /*  695 S> */ B(Nop),
  /*  696 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135),
  /*  705 S> */ B(Nop),
  /*  706 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137),
  /*  715 S> */ B(Nop),
  /*  716 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139),
  /*  725 S> */ B(Nop),
  /*  726 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141),
  /*  735 S> */ B(Nop),
  /*  736 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143),
  /*  745 S> */ B(Nop),
  /*  746 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145),
  /*  755 S> */ B(Nop),
  /*  756 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147),
  /*  765 S> */ B(Nop),
  /*  766 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149),
  /*  775 S> */ B(Nop),
  /*  776 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151),
  /*  785 S> */ B(Nop),
  /*  786 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153),
  /*  795 S> */ B(Nop),
  /*  796 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155),
  /*  805 S> */ B(Nop),
  /*  806 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157),
  /*  815 S> */ B(Nop),
  /*  816 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159),
  /*  825 S> */ B(Nop),
  /*  826 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161),
  /*  835 S> */ B(Nop),
  /*  836 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163),
  /*  845 S> */ B(Nop),
  /*  846 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165),
  /*  855 S> */ B(Nop),
  /*  856 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167),
  /*  865 S> */ B(Nop),
  /*  866 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169),
  /*  875 S> */ B(Nop),
  /*  876 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171),
  /*  885 S> */ B(Nop),
  /*  886 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173),
  /*  895 S> */ B(Nop),
  /*  896 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175),
  /*  905 S> */ B(Nop),
  /*  906 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177),
  /*  915 S> */ B(Nop),
  /*  916 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179),
  /*  925 S> */ B(Nop),
  /*  926 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181),
  /*  935 S> */ B(Nop),
  /*  936 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183),
  /*  945 S> */ B(Nop),
  /*  946 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185),
  /*  955 S> */ B(Nop),
  /*  956 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187),
  /*  965 S> */ B(Nop),
  /*  966 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189),
  /*  975 S> */ B(Nop),
  /*  976 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191),
  /*  985 S> */ B(Nop),
  /*  986 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193),
  /*  995 S> */ B(Nop),
  /*  996 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195),
  /* 1005 S> */ B(Nop),
  /* 1006 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197),
  /* 1015 S> */ B(Nop),
  /* 1016 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199),
  /* 1025 S> */ B(Nop),
  /* 1026 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201),
  /* 1035 S> */ B(Nop),
  /* 1036 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203),
  /* 1045 S> */ B(Nop),
  /* 1046 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205),
  /* 1055 S> */ B(Nop),
  /* 1056 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207),
  /* 1065 S> */ B(Nop),
  /* 1066 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209),
  /* 1075 S> */ B(Nop),
  /* 1076 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211),
  /* 1085 S> */ B(Nop),
  /* 1086 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213),
  /* 1095 S> */ B(Nop),
  /* 1096 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215),
  /* 1105 S> */ B(Nop),
  /* 1106 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217),
  /* 1115 S> */ B(Nop),
  /* 1116 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219),
  /* 1125 S> */ B(Nop),
  /* 1126 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221),
  /* 1135 S> */ B(Nop),
  /* 1136 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223),
  /* 1145 S> */ B(Nop),
  /* 1146 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225),
  /* 1155 S> */ B(Nop),
  /* 1156 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227),
  /* 1165 S> */ B(Nop),
  /* 1166 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229),
  /* 1175 S> */ B(Nop),
  /* 1176 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231),
  /* 1185 S> */ B(Nop),
  /* 1186 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233),
  /* 1195 S> */ B(Nop),
  /* 1196 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235),
  /* 1205 S> */ B(Nop),
  /* 1206 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237),
  /* 1215 S> */ B(Nop),
  /* 1216 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239),
  /* 1225 S> */ B(Nop),
  /* 1226 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241),
  /* 1235 S> */ B(Nop),
  /* 1236 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243),
  /* 1245 S> */ B(Nop),
  /* 1246 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245),
  /* 1255 S> */ B(Nop),
  /* 1256 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247),
  /* 1265 S> */ B(Nop),
  /* 1266 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249),
  /* 1275 S> */ B(Nop),
  /* 1276 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251),
  /* 1285 S> */ B(Nop),
  /* 1286 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253),
  /* 1295 S> */ B(Nop),
  /* 1296 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255),
  /* 1305 S> */ B(Wide), B(LdaGlobal), U16(257),
  /* 1315 S> */ B(Return),
]
constant pool: [
  "name",
]
handlers: [
]

