1 .text 2 l: 3 /* a# test references after weakref. */ 4 .weakref Wwa1, wa1 5 .long Wwa1 6 7 .weakref Wua2, ua2 8 .long ua2 9 10 .weakref Wua3, ua3 11 .long Wua3 12 .long ua3 13 14 .weakref Wua4, ua4 15 .long ua4 16 .long Wua4 17 18 .weakref Wna5, na5 19 20 /* b# test references before weakref. */ 21 .long Wwb1 22 .weakref Wwb1, wb1 23 24 .long ub2 25 .weakref Wub2, ub2 26 27 .long Wub3 28 .long ub3 29 .weakref Wub3, ub3 30 31 .long ub4 32 .long Wub4 33 .weakref Wub4, ub4 34 35 /* c# test combinations of references before and after weakref. */ 36 .long Wwc1 37 .weakref Wwc1, wc1 38 .long Wwc1 39 40 .long uc2 41 .weakref Wuc2, uc2 42 .long uc2 43 44 .long Wuc3 45 .long uc3 46 .weakref Wuc3, uc3 47 .long Wuc3 48 .long uc3 49 50 .long uc4 51 .long Wuc4 52 .weakref Wuc4, uc4 53 .long uc4 54 .long Wuc4 55 56 .long Wuc5 57 .long uc5 58 .weakref Wuc5, uc5 59 .long uc5 60 .long Wuc5 61 62 .long uc6 63 .long Wuc6 64 .weakref Wuc6, uc6 65 .long uc6 66 .long Wuc6 67 68 .long uc7 69 .weakref Wuc7, uc7 70 .long Wuc7 71 72 .long Wuc8 73 .weakref Wuc8, uc8 74 .long uc8 75 76 .long Wuc9 77 .weakref Wuc9, uc9 78 .long Wuc9 79 .long uc9 80 81 /* w# test that explicitly weak target don't lose the weak status */ 82 .weakref Www1, ww1 83 .weak ww1 84 .long ww1 85 86 .weak ww2 87 .weakref Www2, ww2 88 .long ww2 89 90 .weak ww3 91 .long ww3 92 .weakref Www3, ww3 93 .long ww3 94 95 .long ww4 96 .weakref Www4, ww4 97 .weak ww4 98 .long ww4 99 100 .long ww5 101 .weakref Www5, ww5 102 .long ww5 103 .weak ww5 104 105 .weakref Www6, ww6 106 .weak ww6 107 .long Www6 108 109 .weak ww7 110 .weakref Www7, ww7 111 .long Www7 112 113 .weak ww8 114 .long Www8 115 .weakref Www8, ww8 116 .long Www8 117 118 .long Www9 119 .weakref Www9, ww9 120 .weak ww9 121 .long Www9 122 123 .long Www10 124 .weakref Www10, ww10 125 .long Www10 126 .weak ww10 127 128 /* m# test multiple weakrefs */ 129 .weakref Wnm4a, nm4 130 .weakref Wnm4b, nm4 131 132 .weakref Wum5a, um5 133 .weakref Wum5b, um5 134 .long um5 135 136 .weakref Wwm6a, wm6 137 .weakref Wwm6b, wm6 138 .long Wwm6a 139 140 .weakref Wwm7a, wm7 141 .weakref Wwm7b, wm7 142 .long Wwm7b 143 144 .weakref Wwm8a, wm8 145 .long Wwm8b 146 .weakref Wwm8b, wm8 147 148 /* h# test weakref chain */ 149 .weakref Wnh1a, nh1 150 .weakref Wnh1b, Wnh1a 151 .weakref Wnh1c, Wnh1b 152 153 .weakref Wwh2a, wh2 154 .weakref Wwh2b, Wwh2a 155 .long Wwh2b 156 157 .weakref Wwh3a, wh3 158 .weakref Wwh3b, Wwh3a 159 .long Wwh3a 160 161 .weakref Wwh4b, Wwh4a 162 .weakref Wwh4a, wh4 163 .long Wwh4b 164 165 .long Wwh5b 166 .weakref Wwh5a, wh5 167 .weakref Wwh5b, Wwh5a 168 169 .long Wwh6b 170 .weakref Wwh6b, Wwh6a 171 .weakref Wwh6a, wh6 172 173 .weakref Wwh7b, Wwh7a 174 .long Wwh7b 175 .weakref Wwh7a, wh7 176 177 .long Wuh8c 178 .weakref Wuh8a, uh8 179 .weakref Wuh8b, Wuh8a 180 .weakref Wuh8c, Wuh8b 181 .long uh8 182 183 .long Wuh9c 184 .weakref Wuh9c, Wuh9b 185 .weakref Wuh9b, Wuh9a 186 .weakref Wuh9a, uh9 187 .long uh9 188 189 /* d# target symbol definitions */ 190 .weakref Wld1, ld1 191 .long Wld1 192 ld1 == l 193 194 .weakref Wld2, ld2 195 .long Wld2 196 ld2: 197 198 ld3: 199 .weakref Wld3, ld3 200 .long Wld3 201 202 ld4: 203 .long Wld4 204 .weakref Wld4, ld4 205 206 .global ud5 207 .weakref Wud5, ud5 208 .long Wud5 209 210 .global gd6 211 .weakref Wgd6, gd6 212 .long Wgd6 213 gd6: 214 215 .weakref Wgd7, gd7 216 .long Wgd7 217 .global gd7 218 gd7: 219 220 .long Wld8c 221 .weakref Wld8a, ld8 222 .weakref Wld8b, Wld8a 223 .weakref Wld8c, Wld8b 224 .long ld8 225 ld8: 226 227 .long Wld9c 228 .weakref Wld9c, Wld9b 229 .weakref Wld9b, Wld9a 230 .weakref Wld9a, ld9 231 .long ld9 232 ld9: 233