| # |
| # Autogenerated by generate-bytecode-expectations. |
| # |
| |
| --- |
| pool type: string |
| execute: yes |
| wrap: no |
| test function name: f |
| |
| --- |
| snippet: " |
| function f(a) { return a.func(); } |
| f(new (function Obj() { this.func = function() { return; }})()) |
| " |
| frame size: 1 |
| parameter count: 2 |
| bytecode array length: 13 |
| bytecodes: [ |
| /* 10 E> */ B(StackCheck), |
| /* 16 S> */ B(Nop), |
| /* 24 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(3), R(0), |
| /* 25 E> */ B(Call), R(0), R(arg0), U8(1), U8(1), |
| /* 33 S> */ B(Return), |
| ] |
| constant pool: [ |
| "func", |
| ] |
| handlers: [ |
| ] |
| |
| --- |
| snippet: " |
| function f(a, b, c) { return a.func(b, c); } |
| f(new (function Obj() { this.func = function() { return; }})(), 1, 2) |
| " |
| frame size: 4 |
| parameter count: 4 |
| bytecode array length: 24 |
| bytecodes: [ |
| /* 10 E> */ B(StackCheck), |
| /* 22 S> */ B(Nop), |
| /* 30 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(3), R(0), |
| B(Ldar), R(0), |
| B(Mov), R(arg0), R(1), |
| B(Mov), R(arg1), R(2), |
| B(Mov), R(arg2), R(3), |
| /* 31 E> */ B(Call), R(0), R(1), U8(3), U8(1), |
| /* 43 S> */ B(Return), |
| ] |
| constant pool: [ |
| "func", |
| ] |
| handlers: [ |
| ] |
| |
| --- |
| snippet: " |
| function f(a, b) { return a.func(b + b, b); } |
| f(new (function Obj() { this.func = function() { return; }})(), 1) |
| " |
| frame size: 4 |
| parameter count: 3 |
| bytecode array length: 25 |
| bytecodes: [ |
| /* 10 E> */ B(StackCheck), |
| /* 19 S> */ B(Nop), |
| /* 27 E> */ B(LdrNamedProperty), R(arg0), U8(0), U8(3), R(0), |
| B(Ldar), R(arg1), |
| /* 37 E> */ B(Add), R(arg1), |
| B(Star), R(2), |
| B(Mov), R(arg0), R(1), |
| B(Mov), R(arg1), R(3), |
| /* 28 E> */ B(Call), R(0), R(1), U8(3), U8(1), |
| /* 44 S> */ B(Return), |
| ] |
| constant pool: [ |
| "func", |
| ] |
| handlers: [ |
| ] |
| |
| --- |
| snippet: " |
| function f(a) { |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| a.func; |
| return a.func(); } |
| f(new (function Obj() { this.func = function() { return; }})()) |
| " |
| frame size: 1 |
| parameter count: 2 |
| bytecode array length: 663 |
| bytecodes: [ |
| /* 10 E> */ B(StackCheck), |
| /* 17 S> */ B(Nop), |
| /* 18 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(1), |
| /* 26 S> */ B(Nop), |
| /* 27 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(3), |
| /* 35 S> */ B(Nop), |
| /* 36 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(5), |
| /* 44 S> */ B(Nop), |
| /* 45 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(7), |
| /* 53 S> */ B(Nop), |
| /* 54 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(9), |
| /* 62 S> */ B(Nop), |
| /* 63 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(11), |
| /* 71 S> */ B(Nop), |
| /* 72 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(13), |
| /* 80 S> */ B(Nop), |
| /* 81 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(15), |
| /* 89 S> */ B(Nop), |
| /* 90 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(17), |
| /* 98 S> */ B(Nop), |
| /* 99 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(19), |
| /* 107 S> */ B(Nop), |
| /* 108 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(21), |
| /* 116 S> */ B(Nop), |
| /* 117 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(23), |
| /* 125 S> */ B(Nop), |
| /* 126 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(25), |
| /* 134 S> */ B(Nop), |
| /* 135 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(27), |
| /* 143 S> */ B(Nop), |
| /* 144 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(29), |
| /* 152 S> */ B(Nop), |
| /* 153 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(31), |
| /* 161 S> */ B(Nop), |
| /* 162 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(33), |
| /* 170 S> */ B(Nop), |
| /* 171 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(35), |
| /* 179 S> */ B(Nop), |
| /* 180 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(37), |
| /* 188 S> */ B(Nop), |
| /* 189 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(39), |
| /* 197 S> */ B(Nop), |
| /* 198 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(41), |
| /* 206 S> */ B(Nop), |
| /* 207 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(43), |
| /* 215 S> */ B(Nop), |
| /* 216 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(45), |
| /* 224 S> */ B(Nop), |
| /* 225 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(47), |
| /* 233 S> */ B(Nop), |
| /* 234 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(49), |
| /* 242 S> */ B(Nop), |
| /* 243 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(51), |
| /* 251 S> */ B(Nop), |
| /* 252 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(53), |
| /* 260 S> */ B(Nop), |
| /* 261 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(55), |
| /* 269 S> */ B(Nop), |
| /* 270 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(57), |
| /* 278 S> */ B(Nop), |
| /* 279 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(59), |
| /* 287 S> */ B(Nop), |
| /* 288 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(61), |
| /* 296 S> */ B(Nop), |
| /* 297 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(63), |
| /* 305 S> */ B(Nop), |
| /* 306 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(65), |
| /* 314 S> */ B(Nop), |
| /* 315 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(67), |
| /* 323 S> */ B(Nop), |
| /* 324 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(69), |
| /* 332 S> */ B(Nop), |
| /* 333 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(71), |
| /* 341 S> */ B(Nop), |
| /* 342 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(73), |
| /* 350 S> */ B(Nop), |
| /* 351 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(75), |
| /* 359 S> */ B(Nop), |
| /* 360 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(77), |
| /* 368 S> */ B(Nop), |
| /* 369 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(79), |
| /* 377 S> */ B(Nop), |
| /* 378 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(81), |
| /* 386 S> */ B(Nop), |
| /* 387 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(83), |
| /* 395 S> */ B(Nop), |
| /* 396 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(85), |
| /* 404 S> */ B(Nop), |
| /* 405 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(87), |
| /* 413 S> */ B(Nop), |
| /* 414 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(89), |
| /* 422 S> */ B(Nop), |
| /* 423 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(91), |
| /* 431 S> */ B(Nop), |
| /* 432 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(93), |
| /* 440 S> */ B(Nop), |
| /* 441 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(95), |
| /* 449 S> */ B(Nop), |
| /* 450 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(97), |
| /* 458 S> */ B(Nop), |
| /* 459 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(99), |
| /* 467 S> */ B(Nop), |
| /* 468 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(101), |
| /* 476 S> */ B(Nop), |
| /* 477 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(103), |
| /* 485 S> */ B(Nop), |
| /* 486 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(105), |
| /* 494 S> */ B(Nop), |
| /* 495 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(107), |
| /* 503 S> */ B(Nop), |
| /* 504 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(109), |
| /* 512 S> */ B(Nop), |
| /* 513 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(111), |
| /* 521 S> */ B(Nop), |
| /* 522 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(113), |
| /* 530 S> */ B(Nop), |
| /* 531 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(115), |
| /* 539 S> */ B(Nop), |
| /* 540 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(117), |
| /* 548 S> */ B(Nop), |
| /* 549 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(119), |
| /* 557 S> */ B(Nop), |
| /* 558 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(121), |
| /* 566 S> */ B(Nop), |
| /* 567 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(123), |
| /* 575 S> */ B(Nop), |
| /* 576 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(125), |
| /* 584 S> */ B(Nop), |
| /* 585 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(127), |
| /* 593 S> */ B(Nop), |
| /* 594 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(129), |
| /* 602 S> */ B(Nop), |
| /* 603 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(131), |
| /* 611 S> */ B(Nop), |
| /* 612 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(133), |
| /* 620 S> */ B(Nop), |
| /* 621 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(135), |
| /* 629 S> */ B(Nop), |
| /* 630 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(137), |
| /* 638 S> */ B(Nop), |
| /* 639 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(139), |
| /* 647 S> */ B(Nop), |
| /* 648 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(141), |
| /* 656 S> */ B(Nop), |
| /* 657 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(143), |
| /* 665 S> */ B(Nop), |
| /* 666 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(145), |
| /* 674 S> */ B(Nop), |
| /* 675 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(147), |
| /* 683 S> */ B(Nop), |
| /* 684 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(149), |
| /* 692 S> */ B(Nop), |
| /* 693 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(151), |
| /* 701 S> */ B(Nop), |
| /* 702 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(153), |
| /* 710 S> */ B(Nop), |
| /* 711 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(155), |
| /* 719 S> */ B(Nop), |
| /* 720 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(157), |
| /* 728 S> */ B(Nop), |
| /* 729 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(159), |
| /* 737 S> */ B(Nop), |
| /* 738 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(161), |
| /* 746 S> */ B(Nop), |
| /* 747 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(163), |
| /* 755 S> */ B(Nop), |
| /* 756 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(165), |
| /* 764 S> */ B(Nop), |
| /* 765 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(167), |
| /* 773 S> */ B(Nop), |
| /* 774 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(169), |
| /* 782 S> */ B(Nop), |
| /* 783 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(171), |
| /* 791 S> */ B(Nop), |
| /* 792 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(173), |
| /* 800 S> */ B(Nop), |
| /* 801 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(175), |
| /* 809 S> */ B(Nop), |
| /* 810 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(177), |
| /* 818 S> */ B(Nop), |
| /* 819 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(179), |
| /* 827 S> */ B(Nop), |
| /* 828 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(181), |
| /* 836 S> */ B(Nop), |
| /* 837 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(183), |
| /* 845 S> */ B(Nop), |
| /* 846 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(185), |
| /* 854 S> */ B(Nop), |
| /* 855 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(187), |
| /* 863 S> */ B(Nop), |
| /* 864 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(189), |
| /* 872 S> */ B(Nop), |
| /* 873 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(191), |
| /* 881 S> */ B(Nop), |
| /* 882 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(193), |
| /* 890 S> */ B(Nop), |
| /* 891 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(195), |
| /* 899 S> */ B(Nop), |
| /* 900 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(197), |
| /* 908 S> */ B(Nop), |
| /* 909 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(199), |
| /* 917 S> */ B(Nop), |
| /* 918 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(201), |
| /* 926 S> */ B(Nop), |
| /* 927 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(203), |
| /* 935 S> */ B(Nop), |
| /* 936 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(205), |
| /* 944 S> */ B(Nop), |
| /* 945 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(207), |
| /* 953 S> */ B(Nop), |
| /* 954 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(209), |
| /* 962 S> */ B(Nop), |
| /* 963 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(211), |
| /* 971 S> */ B(Nop), |
| /* 972 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(213), |
| /* 980 S> */ B(Nop), |
| /* 981 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(215), |
| /* 989 S> */ B(Nop), |
| /* 990 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(217), |
| /* 998 S> */ B(Nop), |
| /* 999 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(219), |
| /* 1007 S> */ B(Nop), |
| /* 1008 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(221), |
| /* 1016 S> */ B(Nop), |
| /* 1017 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(223), |
| /* 1025 S> */ B(Nop), |
| /* 1026 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(225), |
| /* 1034 S> */ B(Nop), |
| /* 1035 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(227), |
| /* 1043 S> */ B(Nop), |
| /* 1044 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(229), |
| /* 1052 S> */ B(Nop), |
| /* 1053 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(231), |
| /* 1061 S> */ B(Nop), |
| /* 1062 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(233), |
| /* 1070 S> */ B(Nop), |
| /* 1071 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(235), |
| /* 1079 S> */ B(Nop), |
| /* 1080 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(237), |
| /* 1088 S> */ B(Nop), |
| /* 1089 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(239), |
| /* 1097 S> */ B(Nop), |
| /* 1098 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(241), |
| /* 1106 S> */ B(Nop), |
| /* 1107 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(243), |
| /* 1115 S> */ B(Nop), |
| /* 1116 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(245), |
| /* 1124 S> */ B(Nop), |
| /* 1125 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(247), |
| /* 1133 S> */ B(Nop), |
| /* 1134 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(249), |
| /* 1142 S> */ B(Nop), |
| /* 1143 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(251), |
| /* 1151 S> */ B(Nop), |
| /* 1152 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(253), |
| /* 1160 S> */ B(Nop), |
| /* 1161 E> */ B(LdaNamedProperty), R(arg0), U8(0), U8(255), |
| /* 1169 S> */ B(Nop), |
| /* 1177 E> */ B(Wide), B(LdrNamedProperty), R16(arg0), U16(0), U16(259), R16(0), |
| /* 1178 E> */ B(Wide), B(Call), R16(0), R16(arg0), U16(1), U16(257), |
| /* 1186 S> */ B(Return), |
| ] |
| constant pool: [ |
| "func", |
| ] |
| handlers: [ |
| ] |
| |