1slotNum = 0x1e 2.language ECMAScript 3.function any .#*#testNestedTryBlock(any a0, any a1, any a2) { 4 nop 5label_45: 6label_0: 7 ldundefined 8 sta v0 9label_30: 10label_26: 11label_20: 12label_32: 13 ldai 0x1 14 sta v5 15 mov v1, v5 16 lda v5 17 throw 18label_21: 19end_label_21: 20label_47: 21 sta v4 22label_38: 23 mov v1, v5 24 tryldglobalbyname 0x0, print 25 callarg1 0x1, v4 26 tryldglobalbyname 0x3, print 27 callarg1 0x4, v5 28 lda v5 29 throw 30label_27: 31end_label_27: 32label_48: 33 sta v3 34label_39: 35 mov v1, v5 36 tryldglobalbyname 0x6, print 37 callarg1 0x7, v3 38 ldundefined 39 sta v3 40label_22: 41label_18: 42label_34: 43 ldai 0x3 44 sta v6 45 mov v1, v6 46 lda v6 47 throw 48label_19: 49end_label_19: 50label_49: 51 sta v5 52label_40: 53 mov v1, v6 54 lda v5 55 throw 56label_23: 57end_label_23: 58label_50: 59 sta v4 60label_4: 61 ldai 0x5 62 sta v5 63 mov v1, v6 64 ldundefined 65 eq 0x9, v3 66 jeqz label_54 67label_6: 68 tryldglobalbyname 0xa, print 69 callarg1 0xb, v6 70 mov v3, v5 71 jmp label_5 72label_54: 73 mov v3, v6 74label_5: 75 mov v1, v3 76 ldhole 77 sta v5 78 lda v4 79 noteq 0xd, v5 80 jeqz label_2 81label_7: 82 lda v4 83 throw 84label_31: 85end_label_31: 86label_2: 87 ldhole 88 sta v4 89 mov v1, v3 90 mov v2, v4 91 jmp label_8 92label_51: 93 sta v2 94label_8: 95 ldundefined 96 eq 0xe, v0 97 jeqz label_9 98label_10: 99 tryldglobalbyname 0xf, print 100 callarg1 0x10, v1 101 ldundefined 102 sta v0 103label_28: 104label_24: 105label_36: 106 ldai 0x6 107 sta v5 108 mov v1, v5 109 lda v5 110 throw 111label_25: 112end_label_25: 113label_52: 114 sta v4 115label_43: 116 ldai 0x8 117 sta v6 118 mov v1, v5 119 tryldglobalbyname 0x12, print 120 callarg1 0x13, v4 121 tryldglobalbyname 0x15, print 122 callarg1 0x16, v5 123 mov v1, v6 124 lda v6 125 throw 126label_29: 127end_label_29: 128label_53: 129 sta v3 130label_12: 131 ldundefined 132 eq 0x18, v0 133 jeqz label_13 134label_14: 135 tryldglobalbyname 0x19, print 136 callarg1 0x1a, v1 137label_13: 138 ldhole 139 sta v0 140 lda v3 141 noteq 0x1c, v0 142 jeqz label_9 143label_15: 144 lda v3 145 throw 146label_9: 147 ldhole 148 sta v0 149 lda v2 150 noteq 0x1d, v0 151 jeqz label_16 152label_17: 153 lda v2 154 throw 155label_16: 156 returnundefined 157label_46: 158} 159 160.catchall label_18, end_label_19, label_49 161 162.catchall label_20, end_label_21, label_47 163 164.catchall label_22, end_label_23, label_50 165 166.catchall label_24, end_label_25, label_52 167 168.catchall label_26, end_label_27, label_48 169 170.catchall label_28, end_label_29, label_53 171 172.catchall label_30, end_label_31, label_51 173 174slotNum = 0x54 175.language ECMAScript 176.function any .#*#testTryBlockWithLoop(any a0, any a1, any a2) { 177 nop 178label_71: 179label_0: 180 ldai 0x8 181 sta v0 182 ldai 0x7 183 sta v1 184 ldai 0x5 185 sta v2 186 ldai 0x6 187 sta v3 188 ldai 0x4 189 sta v4 190 ldai 0x2 191 sta v5 192 ldai 0x3 193 sta v6 194 ldai 0xa 195 sta v7 196 ldai 0x1 197 sta v8 198 ldai 0x0 199 sta v9 200 ldundefined 201 sta v10 202 mov v11, v8 203 mov v12, v9 204label_59: 205label_57: 206label_7: 207 mov v16, v10 208 mov v17, v11 209 mov v13, v10 210 mov v14, v11 211 lda v7 212 less 0x0, v9 213 jeqz label_82 214label_2: 215 lda v8 216 add2 0x1, v9 217 sta v9 218 ldundefined 219 sta v19 220label_55: 221label_53: 222label_12: 223 mov v26, v19 224 mov v27, v10 225 mov v28, v12 226 mov v29, v9 227 mov v30, v11 228 mov v20, v19 229 mov v21, v10 230 mov v22, v12 231 mov v23, v9 232 mov v24, v11 233 mov v16, v10 234 mov v17, v11 235 mov v13, v10 236 mov v14, v11 237 lda v7 238 less 0x2, v12 239 jeqz label_33 240label_4: 241 lda v8 242 add2 0x3, v12 243 sta v12 244 mov v28, v12 245 mov v22, v12 246 ldundefined 247 sta v32 248label_51: 249label_49: 250label_61: 251 mov v40, v32 252 mov v41, v19 253 mov v42, v10 254 mov v43, v12 255 mov v44, v9 256 mov v45, v11 257 mov v33, v32 258 mov v34, v19 259 mov v35, v10 260 mov v36, v12 261 mov v37, v9 262 mov v38, v11 263 ldundefined 264 sta v47 265label_47: 266label_45: 267label_62: 268 mov v50, v11 269 mov v48, v11 270 lda v6 271 stricteq 0x4, v9 272 jeqz label_5 273label_6: 274 tryldglobalbyname 0x5, print 275 callarg1 0x6, v11 276 mov v50, v5 277 mov v48, v5 278 mov v45, v5 279 mov v38, v5 280 mov v30, v5 281 mov v24, v5 282 mov v17, v5 283 mov v14, v5 284 tryldglobalbyname 0x8, print 285 callarg1 0x9, v5 286 mov v50, v4 287 mov v48, v4 288 mov v45, v4 289 mov v38, v4 290 mov v30, v4 291 mov v24, v4 292 mov v17, v4 293 mov v14, v4 294 tryldglobalbyname 0xb, print 295 callarg1 0xc, v4 296 mov v11, v3 297 jmp label_59 298label_5: 299 lda v2 300 stricteq 0xe, v9 301 jeqz label_8 302label_9: 303 tryldglobalbyname 0xf, print 304 callarg1 0x10, v11 305 mov v50, v5 306 mov v48, v5 307 mov v45, v5 308 mov v38, v5 309 mov v30, v5 310 mov v24, v5 311 mov v17, v5 312 mov v14, v5 313 tryldglobalbyname 0x12, print 314 callarg1 0x13, v5 315 mov v50, v4 316 mov v48, v4 317 mov v45, v4 318 mov v38, v4 319 mov v30, v4 320 mov v24, v4 321 mov v17, v4 322 mov v14, v4 323 tryldglobalbyname 0x15, print 324 callarg1 0x16, v4 325 jmp label_39 326label_8: 327 lda v6 328 stricteq 0x18, v12 329 jeqz label_10 330label_11: 331 tryldglobalbyname 0x19, print 332 callarg1 0x1a, v11 333 mov v50, v5 334 mov v48, v5 335 mov v45, v5 336 mov v38, v5 337 mov v30, v5 338 mov v24, v5 339 mov v17, v5 340 mov v14, v5 341 tryldglobalbyname 0x1c, print 342 callarg1 0x1d, v5 343 mov v11, v4 344 jmp label_55 345label_10: 346 lda v2 347 stricteq 0x1f, v12 348 jeqz label_13 349label_14: 350 tryldglobalbyname 0x20, print 351 callarg1 0x21, v11 352 mov v50, v5 353 mov v48, v5 354 mov v45, v5 355 mov v38, v5 356 mov v30, v5 357 mov v24, v5 358 mov v17, v5 359 mov v14, v5 360 tryldglobalbyname 0x23, print 361 callarg1 0x24, v5 362 mov v11, v4 363 jmp label_33 364label_13: 365 lda v1 366 stricteq 0x26, v9 367 callruntime.isfalse 0x27 368 jnez label_15 369label_16: 370 lda v2 371 stricteq 0x28, v12 372 callruntime.isfalse 0x29 373 jnez label_15 374label_17: 375 lda v11 376 throw 377label_15: 378 lda v0 379 stricteq 0x2a, v9 380 callruntime.isfalse 0x2b 381 jnez label_21 382label_19: 383 lda v2 384 stricteq 0x2c, v12 385 callruntime.isfalse 0x2d 386 jnez label_21 387label_20: 388 tryldglobalbyname 0x2e, print 389 callarg1 0x2f, v11 390 mov v50, v5 391 mov v48, v5 392 mov v45, v5 393 mov v38, v5 394 mov v30, v5 395 mov v24, v5 396 mov v17, v5 397 mov v14, v5 398 tryldglobalbyname 0x31, print 399 callarg1 0x32, v5 400 mov v50, v4 401 mov v48, v4 402 mov v45, v4 403 mov v38, v4 404 mov v30, v4 405 mov v24, v4 406 mov v17, v4 407 mov v14, v4 408 tryldglobalbyname 0x34, print 409 callarg1 0x35, v4 410 mov v50, v3 411 mov v48, v3 412 mov v45, v3 413 mov v38, v3 414 mov v30, v3 415 mov v24, v3 416 mov v17, v3 417 mov v14, v3 418 tryldglobalbyname 0x37, print 419 callarg1 0x38, v3 420 mov v50, v1 421 mov v48, v1 422 mov v45, v1 423 mov v38, v1 424 mov v30, v1 425 mov v24, v1 426 mov v17, v1 427 mov v14, v1 428 lda v11 429 return 430label_46: 431end_label_46: 432label_73: 433 sta v51 434label_63: 435 mov v48, v50 436 mov v45, v50 437 mov v38, v50 438 mov v30, v50 439 mov v24, v50 440 mov v17, v50 441 mov v14, v50 442 lda v51 443 throw 444label_48: 445end_label_48: 446label_21: 447 ldhole 448 sta v50 449 mov v49, v50 450 jmp label_22 451label_74: 452 sta v49 453 mov v11, v48 454label_22: 455 mov v40, v32 456 mov v41, v19 457 mov v42, v10 458 mov v43, v12 459 mov v44, v9 460 mov v45, v11 461 mov v33, v32 462 mov v34, v19 463 mov v35, v10 464 mov v36, v12 465 mov v37, v9 466 mov v38, v11 467 mov v26, v19 468 mov v27, v10 469 mov v28, v12 470 mov v29, v9 471 mov v30, v11 472 mov v20, v19 473 mov v21, v10 474 mov v22, v12 475 mov v23, v9 476 mov v24, v11 477 mov v16, v10 478 mov v17, v11 479 mov v13, v10 480 mov v14, v11 481 ldundefined 482 eq 0x3a, v47 483 jeqz label_23 484label_24: 485 tryldglobalbyname 0x3b, print 486 mov v33, v32 487 mov v34, v19 488 mov v35, v10 489 mov v36, v12 490 mov v37, v9 491 callarg1 0x3c, v11 492 mov v11, v5 493label_23: 494 mov v45, v11 495 mov v38, v11 496 mov v30, v11 497 mov v24, v11 498 mov v17, v11 499 mov v14, v11 500 ldhole 501 sta v47 502 lda v49 503 noteq 0x3e, v47 504 jeqz label_27 505label_26: 506 lda v49 507 throw 508label_50: 509end_label_50: 510label_75: 511 sta v46 512label_65: 513 mov v33, v40 514 mov v34, v41 515 mov v35, v42 516 mov v36, v43 517 mov v37, v44 518 mov v38, v45 519 mov v26, v41 520 mov v27, v42 521 mov v28, v43 522 mov v29, v44 523 mov v30, v45 524 mov v20, v41 525 mov v21, v42 526 mov v22, v43 527 mov v23, v44 528 mov v24, v45 529 mov v16, v42 530 mov v17, v45 531 mov v13, v42 532 mov v14, v45 533 tryldglobalbyname 0x3f, print 534 callarg1 0x40, v46 535 tryldglobalbyname 0x42, print 536 callarg1 0x43, v45 537label_52: 538end_label_52: 539label_81: 540 mov v11, v6 541 mov v9, v44 542 mov v12, v43 543 mov v10, v42 544 mov v19, v41 545 mov v32, v40 546label_27: 547 mov v26, v19 548 mov v27, v10 549 mov v28, v12 550 mov v29, v9 551 mov v30, v11 552 mov v20, v19 553 mov v21, v10 554 mov v22, v12 555 mov v23, v9 556 mov v24, v11 557 mov v16, v10 558 mov v17, v11 559 mov v13, v10 560 mov v14, v11 561 ldhole 562 sta v40 563 mov v39, v40 564 jmp label_28 565label_76: 566 sta v39 567 mov v11, v38 568 mov v9, v37 569 mov v12, v36 570 mov v10, v35 571 mov v19, v34 572 mov v32, v33 573label_28: 574 mov v26, v19 575 mov v27, v10 576 mov v28, v12 577 mov v29, v9 578 mov v30, v11 579 mov v20, v19 580 mov v21, v10 581 mov v22, v12 582 mov v23, v9 583 mov v24, v11 584 mov v16, v10 585 mov v17, v11 586 mov v13, v10 587 mov v14, v11 588 ldundefined 589 eq 0x45, v32 590 jeqz label_29 591label_30: 592 mov v26, v19 593 mov v27, v10 594 mov v28, v12 595 mov v29, v9 596 mov v20, v19 597 mov v21, v10 598 mov v22, v12 599 mov v23, v9 600 tryldglobalbyname 0x46, print 601 callarg1 0x47, v11 602 mov v11, v4 603label_29: 604 mov v30, v11 605 mov v24, v11 606 mov v17, v11 607 mov v14, v11 608 ldhole 609 sta v32 610 lda v39 611 noteq 0x49, v32 612 jeqz label_54 613label_32: 614 lda v39 615 throw 616label_54: 617end_label_54: 618 jmp label_55 619label_77: 620 sta v31 621label_67: 622 mov v20, v26 623 mov v21, v27 624 mov v22, v28 625 mov v23, v29 626 mov v24, v30 627 mov v16, v27 628 mov v17, v30 629 mov v13, v27 630 mov v14, v30 631 lda v31 632 throw 633label_56: 634end_label_56: 635label_33: 636 mov v17, v11 637 mov v14, v11 638 ldhole 639 sta v26 640 mov v25, v26 641 jmp label_34 642label_78: 643 sta v25 644 mov v11, v24 645 mov v9, v23 646 mov v12, v22 647 mov v10, v21 648 mov v19, v20 649label_34: 650 mov v16, v10 651 mov v17, v11 652 mov v13, v10 653 mov v14, v11 654 ldundefined 655 eq 0x4a, v19 656 jeqz label_35 657label_36: 658 mov v16, v10 659 mov v13, v10 660 tryldglobalbyname 0x4b, print 661 callarg1 0x4c, v11 662 mov v11, v3 663label_35: 664 mov v17, v11 665 mov v14, v11 666 ldhole 667 sta v19 668 lda v25 669 noteq 0x4e, v19 670 jeqz label_58 671label_38: 672 lda v25 673 throw 674label_58: 675end_label_58: 676 jmp label_59 677label_79: 678 sta v18 679label_69: 680 mov v13, v16 681 mov v14, v17 682 lda v18 683 throw 684label_60: 685end_label_60: 686label_82: 687 mov v3, v11 688label_39: 689 ldhole 690 sta v0 691 mov v15, v0 692 jmp label_40 693label_80: 694 sta v15 695 mov v3, v14 696 mov v10, v13 697label_40: 698 ldundefined 699 eq 0x4f, v10 700 jeqz label_41 701label_42: 702 tryldglobalbyname 0x50, print 703 callarg1 0x51, v3 704label_41: 705 ldhole 706 sta v0 707 lda v15 708 noteq 0x53, v0 709 jeqz label_43 710label_44: 711 lda v15 712 throw 713label_43: 714 returnundefined 715label_72: 716} 717 718.catchall label_45, end_label_46, label_73 719 720.catchall label_47, end_label_48, label_74 721 722.catchall label_49, end_label_50, label_75 723 724.catchall label_51, end_label_52, label_76 725 726.catchall label_53, end_label_54, label_77 727 728.catchall label_55, end_label_56, label_78 729 730.catchall label_57, end_label_58, label_79 731 732.catchall label_59, end_label_60, label_80 733 734slotNum = 0xc 735.language ECMAScript 736.function any .func_main_0(any a0, any a1, any a2) { 737 nop 738label_12: 739label_0: 740 definefunc 0x0, .#*#testNestedTryBlock, 0x0 741 sta v0 742 definefunc 0x1, .#*#testTryBlockWithLoop, 0x0 743 sta v1 744label_3: 745label_7: 746 lda v0 747 callarg0 0x2 748label_4: 749end_label_4: 750 jmp label_5 751label_14: 752 sta v2 753label_10: 754 tryldglobalbyname 0x4, print 755 callarg1 0x5, v2 756label_5: 757label_1: 758 lda v1 759 callarg0 0x7 760label_6: 761end_label_6: 762 jmp label_2 763label_15: 764 sta v0 765label_11: 766 tryldglobalbyname 0x9, print 767 callarg1 0xa, v0 768label_2: 769 returnundefined 770label_13: 771} 772 773.catchall label_3, end_label_4, label_14 774 775.catchall label_5, end_label_6, label_15 776 777 778