1slotNum = 0x4 2.language ECMAScript 3.function any .#*#testCatchPhiDataflow(any a0, any a1, any a2) { 4 nop 5label_9: 6label_5: 7label_7: 8 ldlexvar 0x0, 0x0 9 sta v1 10 throw.undefinedifholewithname globalCond 11 lda v1 12 callruntime.isfalse 0x0 13 jnez label_1 14label_2: 15 lda.str 1 16 throw 17label_1: 18 lda.str 2 19 sta v1 20label_6: 21end_label_6: 22 jmp label_12 23label_11: 24 sta v0 25 jmp label_4 26label_12: 27 mov v0, v1 28label_4: 29 tryldglobalbyname 0x1, print 30 callarg1 0x2, v0 31 returnundefined 32label_10: 33} 34 35.catchall label_5, end_label_6, label_11 36 37slotNum = 0x3 38.language ECMAScript 39.function any .#*#testTryWithAccCatchPhi(any a0, any a1, any a2) { 40 nop 41label_7: 42label_2: 43label_4: 44 ldai 0x1 45 throw 46label_3: 47end_label_3: 48label_9: 49 sta v0 50label_6: 51 tryldglobalbyname 0x0, print 52 callarg1 0x1, v0 53 returnundefined 54label_8: 55} 56 57.catchall label_2, end_label_3, label_9 58 59slotNum = 0x8 60.language ECMAScript 61.function any .#*#testTryWithMoveConstants(any a0, any a1, any a2) { 62 nop 63label_12: 64 ldai 0x2 65 sta v0 66label_3: 67label_7: 68 lda v0 69 throw 70label_4: 71end_label_4: 72label_14: 73label_10: 74 ldai 0x3 75 sta v1 76 tryldglobalbyname 0x0, print 77 sta v2 78 lda v0 79 stricteq 0x1, v0 80 sta v0 81 lda v2 82 callarg1 0x2, v0 83label_5: 84label_1: 85 lda v1 86 throw 87label_6: 88end_label_6: 89label_15: 90label_11: 91 tryldglobalbyname 0x4, print 92 sta v0 93 lda v1 94 stricteq 0x5, v1 95 sta v1 96 lda v0 97 callarg1 0x6, v1 98 returnundefined 99label_13: 100} 101 102.catchall label_3, end_label_4, label_14 103 104.catchall label_5, end_label_6, label_15 105 106slotNum = 0xc 107.language ECMAScript 108.function any .#*#testTryWithRegAccAlloc(any a0, any a1, any a2) { 109 nop 110label_7: 111label_0: 112 lda.str s1 113 sta v0 114 lda.str s2 115 sta v1 116 add2 0x0, v0 117 sta v2 118 tryldglobalbyname 0x1, print 119 callarg1 0x2, v2 120label_2: 121label_4: 122 mov v2, v1 123 mov v3, v0 124 lda.str s1 125 sta v0 126 mov v3, v0 127 lda.str s2 128 sta v0 129 ldai 0x1 130 mov v2, v0 131 throw 132label_3: 133end_label_3: 134label_9: 135label_6: 136 lda v2 137 add2 0x4, v3 138 sta v0 139 tryldglobalbyname 0x5, print 140 callarg1 0x6, v0 141 lda v2 142 add2 0x8, v3 143 sta v0 144 tryldglobalbyname 0x9, print 145 callarg1 0xa, v0 146 returnundefined 147label_8: 148} 149 150.catchall label_2, end_label_3, label_9 151 152slotNum = 0xc 153.language ECMAScript 154.function any .func_main_0(any a0, any a1, any a2) { 155label_1: 156label_0: 157 newlexenv 0x1 158 definefunc 0x0, .#*#testCatchPhiDataflow, 0x0 159 sta v0 160 definefunc 0x1, .#*#testTryWithAccCatchPhi, 0x0 161 sta v1 162 definefunc 0x2, .#*#testTryWithMoveConstants, 0x0 163 sta v2 164 definefunc 0x3, .#*#testTryWithRegAccAlloc, 0x0 165 sta v3 166 ldtrue 167 stlexvar 0x0, 0x0 168 lda v0 169 callarg0 0x4 170 lda v1 171 callarg0 0x6 172 lda v2 173 callarg0 0x8 174 lda v3 175 callarg0 0xa 176 returnundefined 177label_2: 178} 179 180 181