1slotNum = 0x1a 2.language ECMAScript 3.function any .#*#testComplexThrow(any a0, any a1, any a2) { 4 nop 5label_21: 6 ldai 0x8 7 sta v0 8 ldai 0x9 9 sta v1 10label_12: 11label_14: 12 ldai 0x1 13 sta v4 14 mov v2, v4 15 ldundefined 16 sta v4 17label_10: 18label_8: 19label_16: 20 ldai 0x2 21 sta v8 22 mov v5, v8 23 mov v2, v8 24 tryldglobalbyname 0x0, print 25 callarg1 0x1, v8 26 lda v8 27 throw 28label_9: 29end_label_9: 30label_23: 31 sta v7 32label_18: 33 ldai 0x4 34 sta v9 35 mov v5, v8 36 mov v2, v8 37 tryldglobalbyname 0x3, print 38 callarg1 0x4, v7 39 tryldglobalbyname 0x6, print 40 callarg1 0x7, v8 41 mov v5, v9 42 mov v2, v9 43 lda v9 44 throw 45label_11: 46end_label_11: 47label_24: 48 sta v6 49label_2: 50 mov v2, v5 51 ldundefined 52 eq 0x9, v4 53 jeqz label_3 54label_4: 55 ldai 0x6 56 sta v0 57 tryldglobalbyname 0xa, print 58 callarg1 0xb, v5 59 mov v2, v0 60 lda v0 61 throw 62label_3: 63 ldhole 64 sta v4 65 lda v6 66 noteq 0xd, v4 67 jeqz label_5 68label_6: 69 lda v6 70 throw 71label_5: 72 tryldglobalbyname 0xe, print 73 callarg1 0xf, v5 74label_13: 75end_label_13: 76 jmp label_7 77label_25: 78 sta v3 79label_20: 80 tryldglobalbyname 0x11, print 81 callarg1 0x12, v3 82 tryldglobalbyname 0x14, print 83 callarg1 0x15, v2 84 mov v0, v1 85label_7: 86 tryldglobalbyname 0x17, print 87 callarg1 0x18, v0 88 returnundefined 89label_22: 90} 91 92.catchall label_8, end_label_9, label_23 93 94.catchall label_10, end_label_11, label_24 95 96.catchall label_12, end_label_13, label_25 97 98slotNum = 0x6 99.language ECMAScript 100.function any .#*#testSimpleThrow(any a0, any a1, any a2) { 101label_1: 102label_0: 103 tryldglobalbyname 0x0, print 104 sta v0 105 ldai 0x1 106 sta v1 107 lda v0 108 callarg1 0x1, v1 109 lda v1 110 throw 111label_2: 112} 113 114slotNum = 0x22 115.language ECMAScript 116.function any .#*#testThrowInTry(any a0, any a1, any a2) { 117 nop 118label_35: 119label_18: 120label_24: 121 ldai 0x2 122 sta v1 123 lda v1 124 throw 125label_19: 126end_label_19: 127label_37: 128 sta v0 129label_30: 130 tryldglobalbyname 0x0, print 131 callarg1 0x1, v0 132 tryldglobalbyname 0x3, print 133 callarg1 0x4, v1 134 tryldglobalbyname 0x6, print 135 sta v0 136 ldai 0x4 137 sta v1 138 lda v0 139 callarg1 0x7, v1 140 ldundefined 141 sta v0 142label_20: 143label_14: 144label_26: 145 ldai 0x5 146 sta v3 147 lda v3 148 throw 149label_15: 150end_label_15: 151label_38: 152 sta v2 153label_31: 154 lda v2 155 throw 156label_21: 157end_label_21: 158label_39: 159 sta v1 160label_3: 161 ldai 0x7 162 sta v2 163 ldundefined 164 eq 0x9, v0 165 jeqz label_4 166label_5: 167 tryldglobalbyname 0xa, print 168 callarg1 0xb, v3 169 mov v3, v2 170label_4: 171 ldhole 172 sta v0 173 lda v1 174 noteq 0xd, v0 175 jeqz label_6 176label_7: 177 lda v1 178 throw 179label_6: 180 ldai 0xa 181 sta v0 182 tryldglobalbyname 0xe, print 183 callarg1 0xf, v3 184 ldundefined 185 sta v1 186label_22: 187label_16: 188label_28: 189 ldai 0x8 190 sta v4 191 lda v4 192 throw 193label_17: 194end_label_17: 195label_40: 196 sta v3 197label_33: 198 tryldglobalbyname 0x11, print 199 callarg1 0x12, v3 200 tryldglobalbyname 0x14, print 201 callarg1 0x15, v4 202label_23: 203end_label_23: 204label_8: 205 ldhole 206 sta v3 207 mov v2, v3 208 jmp label_9 209label_41: 210 sta v2 211 mov v0, v4 212label_9: 213 ldai 0xb 214 sta v3 215 ldundefined 216 eq 0x17, v1 217 jeqz label_10 218label_11: 219 tryldglobalbyname 0x18, print 220 callarg1 0x19, v0 221 mov v0, v3 222label_10: 223 ldhole 224 sta v1 225 lda v2 226 noteq 0x1b, v1 227 jeqz label_12 228label_13: 229 lda v2 230 throw 231label_12: 232 tryldglobalbyname 0x1c, print 233 callarg1 0x1d, v0 234 tryldglobalbyname 0x1f, print 235 sta v0 236 ldai 0xc 237 sta v1 238 lda v0 239 callarg1 0x20, v1 240 returnundefined 241label_36: 242} 243 244.catchall label_14, end_label_15, label_38 245 246.catchall label_16, end_label_17, label_40 247 248.catchall label_18, end_label_19, label_37 249 250.catchall label_20, end_label_21, label_39 251 252.catchall label_22, end_label_23, label_41 253 254slotNum = 0x1f 255.language ECMAScript 256.function any .#*#testTryCatchFinally(any a0, any a1, any a2) { 257 nop 258label_35: 259 ldai 0x2 260 sta v0 261 ldai 0x3 262 sta v1 263label_18: 264label_19: 265end_label_19: 266 jmp label_1 267label_37: 268 sta v3 269label_30: 270 tryldglobalbyname 0x0, print 271 callarg1 0x1, v3 272 tryldglobalbyname 0x3, print 273 callarg1 0x4, v2 274 mov v0, v1 275label_1: 276 ldai 0x4 277 sta v1 278 tryldglobalbyname 0x6, print 279 callarg1 0x7, v0 280 ldundefined 281 sta v0 282label_20: 283label_14: 284label_15: 285end_label_15: 286 jmp label_2 287label_38: 288 sta v7 289label_31: 290 mov v2, v5 291 mov v3, v6 292 lda v7 293 throw 294label_21: 295end_label_21: 296label_2: 297 ldhole 298 sta v5 299 mov v4, v5 300 jmp label_3 301label_39: 302 sta v4 303 mov v1, v2 304 mov v0, v3 305label_3: 306 ldai 0x5 307 sta v2 308 ldundefined 309 eq 0x9, v0 310 jeqz label_4 311label_5: 312 tryldglobalbyname 0xa, print 313 callarg1 0xb, v1 314 mov v1, v2 315label_4: 316 ldhole 317 sta v0 318 lda v4 319 noteq 0xd, v0 320 jeqz label_6 321label_7: 322 lda v4 323 throw 324label_6: 325 ldai 0x7 326 sta v0 327 ldai 0x6 328 sta v2 329 tryldglobalbyname 0xe, print 330 callarg1 0xf, v1 331 ldundefined 332 sta v1 333label_22: 334label_16: 335label_17: 336end_label_17: 337 jmp label_42 338label_40: 339 sta v8 340label_33: 341 mov v3, v6 342 mov v4, v7 343 tryldglobalbyname 0x11, print 344 mov v3, v6 345 mov v4, v7 346 callarg1 0x12, v8 347 mov v3, v6 348 mov v4, v7 349 tryldglobalbyname 0x14, print 350 mov v3, v6 351 mov v4, v7 352 callarg1 0x15, v6 353label_23: 354end_label_23: 355label_43: 356 mov v1, v7 357 jmp label_8 358label_42: 359 mov v0, v2 360label_8: 361 ldhole 362 sta v2 363 mov v5, v2 364 jmp label_9 365label_41: 366 sta v5 367 mov v0, v3 368 mov v1, v4 369label_9: 370 ldai 0x8 371 sta v2 372 ldundefined 373 eq 0x17, v1 374 jeqz label_10 375label_11: 376 tryldglobalbyname 0x18, print 377 callarg1 0x19, v0 378 mov v0, v2 379label_10: 380 ldhole 381 sta v1 382 lda v5 383 noteq 0x1b, v1 384 jeqz label_12 385label_13: 386 lda v5 387 throw 388label_12: 389 tryldglobalbyname 0x1c, print 390 callarg1 0x1d, v0 391 returnundefined 392label_36: 393} 394 395.catchall label_14, end_label_15, label_38 396 397.catchall label_16, end_label_17, label_40 398 399.catchall label_18, end_label_19, label_37 400 401.catchall label_20, end_label_21, label_39 402 403.catchall label_22, end_label_23, label_41 404 405slotNum = 0x23 406.language ECMAScript 407.function any .#*#testTryCatchFinallyWithReturn(any a0, any a1, any a2) { 408 nop 409label_15: 410label_0: 411 ldai 0x6 412 sta v0 413 ldundefined 414 sta v1 415label_9: 416label_7: 417label_11: 418 ldai 0x3 419 sta v6 420 ldai 0x2 421 sta v7 422 mov v4, v7 423 mov v2, v7 424 tryldglobalbyname 0x0, print 425 callarg1 0x1, v7 426 mov v4, v6 427 mov v2, v6 428 lda v6 429 throw 430label_8: 431end_label_8: 432label_17: 433 sta v5 434label_13: 435 mov v2, v4 436 tryldglobalbyname 0xc, print 437 callarg1 0xd, v5 438 tryldglobalbyname 0xf, print 439 callarg1 0x10, v4 440 tryldglobalbyname 0x12, print 441 callarg1 0x13, v4 442 mov v2, v0 443 tryldglobalbyname 0x15, print 444 callarg1 0x16, v0 445 lda v0 446 return 447label_10: 448end_label_10: 449label_18: 450 sta v3 451label_2: 452 ldundefined 453 eq 0x18, v1 454 jeqz label_3 455label_4: 456 tryldglobalbyname 0x19, print 457 callarg1 0x1a, v2 458 tryldglobalbyname 0x1c, print 459 callarg1 0x1d, v0 460 lda v0 461 return 462label_3: 463 ldhole 464 sta v0 465 lda v3 466 noteq 0x1f, v0 467 jeqz label_5 468label_6: 469 lda v3 470 throw 471label_5: 472 tryldglobalbyname 0x20, print 473 sta v0 474 ldai 0x7 475 sta v1 476 lda v0 477 callarg1 0x21, v1 478 lda v1 479 return 480label_16: 481} 482 483.catchall label_7, end_label_8, label_17 484 485.catchall label_9, end_label_10, label_18 486 487slotNum = 0x1e 488.language ECMAScript 489.function any .func_main_0(any a0, any a1, any a2) { 490 nop 491label_22: 492label_0: 493 definefunc 0x0, .#*#testComplexThrow, 0x0 494 sta v0 495 definefunc 0x1, .#*#testSimpleThrow, 0x0 496 sta v1 497 definefunc 0x2, .#*#testThrowInTry, 0x0 498 sta v2 499 definefunc 0x3, .#*#testTryCatchFinally, 0x0 500 sta v3 501 definefunc 0x4, .#*#testTryCatchFinallyWithReturn, 0x0 502 sta v4 503 lda v3 504 callarg0 0x5 505label_5: 506label_13: 507 lda v1 508 callarg0 0x7 509label_6: 510end_label_6: 511 jmp label_7 512label_24: 513 sta v3 514label_18: 515 tryldglobalbyname 0x9, print 516 callarg1 0xa, v3 517label_7: 518label_1: 519 lda v2 520 callarg0 0xc 521label_8: 522end_label_8: 523 jmp label_9 524label_25: 525 sta v1 526label_19: 527 tryldglobalbyname 0xe, print 528 callarg1 0xf, v1 529label_9: 530label_2: 531 lda v0 532 callarg0 0x11 533label_10: 534end_label_10: 535 jmp label_11 536label_26: 537 sta v1 538label_20: 539 tryldglobalbyname 0x13, print 540 callarg1 0x14, v1 541label_11: 542label_3: 543 tryldglobalbyname 0x16, print 544 sta v1 545 lda v4 546 callarg0 0x17 547 sta v2 548 lda v1 549 callarg1 0x19, v2 550label_12: 551end_label_12: 552 jmp label_4 553label_27: 554 sta v0 555label_21: 556 tryldglobalbyname 0x1b, print 557 callarg1 0x1c, v0 558label_4: 559 returnundefined 560label_23: 561} 562 563.catchall label_5, end_label_6, label_24 564 565.catchall label_7, end_label_8, label_25 566 567.catchall label_9, end_label_10, label_26 568 569.catchall label_11, end_label_12, label_27 570 571 572