|
142 | 142 | i32.const 0
|
143 | 143 | return
|
144 | 144 | )
|
| 145 | + (func $~start (type $none_=>_none) |
| 146 | + call $start:NonNullable |
| 147 | + ) |
| 148 | + (func $~stack_check (type $none_=>_none) |
| 149 | + global.get $~lib/memory/__stack_pointer |
| 150 | + global.get $~lib/memory/__data_end |
| 151 | + i32.lt_s |
| 152 | + if |
| 153 | + i32.const 33152 |
| 154 | + i32.const 33200 |
| 155 | + i32.const 1 |
| 156 | + i32.const 1 |
| 157 | + call $~lib/builtins/abort |
| 158 | + unreachable |
| 159 | + end |
| 160 | + ) |
145 | 161 | (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32)
|
146 | 162 | (local $leftLength i32)
|
| 163 | + (local $3 i32) |
| 164 | + global.get $~lib/memory/__stack_pointer |
| 165 | + i32.const 8 |
| 166 | + i32.sub |
| 167 | + global.set $~lib/memory/__stack_pointer |
| 168 | + call $~stack_check |
| 169 | + global.get $~lib/memory/__stack_pointer |
| 170 | + i64.const 0 |
| 171 | + i64.store $0 |
147 | 172 | local.get $left
|
148 | 173 | local.get $right
|
149 | 174 | i32.eq
|
150 | 175 | if
|
151 | 176 | i32.const 1
|
| 177 | + local.set $3 |
| 178 | + global.get $~lib/memory/__stack_pointer |
| 179 | + i32.const 8 |
| 180 | + i32.add |
| 181 | + global.set $~lib/memory/__stack_pointer |
| 182 | + local.get $3 |
152 | 183 | return
|
153 | 184 | end
|
154 | 185 | local.get $left
|
|
163 | 194 | end
|
164 | 195 | if
|
165 | 196 | i32.const 0
|
| 197 | + local.set $3 |
| 198 | + global.get $~lib/memory/__stack_pointer |
| 199 | + i32.const 8 |
| 200 | + i32.add |
| 201 | + global.set $~lib/memory/__stack_pointer |
| 202 | + local.get $3 |
166 | 203 | return
|
167 | 204 | end
|
168 | 205 | local.get $left
|
| 206 | + local.set $3 |
| 207 | + global.get $~lib/memory/__stack_pointer |
| 208 | + local.get $3 |
| 209 | + i32.store $0 |
| 210 | + local.get $3 |
169 | 211 | call $~lib/string/String#get:length
|
170 | 212 | local.set $leftLength
|
171 | 213 | local.get $leftLength
|
172 | 214 | local.get $right
|
| 215 | + local.set $3 |
| 216 | + global.get $~lib/memory/__stack_pointer |
| 217 | + local.get $3 |
| 218 | + i32.store $0 |
| 219 | + local.get $3 |
173 | 220 | call $~lib/string/String#get:length
|
174 | 221 | i32.ne
|
175 | 222 | if
|
176 | 223 | i32.const 0
|
| 224 | + local.set $3 |
| 225 | + global.get $~lib/memory/__stack_pointer |
| 226 | + i32.const 8 |
| 227 | + i32.add |
| 228 | + global.set $~lib/memory/__stack_pointer |
| 229 | + local.get $3 |
177 | 230 | return
|
178 | 231 | end
|
179 | 232 | local.get $left
|
| 233 | + local.set $3 |
| 234 | + global.get $~lib/memory/__stack_pointer |
| 235 | + local.get $3 |
| 236 | + i32.store $0 |
| 237 | + local.get $3 |
180 | 238 | i32.const 0
|
181 | 239 | local.get $right
|
| 240 | + local.set $3 |
| 241 | + global.get $~lib/memory/__stack_pointer |
| 242 | + local.get $3 |
| 243 | + i32.store $0 offset=4 |
| 244 | + local.get $3 |
182 | 245 | i32.const 0
|
183 | 246 | local.get $leftLength
|
184 | 247 | call $~lib/util/string/compareImpl
|
185 | 248 | i32.eqz
|
| 249 | + local.set $3 |
| 250 | + global.get $~lib/memory/__stack_pointer |
| 251 | + i32.const 8 |
| 252 | + i32.add |
| 253 | + global.set $~lib/memory/__stack_pointer |
| 254 | + local.get $3 |
186 | 255 | return
|
187 | 256 | )
|
188 | 257 | (func $~lib/string/String.__ne (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32)
|
| 258 | + (local $2 i32) |
| 259 | + global.get $~lib/memory/__stack_pointer |
| 260 | + i32.const 8 |
| 261 | + i32.sub |
| 262 | + global.set $~lib/memory/__stack_pointer |
| 263 | + call $~stack_check |
| 264 | + global.get $~lib/memory/__stack_pointer |
| 265 | + i64.const 0 |
| 266 | + i64.store $0 |
189 | 267 | local.get $left
|
| 268 | + local.set $2 |
| 269 | + global.get $~lib/memory/__stack_pointer |
| 270 | + local.get $2 |
| 271 | + i32.store $0 |
| 272 | + local.get $2 |
190 | 273 | local.get $right
|
| 274 | + local.set $2 |
| 275 | + global.get $~lib/memory/__stack_pointer |
| 276 | + local.get $2 |
| 277 | + i32.store $0 offset=4 |
| 278 | + local.get $2 |
191 | 279 | call $~lib/string/String.__eq
|
192 | 280 | i32.eqz
|
| 281 | + local.set $2 |
| 282 | + global.get $~lib/memory/__stack_pointer |
| 283 | + i32.const 8 |
| 284 | + i32.add |
| 285 | + global.set $~lib/memory/__stack_pointer |
| 286 | + local.get $2 |
193 | 287 | return
|
194 | 288 | )
|
195 | 289 | (func $NonNullable/assertNonNull<~lib/string/String> (type $i32_=>_none) (param $t i32)
|
| 290 | + (local $1 i32) |
| 291 | + global.get $~lib/memory/__stack_pointer |
| 292 | + i32.const 4 |
| 293 | + i32.sub |
| 294 | + global.set $~lib/memory/__stack_pointer |
| 295 | + call $~stack_check |
| 296 | + global.get $~lib/memory/__stack_pointer |
| 297 | + i32.const 0 |
| 298 | + i32.store $0 |
196 | 299 | i32.const 0
|
197 | 300 | i32.eqz
|
198 | 301 | drop
|
199 | 302 | local.get $t
|
| 303 | + local.set $1 |
| 304 | + global.get $~lib/memory/__stack_pointer |
| 305 | + local.get $1 |
| 306 | + i32.store $0 |
| 307 | + local.get $1 |
200 | 308 | i32.const 0
|
201 | 309 | call $~lib/string/String.__ne
|
202 | 310 | i32.eqz
|
|
208 | 316 | call $~lib/builtins/abort
|
209 | 317 | unreachable
|
210 | 318 | end
|
| 319 | + global.get $~lib/memory/__stack_pointer |
| 320 | + i32.const 4 |
| 321 | + i32.add |
| 322 | + global.set $~lib/memory/__stack_pointer |
211 | 323 | )
|
212 | 324 | (func $NonNullable/safetyCheck<~lib/string/String|null> (type $i32_=>_none) (param $t i32)
|
| 325 | + (local $1 i32) |
| 326 | + global.get $~lib/memory/__stack_pointer |
| 327 | + i32.const 4 |
| 328 | + i32.sub |
| 329 | + global.set $~lib/memory/__stack_pointer |
| 330 | + call $~stack_check |
| 331 | + global.get $~lib/memory/__stack_pointer |
| 332 | + i32.const 0 |
| 333 | + i32.store $0 |
213 | 334 | local.get $t
|
| 335 | + local.set $1 |
| 336 | + global.get $~lib/memory/__stack_pointer |
| 337 | + local.get $1 |
| 338 | + i32.store $0 |
| 339 | + local.get $1 |
214 | 340 | i32.const 0
|
215 | 341 | call $~lib/string/String.__ne
|
216 | 342 | if
|
217 | 343 | local.get $t
|
| 344 | + local.set $1 |
| 345 | + global.get $~lib/memory/__stack_pointer |
| 346 | + local.get $1 |
| 347 | + i32.store $0 |
| 348 | + local.get $1 |
218 | 349 | call $NonNullable/assertNonNull<~lib/string/String>
|
219 | 350 | end
|
220 |
| - ) |
221 |
| - (func $~start (type $none_=>_none) |
222 |
| - call $start:NonNullable |
223 |
| - ) |
224 |
| - (func $~stack_check (type $none_=>_none) |
225 | 351 | global.get $~lib/memory/__stack_pointer
|
226 |
| - global.get $~lib/memory/__data_end |
227 |
| - i32.lt_s |
228 |
| - if |
229 |
| - i32.const 33152 |
230 |
| - i32.const 33200 |
231 |
| - i32.const 1 |
232 |
| - i32.const 1 |
233 |
| - call $~lib/builtins/abort |
234 |
| - unreachable |
235 |
| - end |
| 352 | + i32.const 4 |
| 353 | + i32.add |
| 354 | + global.set $~lib/memory/__stack_pointer |
236 | 355 | )
|
237 | 356 | (func $start:NonNullable (type $none_=>_none)
|
238 | 357 | (local $0 i32)
|
|
0 commit comments