diff --git a/frontend-wasm/tests/expected/dlmalloc.wat b/frontend-wasm/tests/expected/dlmalloc.wat new file mode 100644 index 00000000..6a5d40aa --- /dev/null +++ b/frontend-wasm/tests/expected/dlmalloc.wat @@ -0,0 +1,7561 @@ +(module + (type (;0;) (func (param i32 i32))) + (type (;1;) (func (param i32 i32 i32) (result i32))) + (type (;2;) (func (param i32 i32) (result i32))) + (type (;3;) (func (param i32 i32 i32))) + (type (;4;) (func (param i32 i32 i32 i32))) + (type (;5;) (func (result i32))) + (type (;6;) (func (param i32 i32 i32 i32) (result i32))) + (type (;7;) (func (param i32 i32 i32 i32 i32))) + (type (;8;) (func (param i32))) + (type (;9;) (func (param i32) (result i32))) + (type (;10;) (func (param i32 i32 i32 i32 i32) (result i32))) + (type (;11;) (func)) + (type (;12;) (func (param i32 i32 i32 i32 i32 i32) (result i32))) + (type (;13;) (func (param i64 i32 i32) (result i32))) + (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h1e4a8c034433d099E (;0;) (type 0) (param i32 i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.load offset=8 + local.tee 2 + local.get 0 + i32.load offset=4 + i32.ne + br_if 0 (;@1;) + local.get 0 + local.get 2 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h7ad416b72e69d161E + local.get 0 + i32.load offset=8 + local.set 2 + end + local.get 0 + local.get 2 + i32.const 1 + i32.add + i32.store offset=8 + local.get 0 + i32.load + local.get 2 + i32.const 2 + i32.shl + i32.add + local.get 1 + i32.store + ) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h7ad416b72e69d161E (;1;) (type 0) (param i32 i32) + (local i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 1 + i32.add + local.tee 1 + i32.eqz + br_if 0 (;@2;) + local.get 0 + i32.load offset=4 + local.tee 3 + i32.const 1 + i32.shl + local.tee 4 + local.get 1 + local.get 4 + local.get 1 + i32.gt_u + select + local.tee 1 + i32.const 4 + local.get 1 + i32.const 4 + i32.gt_u + select + local.tee 1 + i32.const 2 + i32.shl + local.set 4 + local.get 1 + i32.const 536870912 + i32.lt_u + i32.const 2 + i32.shl + local.set 5 + block ;; label = @3 + block ;; label = @4 + local.get 3 + i32.eqz + br_if 0 (;@4;) + local.get 2 + i32.const 4 + i32.store offset=24 + local.get 2 + local.get 3 + i32.const 2 + i32.shl + i32.store offset=28 + local.get 2 + local.get 0 + i32.load + i32.store offset=20 + br 1 (;@3;) + end + local.get 2 + i32.const 0 + i32.store offset=24 + end + local.get 2 + i32.const 8 + i32.add + local.get 5 + local.get 4 + local.get 2 + i32.const 20 + i32.add + call $_ZN5alloc7raw_vec11finish_grow17h480c30679ac3ca62E + local.get 2 + i32.load offset=12 + local.set 3 + block ;; label = @3 + local.get 2 + i32.load offset=8 + br_if 0 (;@3;) + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + br 2 (;@1;) + end + local.get 3 + i32.const -2147483647 + i32.eq + br_if 1 (;@1;) + local.get 3 + i32.eqz + br_if 0 (;@2;) + local.get 3 + local.get 2 + i32.const 16 + i32.add + i32.load + call $_ZN5alloc5alloc18handle_alloc_error17h5954dad6240bd34cE + unreachable + end + call $_ZN5alloc7raw_vec17capacity_overflow17h60dad8f89cdc9074E + unreachable + end + local.get 2 + i32.const 32 + i32.add + global.set $__stack_pointer + ) + (func $_ZN5alloc5alloc6Global10alloc_impl17h62bbf6ccc900e01bE (;2;) (type 3) (param i32 i32 i32) + block ;; label = @1 + local.get 2 + i32.eqz + br_if 0 (;@1;) + i32.const 0 + i32.load8_u offset=1049417 + drop + local.get 2 + local.get 1 + call $__rust_alloc + local.set 1 + end + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store + ) + (func $_ZN5alloc7raw_vec11finish_grow17h480c30679ac3ca62E (;3;) (type 4) (param i32 i32 i32 i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 4 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 1 + i32.eqz + br_if 0 (;@4;) + local.get 2 + i32.const -1 + i32.le_s + br_if 1 (;@3;) + block ;; label = @5 + block ;; label = @6 + local.get 3 + i32.load offset=4 + i32.eqz + br_if 0 (;@6;) + block ;; label = @7 + local.get 3 + i32.const 8 + i32.add + i32.load + local.tee 5 + br_if 0 (;@7;) + local.get 4 + i32.const 8 + i32.add + local.get 1 + local.get 2 + call $_ZN5alloc5alloc6Global10alloc_impl17h62bbf6ccc900e01bE + local.get 4 + i32.load offset=12 + local.set 5 + local.get 4 + i32.load offset=8 + local.set 3 + br 2 (;@5;) + end + local.get 3 + i32.load + local.get 5 + local.get 1 + local.get 2 + call $__rust_realloc + local.set 3 + local.get 2 + local.set 5 + br 1 (;@5;) + end + local.get 4 + local.get 1 + local.get 2 + call $_ZN5alloc5alloc6Global10alloc_impl17h62bbf6ccc900e01bE + local.get 4 + i32.load offset=4 + local.set 5 + local.get 4 + i32.load + local.set 3 + end + block ;; label = @5 + local.get 3 + i32.eqz + br_if 0 (;@5;) + local.get 0 + local.get 3 + i32.store offset=4 + local.get 0 + i32.const 8 + i32.add + local.get 5 + i32.store + i32.const 0 + local.set 2 + br 4 (;@1;) + end + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.store + br 2 (;@2;) + end + local.get 0 + i32.const 0 + i32.store offset=4 + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.store + br 1 (;@2;) + end + local.get 0 + i32.const 0 + i32.store offset=4 + end + i32.const 1 + local.set 2 + end + local.get 0 + local.get 2 + i32.store + local.get 4 + i32.const 16 + i32.add + global.set $__stack_pointer + ) + (func $__main (;4;) (type 5) (result i32) + (local i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 0 + global.set $__stack_pointer + local.get 0 + i32.const 0 + i32.store offset=12 + local.get 0 + i64.const 4 + i64.store offset=4 align=4 + local.get 0 + i32.const 4 + i32.add + i32.const 1 + call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h1e4a8c034433d099E + local.get 0 + i32.const 4 + i32.add + i32.const 2 + call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h1e4a8c034433d099E + block ;; label = @1 + local.get 0 + i32.load offset=12 + local.tee 1 + i32.eqz + br_if 0 (;@1;) + local.get 1 + i32.const 2 + i32.shl + local.get 0 + i32.load offset=4 + local.tee 2 + i32.add + i32.const -4 + i32.add + i32.load + local.set 1 + block ;; label = @2 + local.get 0 + i32.load offset=8 + local.tee 3 + i32.eqz + br_if 0 (;@2;) + local.get 2 + local.get 3 + i32.const 2 + i32.shl + i32.const 4 + call $__rust_dealloc + end + local.get 0 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 1 + return + end + i32.const 1048576 + i32.const 43 + i32.const 1048692 + call $_ZN4core9panicking5panic17h62f53cc4db8dd7b3E + unreachable + ) + (func $__rust_alloc (;5;) (type 2) (param i32 i32) (result i32) + (local i32) + local.get 0 + local.get 1 + call $__rdl_alloc + local.set 2 + local.get 2 + return + ) + (func $__rust_dealloc (;6;) (type 3) (param i32 i32 i32) + local.get 0 + local.get 1 + local.get 2 + call $__rdl_dealloc + return + ) + (func $__rust_realloc (;7;) (type 6) (param i32 i32 i32 i32) (result i32) + (local i32) + local.get 0 + local.get 1 + local.get 2 + local.get 3 + call $__rdl_realloc + local.set 4 + local.get 4 + return + ) + (func $__rust_alloc_error_handler (;8;) (type 0) (param i32 i32) + local.get 0 + local.get 1 + call $__rg_oom + return + ) + (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h1ce590c2323b6d16E (;9;) (type 0) (param i32 i32) + local.get 0 + i64.const 8376436767652381350 + i64.store offset=8 + local.get 0 + i64.const 1357705902305437542 + i64.store + ) + (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h7ada9ab8a8b939abE (;10;) (type 0) (param i32 i32) + local.get 0 + i64.const -1688046730280208939 + i64.store offset=8 + local.get 0 + i64.const -2518113060735759681 + i64.store + ) + (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17haa4c46c88ce3b862E (;11;) (type 0) (param i32 i32) + local.get 0 + i64.const -163230743173927068 + i64.store offset=8 + local.get 0 + i64.const -4493808902380553279 + i64.store + ) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h0a25f43fd51004d4E (;12;) (type 3) (param i32 i32 i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 3 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 1 + local.get 2 + i32.add + local.tee 2 + local.get 1 + i32.lt_u + br_if 0 (;@2;) + local.get 0 + i32.load offset=4 + local.tee 1 + i32.const 1 + i32.shl + local.tee 4 + local.get 2 + local.get 4 + local.get 2 + i32.gt_u + select + local.tee 2 + i32.const 8 + local.get 2 + i32.const 8 + i32.gt_u + select + local.tee 2 + i32.const -1 + i32.xor + i32.const 31 + i32.shr_u + local.set 4 + block ;; label = @3 + block ;; label = @4 + local.get 1 + i32.eqz + br_if 0 (;@4;) + local.get 3 + local.get 1 + i32.store offset=28 + local.get 3 + i32.const 1 + i32.store offset=24 + local.get 3 + local.get 0 + i32.load + i32.store offset=20 + br 1 (;@3;) + end + local.get 3 + i32.const 0 + i32.store offset=24 + end + local.get 3 + i32.const 8 + i32.add + local.get 4 + local.get 2 + local.get 3 + i32.const 20 + i32.add + call $_ZN5alloc7raw_vec11finish_grow17hc92d64cd21ea82bbE + local.get 3 + i32.load offset=12 + local.set 1 + block ;; label = @3 + local.get 3 + i32.load offset=8 + br_if 0 (;@3;) + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store + br 2 (;@1;) + end + local.get 1 + i32.const -2147483647 + i32.eq + br_if 1 (;@1;) + local.get 1 + i32.eqz + br_if 0 (;@2;) + local.get 1 + local.get 3 + i32.const 16 + i32.add + i32.load + call $_ZN5alloc5alloc18handle_alloc_error17h5954dad6240bd34cE + unreachable + end + call $_ZN5alloc7raw_vec17capacity_overflow17h60dad8f89cdc9074E + unreachable + end + local.get 3 + i32.const 32 + i32.add + global.set $__stack_pointer + ) + (func $_ZN4core3fmt9Arguments6new_v117he1e436505aa5faf2E (;13;) (type 7) (param i32 i32 i32 i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 5 + global.set $__stack_pointer + block ;; label = @1 + local.get 2 + local.get 4 + i32.lt_u + br_if 0 (;@1;) + local.get 4 + i32.const 1 + i32.add + local.get 2 + i32.lt_u + br_if 0 (;@1;) + local.get 0 + i32.const 0 + i32.store offset=16 + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store + local.get 0 + local.get 3 + i32.store offset=8 + local.get 0 + i32.const 12 + i32.add + local.get 4 + i32.store + local.get 5 + i32.const 32 + i32.add + global.set $__stack_pointer + return + end + local.get 5 + i32.const 20 + i32.add + i64.const 0 + i64.store align=4 + local.get 5 + i32.const 1 + i32.store offset=12 + local.get 5 + i32.const 1048744 + i32.store offset=8 + local.get 5 + i32.const 1048752 + i32.store offset=16 + local.get 5 + i32.const 8 + i32.add + i32.const 1048828 + call $_ZN4core9panicking9panic_fmt17h9f61a1f2faa523f9E + unreachable + ) + (func $_ZN4core3ptr100drop_in_place$LT$$RF$mut$u20$std..io..Write..write_fmt..Adapter$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17h250c08e305452eddE (;14;) (type 8) (param i32)) + (func $_ZN4core3ptr29drop_in_place$LT$$LP$$RP$$GT$17h0da2d18719d7e5aeE (;15;) (type 8) (param i32)) + (func $_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h00bc8d42ee6f44a6E (;16;) (type 8) (param i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.load offset=4 + local.tee 1 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.load + local.get 1 + i32.const 1 + call $__rust_dealloc + end + ) + (func $_ZN4core3ptr70drop_in_place$LT$std..panicking..begin_panic_handler..PanicPayload$GT$17h2c8a183a981bc3d4E (;17;) (type 8) (param i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.load offset=4 + local.tee 1 + i32.eqz + br_if 0 (;@1;) + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 0 + i32.eqz + br_if 0 (;@1;) + local.get 1 + local.get 0 + i32.const 1 + call $__rust_dealloc + end + ) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17hbe0cfb4ea4b7187fE (;18;) (type 2) (param i32 i32) (result i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 0 + i32.load + local.set 0 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 1 + i32.const 128 + i32.lt_u + br_if 0 (;@4;) + local.get 2 + i32.const 0 + i32.store offset=12 + local.get 1 + i32.const 2048 + i32.lt_u + br_if 1 (;@3;) + block ;; label = @5 + local.get 1 + i32.const 65536 + i32.ge_u + br_if 0 (;@5;) + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 224 + i32.or + i32.store8 offset=12 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + i32.const 3 + local.set 1 + br 3 (;@2;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=15 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 + local.get 2 + local.get 1 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get 2 + local.get 1 + i32.const 18 + i32.shr_u + i32.const 7 + i32.and + i32.const 240 + i32.or + i32.store8 offset=12 + i32.const 4 + local.set 1 + br 2 (;@2;) + end + block ;; label = @4 + local.get 0 + i32.load offset=8 + local.tee 3 + local.get 0 + i32.load offset=4 + i32.ne + br_if 0 (;@4;) + local.get 0 + local.get 3 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h3cf17d8e61e987a2E + local.get 0 + i32.load offset=8 + local.set 3 + end + local.get 0 + local.get 3 + i32.const 1 + i32.add + i32.store offset=8 + local.get 0 + i32.load + local.get 3 + i32.add + local.get 1 + i32.store8 + br 2 (;@1;) + end + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=13 + local.get 2 + local.get 1 + i32.const 6 + i32.shr_u + i32.const 192 + i32.or + i32.store8 offset=12 + i32.const 2 + local.set 1 + end + block ;; label = @2 + local.get 0 + i32.load offset=4 + local.get 0 + i32.load offset=8 + local.tee 3 + i32.sub + local.get 1 + i32.ge_u + br_if 0 (;@2;) + local.get 0 + local.get 3 + local.get 1 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h0a25f43fd51004d4E + local.get 0 + i32.load offset=8 + local.set 3 + end + local.get 0 + i32.load + local.get 3 + i32.add + local.get 2 + i32.const 12 + i32.add + local.get 1 + call $memcpy + drop + local.get 0 + local.get 3 + local.get 1 + i32.add + i32.store offset=8 + end + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + i32.const 0 + ) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h3cf17d8e61e987a2E (;19;) (type 0) (param i32 i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.const 1 + i32.add + local.tee 1 + i32.eqz + br_if 0 (;@2;) + local.get 0 + i32.load offset=4 + local.tee 3 + i32.const 1 + i32.shl + local.tee 4 + local.get 1 + local.get 4 + local.get 1 + i32.gt_u + select + local.tee 1 + i32.const 8 + local.get 1 + i32.const 8 + i32.gt_u + select + local.tee 1 + i32.const -1 + i32.xor + i32.const 31 + i32.shr_u + local.set 4 + block ;; label = @3 + block ;; label = @4 + local.get 3 + i32.eqz + br_if 0 (;@4;) + local.get 2 + local.get 3 + i32.store offset=28 + local.get 2 + i32.const 1 + i32.store offset=24 + local.get 2 + local.get 0 + i32.load + i32.store offset=20 + br 1 (;@3;) + end + local.get 2 + i32.const 0 + i32.store offset=24 + end + local.get 2 + i32.const 8 + i32.add + local.get 4 + local.get 1 + local.get 2 + i32.const 20 + i32.add + call $_ZN5alloc7raw_vec11finish_grow17hc92d64cd21ea82bbE + local.get 2 + i32.load offset=12 + local.set 3 + block ;; label = @3 + local.get 2 + i32.load offset=8 + br_if 0 (;@3;) + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + br 2 (;@1;) + end + local.get 3 + i32.const -2147483647 + i32.eq + br_if 1 (;@1;) + local.get 3 + i32.eqz + br_if 0 (;@2;) + local.get 3 + local.get 2 + i32.const 16 + i32.add + i32.load + call $_ZN5alloc5alloc18handle_alloc_error17h5954dad6240bd34cE + unreachable + end + call $_ZN5alloc7raw_vec17capacity_overflow17h60dad8f89cdc9074E + unreachable + end + local.get 2 + i32.const 32 + i32.add + global.set $__stack_pointer + ) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h1adcda01147f300dE (;20;) (type 2) (param i32 i32) (result i32) + (local i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + local.get 0 + i32.load + i32.store offset=12 + local.get 2 + i32.const 12 + i32.add + i32.const 1048708 + local.get 1 + call $_ZN4core3fmt5write17h582d30542f5ba2e2E + local.set 0 + local.get 2 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 0 + ) + (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17hd43066e781060246E (;21;) (type 1) (param i32 i32 i32) (result i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.load + local.tee 0 + i32.load offset=4 + local.get 0 + i32.load offset=8 + local.tee 3 + i32.sub + local.get 2 + i32.ge_u + br_if 0 (;@1;) + local.get 0 + local.get 3 + local.get 2 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h0a25f43fd51004d4E + local.get 0 + i32.load offset=8 + local.set 3 + end + local.get 0 + i32.load + local.get 3 + i32.add + local.get 1 + local.get 2 + call $memcpy + drop + local.get 0 + local.get 3 + local.get 2 + i32.add + i32.store offset=8 + i32.const 0 + ) + (func $_ZN5alloc7raw_vec11finish_grow17hc92d64cd21ea82bbE (;22;) (type 4) (param i32 i32 i32 i32) + (local i32) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 1 + i32.eqz + br_if 0 (;@3;) + local.get 2 + i32.const -1 + i32.le_s + br_if 1 (;@2;) + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 3 + i32.load offset=4 + i32.eqz + br_if 0 (;@6;) + block ;; label = @7 + local.get 3 + i32.const 8 + i32.add + i32.load + local.tee 4 + br_if 0 (;@7;) + block ;; label = @8 + local.get 2 + br_if 0 (;@8;) + local.get 1 + local.set 3 + br 4 (;@4;) + end + i32.const 0 + i32.load8_u offset=1049417 + drop + br 2 (;@5;) + end + local.get 3 + i32.load + local.get 4 + local.get 1 + local.get 2 + call $__rust_realloc + local.set 3 + br 2 (;@4;) + end + block ;; label = @6 + local.get 2 + br_if 0 (;@6;) + local.get 1 + local.set 3 + br 2 (;@4;) + end + i32.const 0 + i32.load8_u offset=1049417 + drop + end + local.get 2 + local.get 1 + call $__rust_alloc + local.set 3 + end + block ;; label = @4 + local.get 3 + i32.eqz + br_if 0 (;@4;) + local.get 0 + local.get 3 + i32.store offset=4 + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.store + local.get 0 + i32.const 0 + i32.store + return + end + local.get 0 + local.get 1 + i32.store offset=4 + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.store + br 2 (;@1;) + end + local.get 0 + i32.const 0 + i32.store offset=4 + local.get 0 + i32.const 8 + i32.add + local.get 2 + i32.store + br 1 (;@1;) + end + local.get 0 + i32.const 0 + i32.store offset=4 + end + local.get 0 + i32.const 1 + i32.store + ) + (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17hd540a2c3ba1b9507E (;23;) (type 0) (param i32 i32) + (local i32 i32 i32 i32) + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 2 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6pinuse17hee97181be66c2a74E + br_if 0 (;@3;) + local.get 0 + i32.load + local.set 3 + block ;; label = @4 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17he5f94b079da0b60cE + br_if 0 (;@4;) + local.get 3 + local.get 1 + i32.add + local.set 1 + block ;; label = @5 + local.get 0 + local.get 3 + call $_ZN8dlmalloc8dlmalloc5Chunk12minus_offset17h20bec41fdddf2aa1E + local.tee 0 + i32.const 0 + i32.load offset=1049868 + i32.ne + br_if 0 (;@5;) + local.get 2 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + br_if 2 (;@3;) + i32.const 0 + local.get 1 + i32.store offset=1049860 + local.get 0 + local.get 1 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h1799a4bab9f9b316E + return + end + block ;; label = @5 + local.get 3 + i32.const 256 + i32.lt_u + br_if 0 (;@5;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17ha72f4da7ca83329aE + br 2 (;@3;) + end + block ;; label = @5 + local.get 0 + i32.const 12 + i32.add + i32.load + local.tee 4 + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 5 + i32.eq + br_if 0 (;@5;) + local.get 5 + local.get 4 + i32.store offset=12 + local.get 4 + local.get 5 + i32.store offset=8 + br 2 (;@3;) + end + i32.const 0 + i32.const 0 + i32.load offset=1049852 + i32.const -2 + local.get 3 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1049852 + br 1 (;@3;) + end + i32.const 1049444 + local.get 0 + local.get 3 + i32.sub + local.get 1 + local.get 3 + i32.add + i32.const 16 + i32.add + local.tee 0 + call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$4free17hc0343ef6802d2b95E + i32.eqz + br_if 1 (;@2;) + i32.const 0 + i32.const 0 + i32.load offset=1049876 + local.get 0 + i32.sub + i32.store offset=1049876 + return + end + block ;; label = @3 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk6cinuse17h5f7e76bcc83bce87E + i32.eqz + br_if 0 (;@3;) + local.get 0 + local.get 1 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h1799a4bab9f9b316E + br 2 (;@1;) + end + block ;; label = @3 + block ;; label = @4 + local.get 2 + i32.const 0 + i32.load offset=1049872 + i32.eq + br_if 0 (;@4;) + local.get 2 + i32.const 0 + i32.load offset=1049868 + i32.eq + br_if 1 (;@3;) + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.tee 3 + local.get 1 + i32.add + local.set 1 + block ;; label = @5 + block ;; label = @6 + local.get 3 + i32.const 256 + i32.lt_u + br_if 0 (;@6;) + local.get 2 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17ha72f4da7ca83329aE + br 1 (;@5;) + end + block ;; label = @6 + local.get 2 + i32.const 12 + i32.add + i32.load + local.tee 4 + local.get 2 + i32.const 8 + i32.add + i32.load + local.tee 2 + i32.eq + br_if 0 (;@6;) + local.get 2 + local.get 4 + i32.store offset=12 + local.get 4 + local.get 2 + i32.store offset=8 + br 1 (;@5;) + end + i32.const 0 + i32.const 0 + i32.load offset=1049852 + i32.const -2 + local.get 3 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1049852 + end + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17h1fd7681f798bd202E + local.get 0 + i32.const 0 + i32.load offset=1049868 + i32.ne + br_if 3 (;@1;) + i32.const 0 + local.get 1 + i32.store offset=1049860 + br 2 (;@2;) + end + i32.const 0 + local.get 0 + i32.store offset=1049872 + i32.const 0 + i32.const 0 + i32.load offset=1049864 + local.get 1 + i32.add + local.tee 1 + i32.store offset=1049864 + local.get 0 + local.get 1 + i32.const 1 + i32.or + i32.store offset=4 + local.get 0 + i32.const 0 + i32.load offset=1049868 + i32.ne + br_if 1 (;@2;) + i32.const 0 + i32.const 0 + i32.store offset=1049860 + i32.const 0 + i32.const 0 + i32.store offset=1049868 + return + end + i32.const 0 + local.get 0 + i32.store offset=1049868 + i32.const 0 + i32.const 0 + i32.load offset=1049860 + local.get 1 + i32.add + local.tee 1 + i32.store offset=1049860 + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17h1fd7681f798bd202E + return + end + return + end + block ;; label = @1 + local.get 1 + i32.const 256 + i32.lt_u + br_if 0 (;@1;) + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17he8ba33f903c209e5E + return + end + local.get 1 + i32.const -8 + i32.and + i32.const 1049588 + i32.add + local.set 2 + block ;; label = @1 + block ;; label = @2 + i32.const 0 + i32.load offset=1049852 + local.tee 3 + i32.const 1 + local.get 1 + i32.const 3 + i32.shr_u + i32.shl + local.tee 1 + i32.and + i32.eqz + br_if 0 (;@2;) + local.get 2 + i32.load offset=8 + local.set 1 + br 1 (;@1;) + end + i32.const 0 + local.get 3 + local.get 1 + i32.or + i32.store offset=1049852 + local.get 2 + local.set 1 + end + local.get 2 + local.get 0 + i32.store offset=8 + local.get 1 + local.get 0 + i32.store offset=12 + local.get 0 + local.get 2 + i32.store offset=12 + local.get 0 + local.get 1 + i32.store offset=8 + ) + (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17ha72f4da7ca83329aE (;24;) (type 8) (param i32) + (local i32 i32 i32 i32 i32) + local.get 0 + i32.load offset=24 + local.set 1 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 0 + call $_ZN8dlmalloc8dlmalloc9TreeChunk4next17hbdb711aac1036624E + local.get 0 + i32.ne + br_if 0 (;@3;) + local.get 0 + i32.const 20 + i32.const 16 + local.get 0 + i32.const 20 + i32.add + local.tee 2 + i32.load + local.tee 3 + select + i32.add + i32.load + local.tee 4 + br_if 1 (;@2;) + i32.const 0 + local.set 2 + br 2 (;@1;) + end + local.get 0 + call $_ZN8dlmalloc8dlmalloc9TreeChunk4prev17h01e7814ce0c45be0E + local.tee 4 + local.get 0 + call $_ZN8dlmalloc8dlmalloc9TreeChunk4next17hbdb711aac1036624E + local.tee 2 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hfcdb5a5c81a83f81E + i32.store offset=12 + local.get 2 + local.get 4 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hfcdb5a5c81a83f81E + i32.store offset=8 + br 1 (;@1;) + end + local.get 2 + local.get 0 + i32.const 16 + i32.add + local.get 3 + select + local.set 3 + loop ;; label = @2 + local.get 3 + local.set 5 + local.get 4 + local.tee 2 + i32.const 20 + i32.add + local.tee 4 + local.get 2 + i32.const 16 + i32.add + local.get 4 + i32.load + local.tee 4 + select + local.set 3 + local.get 2 + i32.const 20 + i32.const 16 + local.get 4 + select + i32.add + i32.load + local.tee 4 + br_if 0 (;@2;) + end + local.get 5 + i32.const 0 + i32.store + end + block ;; label = @1 + local.get 1 + i32.eqz + br_if 0 (;@1;) + block ;; label = @2 + block ;; label = @3 + local.get 0 + i32.load offset=28 + i32.const 2 + i32.shl + i32.const 1049444 + i32.add + local.tee 4 + i32.load + local.get 0 + i32.eq + br_if 0 (;@3;) + local.get 1 + i32.const 16 + i32.const 20 + local.get 1 + i32.load offset=16 + local.get 0 + i32.eq + select + i32.add + local.get 2 + i32.store + local.get 2 + br_if 1 (;@2;) + br 2 (;@1;) + end + local.get 4 + local.get 2 + i32.store + local.get 2 + br_if 0 (;@2;) + i32.const 0 + i32.const 0 + i32.load offset=1049856 + i32.const -2 + local.get 0 + i32.load offset=28 + i32.rotl + i32.and + i32.store offset=1049856 + return + end + local.get 2 + local.get 1 + i32.store offset=24 + block ;; label = @2 + local.get 0 + i32.load offset=16 + local.tee 4 + i32.eqz + br_if 0 (;@2;) + local.get 2 + local.get 4 + i32.store offset=16 + local.get 4 + local.get 2 + i32.store offset=24 + end + local.get 0 + i32.const 20 + i32.add + i32.load + local.tee 4 + i32.eqz + br_if 0 (;@1;) + local.get 2 + i32.const 20 + i32.add + local.get 4 + i32.store + local.get 4 + local.get 2 + i32.store offset=24 + return + end + ) + (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17he8ba33f903c209e5E (;25;) (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32) + i32.const 0 + local.set 2 + block ;; label = @1 + local.get 1 + i32.const 256 + i32.lt_u + br_if 0 (;@1;) + i32.const 31 + local.set 2 + local.get 1 + i32.const 16777215 + i32.gt_u + br_if 0 (;@1;) + local.get 1 + i32.const 6 + local.get 1 + i32.const 8 + i32.shr_u + i32.clz + local.tee 2 + i32.sub + i32.shr_u + i32.const 1 + i32.and + local.get 2 + i32.const 1 + i32.shl + i32.sub + i32.const 62 + i32.add + local.set 2 + end + local.get 0 + i64.const 0 + i64.store offset=16 align=4 + local.get 0 + local.get 2 + i32.store offset=28 + local.get 2 + i32.const 2 + i32.shl + i32.const 1049444 + i32.add + local.set 3 + local.get 0 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hfcdb5a5c81a83f81E + local.set 4 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + i32.const 0 + i32.load offset=1049856 + local.tee 5 + i32.const 1 + local.get 2 + i32.shl + local.tee 6 + i32.and + i32.eqz + br_if 0 (;@5;) + local.get 3 + i32.load + local.set 5 + local.get 2 + call $_ZN8dlmalloc8dlmalloc24leftshift_for_tree_index17hdcd9b8516082931cE + local.set 2 + local.get 5 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hfcdb5a5c81a83f81E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.get 1 + i32.ne + br_if 1 (;@4;) + local.get 5 + local.set 2 + br 2 (;@3;) + end + i32.const 0 + local.get 5 + local.get 6 + i32.or + i32.store offset=1049856 + local.get 3 + local.get 0 + i32.store + local.get 0 + local.get 3 + i32.store offset=24 + br 3 (;@1;) + end + local.get 1 + local.get 2 + i32.shl + local.set 3 + loop ;; label = @4 + local.get 5 + local.get 3 + i32.const 29 + i32.shr_u + i32.const 4 + i32.and + i32.add + i32.const 16 + i32.add + local.tee 6 + i32.load + local.tee 2 + i32.eqz + br_if 2 (;@2;) + local.get 3 + i32.const 1 + i32.shl + local.set 3 + local.get 2 + local.set 5 + local.get 2 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hfcdb5a5c81a83f81E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.get 1 + i32.ne + br_if 0 (;@4;) + end + end + local.get 2 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hfcdb5a5c81a83f81E + local.tee 2 + i32.load offset=8 + local.tee 3 + local.get 4 + i32.store offset=12 + local.get 2 + local.get 4 + i32.store offset=8 + local.get 4 + local.get 2 + i32.store offset=12 + local.get 4 + local.get 3 + i32.store offset=8 + local.get 0 + i32.const 0 + i32.store offset=24 + return + end + local.get 6 + local.get 0 + i32.store + local.get 0 + local.get 5 + i32.store offset=24 + end + local.get 4 + local.get 4 + i32.store offset=8 + local.get 4 + local.get 4 + i32.store offset=12 + ) + (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$23release_unused_segments17h915aa3048e697d73E (;26;) (type 5) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + i32.const 0 + local.set 0 + i32.const 0 + local.set 1 + block ;; label = @1 + i32.const 0 + i32.load offset=1049580 + local.tee 2 + i32.eqz + br_if 0 (;@1;) + i32.const 1049572 + local.set 3 + i32.const 0 + local.set 1 + i32.const 0 + local.set 0 + loop ;; label = @2 + local.get 2 + local.tee 4 + i32.load offset=8 + local.set 2 + local.get 4 + i32.load offset=4 + local.set 5 + local.get 4 + i32.load + local.set 6 + block ;; label = @3 + block ;; label = @4 + i32.const 1049444 + local.get 4 + i32.load offset=12 + i32.const 1 + i32.shr_u + call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$16can_release_part17he573efe83c35a532E + i32.eqz + br_if 0 (;@4;) + local.get 4 + call $_ZN8dlmalloc8dlmalloc7Segment9is_extern17haf9514a9b7ae4b86E + br_if 0 (;@4;) + local.get 6 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.tee 7 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.get 7 + i32.sub + i32.add + local.tee 7 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.set 8 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hac4281ec6120931aE + local.tee 9 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 10 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 11 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 12 + local.get 7 + call $_ZN8dlmalloc8dlmalloc5Chunk5inuse17hf5a2c752544132a5E + br_if 0 (;@4;) + local.get 7 + local.get 8 + i32.add + local.get 6 + local.get 9 + local.get 5 + i32.add + local.get 10 + local.get 11 + i32.add + local.get 12 + i32.add + i32.sub + i32.add + i32.lt_u + br_if 0 (;@4;) + block ;; label = @5 + block ;; label = @6 + local.get 7 + i32.const 0 + i32.load offset=1049868 + i32.eq + br_if 0 (;@6;) + local.get 7 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17ha72f4da7ca83329aE + br 1 (;@5;) + end + i32.const 0 + i32.const 0 + i32.store offset=1049860 + i32.const 0 + i32.const 0 + i32.store offset=1049868 + end + block ;; label = @5 + i32.const 1049444 + local.get 6 + local.get 5 + call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$4free17hc0343ef6802d2b95E + br_if 0 (;@5;) + local.get 7 + local.get 8 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17he8ba33f903c209e5E + br 1 (;@4;) + end + i32.const 0 + i32.const 0 + i32.load offset=1049876 + local.get 5 + i32.sub + i32.store offset=1049876 + local.get 3 + local.get 2 + i32.store offset=8 + local.get 5 + local.get 1 + i32.add + local.set 1 + br 1 (;@3;) + end + local.get 4 + local.set 3 + end + local.get 0 + i32.const 1 + i32.add + local.set 0 + local.get 2 + br_if 0 (;@2;) + end + end + i32.const 0 + local.get 0 + i32.const 4095 + local.get 0 + i32.const 4095 + i32.gt_u + select + i32.store offset=1049892 + local.get 1 + ) + (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h118d9a78f3c9bddaE (;27;) (type 8) (param i32) + (local i32 i32 i32 i32 i32 i32) + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17he0c63eee8cdca776E + local.set 0 + local.get 0 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.tee 1 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 2 + block ;; label = @1 + block ;; label = @2 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6pinuse17hee97181be66c2a74E + br_if 0 (;@2;) + local.get 0 + i32.load + local.set 3 + block ;; label = @3 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17he5f94b079da0b60cE + br_if 0 (;@3;) + local.get 3 + local.get 1 + i32.add + local.set 1 + block ;; label = @4 + local.get 0 + local.get 3 + call $_ZN8dlmalloc8dlmalloc5Chunk12minus_offset17h20bec41fdddf2aa1E + local.tee 0 + i32.const 0 + i32.load offset=1049868 + i32.ne + br_if 0 (;@4;) + local.get 2 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + br_if 2 (;@2;) + i32.const 0 + local.get 1 + i32.store offset=1049860 + local.get 0 + local.get 1 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h1799a4bab9f9b316E + return + end + block ;; label = @4 + local.get 3 + i32.const 256 + i32.lt_u + br_if 0 (;@4;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17ha72f4da7ca83329aE + br 2 (;@2;) + end + block ;; label = @4 + local.get 0 + i32.const 12 + i32.add + i32.load + local.tee 4 + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 5 + i32.eq + br_if 0 (;@4;) + local.get 5 + local.get 4 + i32.store offset=12 + local.get 4 + local.get 5 + i32.store offset=8 + br 2 (;@2;) + end + i32.const 0 + i32.const 0 + i32.load offset=1049852 + i32.const -2 + local.get 3 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1049852 + br 1 (;@2;) + end + i32.const 1049444 + local.get 0 + local.get 3 + i32.sub + local.get 1 + local.get 3 + i32.add + i32.const 16 + i32.add + local.tee 0 + call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$4free17hc0343ef6802d2b95E + i32.eqz + br_if 1 (;@1;) + i32.const 0 + i32.const 0 + i32.load offset=1049876 + local.get 0 + i32.sub + i32.store offset=1049876 + return + end + block ;; label = @2 + block ;; label = @3 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk6cinuse17h5f7e76bcc83bce87E + i32.eqz + br_if 0 (;@3;) + local.get 0 + local.get 1 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h1799a4bab9f9b316E + br 1 (;@2;) + end + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 2 + i32.const 0 + i32.load offset=1049872 + i32.eq + br_if 0 (;@6;) + local.get 2 + i32.const 0 + i32.load offset=1049868 + i32.eq + br_if 1 (;@5;) + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.tee 3 + local.get 1 + i32.add + local.set 1 + block ;; label = @7 + block ;; label = @8 + local.get 3 + i32.const 256 + i32.lt_u + br_if 0 (;@8;) + local.get 2 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17ha72f4da7ca83329aE + br 1 (;@7;) + end + block ;; label = @8 + local.get 2 + i32.const 12 + i32.add + i32.load + local.tee 4 + local.get 2 + i32.const 8 + i32.add + i32.load + local.tee 2 + i32.eq + br_if 0 (;@8;) + local.get 2 + local.get 4 + i32.store offset=12 + local.get 4 + local.get 2 + i32.store offset=8 + br 1 (;@7;) + end + i32.const 0 + i32.const 0 + i32.load offset=1049852 + i32.const -2 + local.get 3 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1049852 + end + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17h1fd7681f798bd202E + local.get 0 + i32.const 0 + i32.load offset=1049868 + i32.ne + br_if 4 (;@2;) + i32.const 0 + local.get 1 + i32.store offset=1049860 + return + end + i32.const 0 + local.get 0 + i32.store offset=1049872 + i32.const 0 + i32.const 0 + i32.load offset=1049864 + local.get 1 + i32.add + local.tee 1 + i32.store offset=1049864 + local.get 0 + local.get 1 + i32.const 1 + i32.or + i32.store offset=4 + local.get 0 + i32.const 0 + i32.load offset=1049868 + i32.eq + br_if 1 (;@4;) + br 2 (;@3;) + end + i32.const 0 + local.get 0 + i32.store offset=1049868 + i32.const 0 + i32.const 0 + i32.load offset=1049860 + local.get 1 + i32.add + local.tee 1 + i32.store offset=1049860 + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17h1fd7681f798bd202E + return + end + i32.const 0 + i32.const 0 + i32.store offset=1049860 + i32.const 0 + i32.const 0 + i32.store offset=1049868 + end + local.get 1 + i32.const 0 + i32.load offset=1049884 + i32.le_u + br_if 1 (;@1;) + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hac4281ec6120931aE + local.tee 0 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 1 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 2 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 3 + i32.const 0 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.const 2 + i32.shl + i32.sub + local.tee 4 + local.get 0 + local.get 3 + local.get 1 + local.get 2 + i32.add + i32.add + i32.sub + i32.const -65544 + i32.add + i32.const -9 + i32.and + i32.const -3 + i32.add + local.tee 0 + local.get 4 + local.get 0 + i32.lt_u + select + i32.eqz + br_if 1 (;@1;) + i32.const 0 + i32.load offset=1049872 + i32.eqz + br_if 1 (;@1;) + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hac4281ec6120931aE + local.tee 0 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 1 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 3 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 4 + i32.const 0 + local.set 2 + block ;; label = @3 + i32.const 0 + i32.load offset=1049864 + local.tee 5 + local.get 4 + local.get 3 + local.get 1 + local.get 0 + i32.sub + i32.add + i32.add + local.tee 0 + i32.le_u + br_if 0 (;@3;) + local.get 5 + local.get 0 + i32.sub + i32.const 65535 + i32.add + i32.const -65536 + i32.and + local.tee 4 + i32.const -65536 + i32.add + local.set 3 + i32.const 0 + i32.load offset=1049872 + local.set 1 + i32.const 1049572 + local.set 0 + block ;; label = @4 + loop ;; label = @5 + block ;; label = @6 + local.get 0 + i32.load + local.get 1 + i32.gt_u + br_if 0 (;@6;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc7Segment3top17hc89fda93b92e1c2cE + local.get 1 + i32.gt_u + br_if 2 (;@4;) + end + local.get 0 + i32.load offset=8 + local.tee 0 + br_if 0 (;@5;) + end + i32.const 0 + local.set 0 + end + i32.const 0 + local.set 2 + local.get 0 + call $_ZN8dlmalloc8dlmalloc7Segment9is_extern17haf9514a9b7ae4b86E + br_if 0 (;@3;) + i32.const 1049444 + local.get 0 + i32.load offset=12 + i32.const 1 + i32.shr_u + call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$16can_release_part17he573efe83c35a532E + i32.eqz + br_if 0 (;@3;) + local.get 0 + i32.load offset=4 + local.get 3 + i32.lt_u + br_if 0 (;@3;) + i32.const 1049572 + local.set 1 + loop ;; label = @4 + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc7Segment5holds17h54e9559e1906bba3E + br_if 1 (;@3;) + local.get 1 + i32.load offset=8 + local.tee 1 + br_if 0 (;@4;) + end + i32.const 1049444 + local.get 0 + i32.load + local.get 0 + i32.load offset=4 + local.tee 1 + local.get 1 + local.get 3 + i32.sub + call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$9free_part17h86a8f23d0d0990e6E + local.set 1 + local.get 3 + i32.eqz + br_if 0 (;@3;) + local.get 1 + i32.eqz + br_if 0 (;@3;) + local.get 0 + local.get 0 + i32.load offset=4 + local.get 3 + i32.sub + i32.store offset=4 + i32.const 0 + i32.const 0 + i32.load offset=1049876 + local.get 3 + i32.sub + i32.store offset=1049876 + i32.const 0 + i32.load offset=1049864 + local.set 1 + i32.const 0 + i32.load offset=1049872 + local.set 0 + i32.const 0 + local.get 0 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.tee 2 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.get 2 + i32.sub + local.tee 2 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.tee 0 + i32.store offset=1049872 + i32.const 0 + local.get 1 + local.get 4 + local.get 2 + i32.add + i32.sub + i32.const 65536 + i32.add + local.tee 1 + i32.store offset=1049864 + local.get 0 + local.get 1 + i32.const 1 + i32.or + i32.store offset=4 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hac4281ec6120931aE + local.tee 2 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 4 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 5 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 6 + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.get 6 + local.get 5 + local.get 4 + local.get 2 + i32.sub + i32.add + i32.add + i32.store offset=4 + i32.const 0 + i32.const 2097152 + i32.store offset=1049884 + local.get 3 + local.set 2 + end + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$23release_unused_segments17h915aa3048e697d73E + i32.const 0 + local.get 2 + i32.sub + i32.ne + br_if 1 (;@1;) + i32.const 0 + i32.load offset=1049864 + i32.const 0 + i32.load offset=1049884 + i32.le_u + br_if 1 (;@1;) + i32.const 0 + i32.const -1 + i32.store offset=1049884 + return + end + block ;; label = @2 + local.get 1 + i32.const 256 + i32.lt_u + br_if 0 (;@2;) + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17he8ba33f903c209e5E + i32.const 0 + i32.const 0 + i32.load offset=1049892 + i32.const -1 + i32.add + local.tee 0 + i32.store offset=1049892 + local.get 0 + br_if 1 (;@1;) + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$23release_unused_segments17h915aa3048e697d73E + drop + return + end + local.get 1 + i32.const -8 + i32.and + i32.const 1049588 + i32.add + local.set 2 + block ;; label = @2 + block ;; label = @3 + i32.const 0 + i32.load offset=1049852 + local.tee 3 + i32.const 1 + local.get 1 + i32.const 3 + i32.shr_u + i32.shl + local.tee 1 + i32.and + i32.eqz + br_if 0 (;@3;) + local.get 2 + i32.load offset=8 + local.set 1 + br 1 (;@2;) + end + i32.const 0 + local.get 3 + local.get 1 + i32.or + i32.store offset=1049852 + local.get 2 + local.set 1 + end + local.get 2 + local.get 0 + i32.store offset=8 + local.get 1 + local.get 0 + i32.store offset=12 + local.get 0 + local.get 2 + i32.store offset=12 + local.get 0 + local.get 1 + i32.store offset=8 + end + ) + (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h35e6ef52a56596fcE (;28;) (type 9) (param i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 1 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 0 + i32.const 245 + i32.lt_u + br_if 0 (;@6;) + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hac4281ec6120931aE + local.tee 2 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 3 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 4 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 5 + i32.const 0 + local.set 6 + i32.const 0 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.const 2 + i32.shl + i32.sub + local.tee 7 + local.get 2 + local.get 5 + local.get 3 + local.get 4 + i32.add + i32.add + i32.sub + i32.const -65544 + i32.add + i32.const -9 + i32.and + i32.const -3 + i32.add + local.tee 2 + local.get 7 + local.get 2 + i32.lt_u + select + local.get 0 + i32.le_u + br_if 5 (;@1;) + local.get 0 + i32.const 4 + i32.add + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 2 + i32.const 0 + i32.load offset=1049856 + i32.eqz + br_if 4 (;@2;) + i32.const 0 + local.set 8 + block ;; label = @7 + local.get 2 + i32.const 256 + i32.lt_u + br_if 0 (;@7;) + i32.const 31 + local.set 8 + local.get 2 + i32.const 16777215 + i32.gt_u + br_if 0 (;@7;) + local.get 2 + i32.const 6 + local.get 2 + i32.const 8 + i32.shr_u + i32.clz + local.tee 0 + i32.sub + i32.shr_u + i32.const 1 + i32.and + local.get 0 + i32.const 1 + i32.shl + i32.sub + i32.const 62 + i32.add + local.set 8 + end + i32.const 0 + local.get 2 + i32.sub + local.set 6 + block ;; label = @7 + local.get 8 + i32.const 2 + i32.shl + i32.const 1049444 + i32.add + i32.load + local.tee 3 + br_if 0 (;@7;) + i32.const 0 + local.set 0 + i32.const 0 + local.set 4 + br 2 (;@5;) + end + local.get 2 + local.get 8 + call $_ZN8dlmalloc8dlmalloc24leftshift_for_tree_index17hdcd9b8516082931cE + i32.shl + local.set 5 + i32.const 0 + local.set 0 + i32.const 0 + local.set 4 + loop ;; label = @7 + block ;; label = @8 + local.get 3 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hfcdb5a5c81a83f81E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.tee 7 + local.get 2 + i32.lt_u + br_if 0 (;@8;) + local.get 7 + local.get 2 + i32.sub + local.tee 7 + local.get 6 + i32.ge_u + br_if 0 (;@8;) + local.get 7 + local.set 6 + local.get 3 + local.set 4 + local.get 7 + br_if 0 (;@8;) + i32.const 0 + local.set 6 + local.get 3 + local.set 4 + local.get 3 + local.set 0 + br 4 (;@4;) + end + local.get 3 + i32.const 20 + i32.add + i32.load + local.tee 7 + local.get 0 + local.get 7 + local.get 3 + local.get 5 + i32.const 29 + i32.shr_u + i32.const 4 + i32.and + i32.add + i32.const 16 + i32.add + i32.load + local.tee 3 + i32.ne + select + local.get 0 + local.get 7 + select + local.set 0 + local.get 5 + i32.const 1 + i32.shl + local.set 5 + local.get 3 + i32.eqz + br_if 2 (;@5;) + br 0 (;@7;) + end + end + i32.const 16 + local.get 0 + i32.const 4 + i32.add + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.const -5 + i32.add + local.get 0 + i32.gt_u + select + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 2 + block ;; label = @6 + i32.const 0 + i32.load offset=1049852 + local.tee 4 + local.get 2 + i32.const 3 + i32.shr_u + local.tee 6 + i32.shr_u + local.tee 0 + i32.const 3 + i32.and + i32.eqz + br_if 0 (;@6;) + block ;; label = @7 + block ;; label = @8 + local.get 0 + i32.const -1 + i32.xor + i32.const 1 + i32.and + local.get 6 + i32.add + local.tee 2 + i32.const 3 + i32.shl + local.tee 3 + i32.const 1049596 + i32.add + i32.load + local.tee 0 + i32.const 8 + i32.add + i32.load + local.tee 6 + local.get 3 + i32.const 1049588 + i32.add + local.tee 3 + i32.eq + br_if 0 (;@8;) + local.get 6 + local.get 3 + i32.store offset=12 + local.get 3 + local.get 6 + i32.store offset=8 + br 1 (;@7;) + end + i32.const 0 + local.get 4 + i32.const -2 + local.get 2 + i32.rotl + i32.and + i32.store offset=1049852 + end + local.get 0 + local.get 2 + i32.const 3 + i32.shl + call $_ZN8dlmalloc8dlmalloc5Chunk20set_inuse_and_pinuse17h5e230a8085cd2ec2E + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.set 6 + br 5 (;@1;) + end + local.get 2 + i32.const 0 + i32.load offset=1049860 + i32.le_u + br_if 3 (;@2;) + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + block ;; label = @12 + local.get 0 + br_if 0 (;@12;) + i32.const 0 + i32.load offset=1049856 + local.tee 0 + i32.eqz + br_if 10 (;@2;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc9least_bit17h83f4c934b61ac2fbE + i32.ctz + i32.const 2 + i32.shl + i32.const 1049444 + i32.add + i32.load + local.tee 3 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hfcdb5a5c81a83f81E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.get 2 + i32.sub + local.set 6 + block ;; label = @13 + local.get 3 + call $_ZN8dlmalloc8dlmalloc9TreeChunk14leftmost_child17h7551dd0d69795b58E + local.tee 0 + i32.eqz + br_if 0 (;@13;) + loop ;; label = @14 + local.get 0 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hfcdb5a5c81a83f81E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.get 2 + i32.sub + local.tee 4 + local.get 6 + local.get 4 + local.get 6 + i32.lt_u + local.tee 4 + select + local.set 6 + local.get 0 + local.get 3 + local.get 4 + select + local.set 3 + local.get 0 + call $_ZN8dlmalloc8dlmalloc9TreeChunk14leftmost_child17h7551dd0d69795b58E + local.tee 0 + br_if 0 (;@14;) + end + end + local.get 3 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hfcdb5a5c81a83f81E + local.tee 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 4 + local.get 3 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17ha72f4da7ca83329aE + local.get 6 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.lt_u + br_if 2 (;@10;) + local.get 4 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hfcdb5a5c81a83f81E + local.set 4 + local.get 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hde3a2aa37fbaa399E + local.get 4 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17h1fd7681f798bd202E + i32.const 0 + i32.load offset=1049860 + local.tee 7 + br_if 1 (;@11;) + br 5 (;@7;) + end + block ;; label = @12 + block ;; label = @13 + i32.const 1 + local.get 6 + i32.const 31 + i32.and + local.tee 6 + i32.shl + call $_ZN8dlmalloc8dlmalloc9left_bits17hbe1e77ea260333f9E + local.get 0 + local.get 6 + i32.shl + i32.and + call $_ZN8dlmalloc8dlmalloc9least_bit17h83f4c934b61ac2fbE + i32.ctz + local.tee 6 + i32.const 3 + i32.shl + local.tee 4 + i32.const 1049596 + i32.add + i32.load + local.tee 0 + i32.const 8 + i32.add + i32.load + local.tee 3 + local.get 4 + i32.const 1049588 + i32.add + local.tee 4 + i32.eq + br_if 0 (;@13;) + local.get 3 + local.get 4 + i32.store offset=12 + local.get 4 + local.get 3 + i32.store offset=8 + br 1 (;@12;) + end + i32.const 0 + i32.const 0 + i32.load offset=1049852 + i32.const -2 + local.get 6 + i32.rotl + i32.and + i32.store offset=1049852 + end + local.get 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hde3a2aa37fbaa399E + local.get 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.tee 4 + local.get 6 + i32.const 3 + i32.shl + local.get 2 + i32.sub + local.tee 5 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17h1fd7681f798bd202E + i32.const 0 + i32.load offset=1049860 + local.tee 3 + br_if 2 (;@9;) + br 3 (;@8;) + end + local.get 7 + i32.const -8 + i32.and + i32.const 1049588 + i32.add + local.set 5 + i32.const 0 + i32.load offset=1049868 + local.set 3 + block ;; label = @11 + block ;; label = @12 + i32.const 0 + i32.load offset=1049852 + local.tee 8 + i32.const 1 + local.get 7 + i32.const 3 + i32.shr_u + i32.shl + local.tee 7 + i32.and + i32.eqz + br_if 0 (;@12;) + local.get 5 + i32.load offset=8 + local.set 7 + br 1 (;@11;) + end + i32.const 0 + local.get 8 + local.get 7 + i32.or + i32.store offset=1049852 + local.get 5 + local.set 7 + end + local.get 5 + local.get 3 + i32.store offset=8 + local.get 7 + local.get 3 + i32.store offset=12 + local.get 3 + local.get 5 + i32.store offset=12 + local.get 3 + local.get 7 + i32.store offset=8 + br 3 (;@7;) + end + local.get 0 + local.get 6 + local.get 2 + i32.add + call $_ZN8dlmalloc8dlmalloc5Chunk20set_inuse_and_pinuse17h5e230a8085cd2ec2E + br 3 (;@6;) + end + local.get 3 + i32.const -8 + i32.and + i32.const 1049588 + i32.add + local.set 6 + i32.const 0 + i32.load offset=1049868 + local.set 2 + block ;; label = @9 + block ;; label = @10 + i32.const 0 + i32.load offset=1049852 + local.tee 7 + i32.const 1 + local.get 3 + i32.const 3 + i32.shr_u + i32.shl + local.tee 3 + i32.and + i32.eqz + br_if 0 (;@10;) + local.get 6 + i32.load offset=8 + local.set 3 + br 1 (;@9;) + end + i32.const 0 + local.get 7 + local.get 3 + i32.or + i32.store offset=1049852 + local.get 6 + local.set 3 + end + local.get 6 + local.get 2 + i32.store offset=8 + local.get 3 + local.get 2 + i32.store offset=12 + local.get 2 + local.get 6 + i32.store offset=12 + local.get 2 + local.get 3 + i32.store offset=8 + end + i32.const 0 + local.get 4 + i32.store offset=1049868 + i32.const 0 + local.get 5 + i32.store offset=1049860 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.set 6 + br 6 (;@1;) + end + i32.const 0 + local.get 4 + i32.store offset=1049868 + i32.const 0 + local.get 6 + i32.store offset=1049860 + end + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.tee 6 + i32.eqz + br_if 3 (;@2;) + br 4 (;@1;) + end + block ;; label = @5 + local.get 0 + local.get 4 + i32.or + br_if 0 (;@5;) + i32.const 0 + local.set 4 + i32.const 1 + local.get 8 + i32.shl + call $_ZN8dlmalloc8dlmalloc9left_bits17hbe1e77ea260333f9E + i32.const 0 + i32.load offset=1049856 + i32.and + local.tee 0 + i32.eqz + br_if 3 (;@2;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc9least_bit17h83f4c934b61ac2fbE + i32.ctz + i32.const 2 + i32.shl + i32.const 1049444 + i32.add + i32.load + local.set 0 + end + local.get 0 + i32.eqz + br_if 1 (;@3;) + end + loop ;; label = @4 + local.get 0 + local.get 4 + local.get 0 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hfcdb5a5c81a83f81E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.tee 3 + local.get 2 + i32.ge_u + local.get 3 + local.get 2 + i32.sub + local.tee 3 + local.get 6 + i32.lt_u + i32.and + local.tee 5 + select + local.set 4 + local.get 3 + local.get 6 + local.get 5 + select + local.set 6 + local.get 0 + call $_ZN8dlmalloc8dlmalloc9TreeChunk14leftmost_child17h7551dd0d69795b58E + local.tee 0 + br_if 0 (;@4;) + end + end + local.get 4 + i32.eqz + br_if 0 (;@2;) + block ;; label = @3 + i32.const 0 + i32.load offset=1049860 + local.tee 0 + local.get 2 + i32.lt_u + br_if 0 (;@3;) + local.get 6 + local.get 0 + local.get 2 + i32.sub + i32.ge_u + br_if 1 (;@2;) + end + local.get 4 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hfcdb5a5c81a83f81E + local.tee 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 3 + local.get 4 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17ha72f4da7ca83329aE + block ;; label = @3 + block ;; label = @4 + local.get 6 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.lt_u + br_if 0 (;@4;) + local.get 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hde3a2aa37fbaa399E + local.get 3 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17h1fd7681f798bd202E + block ;; label = @5 + local.get 6 + i32.const 256 + i32.lt_u + br_if 0 (;@5;) + local.get 3 + local.get 6 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17he8ba33f903c209e5E + br 2 (;@3;) + end + local.get 6 + i32.const -8 + i32.and + i32.const 1049588 + i32.add + local.set 4 + block ;; label = @5 + block ;; label = @6 + i32.const 0 + i32.load offset=1049852 + local.tee 5 + i32.const 1 + local.get 6 + i32.const 3 + i32.shr_u + i32.shl + local.tee 6 + i32.and + i32.eqz + br_if 0 (;@6;) + local.get 4 + i32.load offset=8 + local.set 6 + br 1 (;@5;) + end + i32.const 0 + local.get 5 + local.get 6 + i32.or + i32.store offset=1049852 + local.get 4 + local.set 6 + end + local.get 4 + local.get 3 + i32.store offset=8 + local.get 6 + local.get 3 + i32.store offset=12 + local.get 3 + local.get 4 + i32.store offset=12 + local.get 3 + local.get 6 + i32.store offset=8 + br 1 (;@3;) + end + local.get 0 + local.get 6 + local.get 2 + i32.add + call $_ZN8dlmalloc8dlmalloc5Chunk20set_inuse_and_pinuse17h5e230a8085cd2ec2E + end + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.tee 6 + br_if 1 (;@1;) + end + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + i32.const 0 + i32.load offset=1049860 + local.tee 6 + local.get 2 + i32.ge_u + br_if 0 (;@9;) + block ;; label = @10 + i32.const 0 + i32.load offset=1049864 + local.tee 0 + local.get 2 + i32.gt_u + br_if 0 (;@10;) + local.get 1 + i32.const 4 + i32.add + i32.const 1049444 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hac4281ec6120931aE + local.tee 0 + i32.sub + local.get 0 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.add + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.add + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.add + i32.const 8 + i32.add + i32.const 65536 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$5alloc17h6428af2ef0da78d2E + block ;; label = @11 + local.get 1 + i32.load offset=4 + local.tee 6 + br_if 0 (;@11;) + i32.const 0 + local.set 6 + br 10 (;@1;) + end + local.get 1 + i32.load offset=12 + local.set 8 + i32.const 0 + i32.const 0 + i32.load offset=1049876 + local.get 1 + i32.load offset=8 + local.tee 5 + i32.add + local.tee 0 + i32.store offset=1049876 + i32.const 0 + i32.const 0 + i32.load offset=1049880 + local.tee 3 + local.get 0 + local.get 3 + local.get 0 + i32.gt_u + select + i32.store offset=1049880 + block ;; label = @11 + block ;; label = @12 + block ;; label = @13 + i32.const 0 + i32.load offset=1049872 + i32.eqz + br_if 0 (;@13;) + i32.const 1049572 + local.set 0 + loop ;; label = @14 + local.get 6 + local.get 0 + call $_ZN8dlmalloc8dlmalloc7Segment3top17hc89fda93b92e1c2cE + i32.eq + br_if 2 (;@12;) + local.get 0 + i32.load offset=8 + local.tee 0 + br_if 0 (;@14;) + br 3 (;@11;) + end + end + i32.const 0 + i32.load offset=1049888 + local.tee 0 + i32.eqz + br_if 4 (;@8;) + local.get 6 + local.get 0 + i32.lt_u + br_if 4 (;@8;) + br 9 (;@3;) + end + local.get 0 + call $_ZN8dlmalloc8dlmalloc7Segment9is_extern17haf9514a9b7ae4b86E + br_if 0 (;@11;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc7Segment9sys_flags17h0c2250d6caad562dE + local.get 8 + i32.ne + br_if 0 (;@11;) + local.get 0 + i32.const 0 + i32.load offset=1049872 + call $_ZN8dlmalloc8dlmalloc7Segment5holds17h54e9559e1906bba3E + br_if 4 (;@7;) + end + i32.const 0 + i32.const 0 + i32.load offset=1049888 + local.tee 0 + local.get 6 + local.get 6 + local.get 0 + i32.gt_u + select + i32.store offset=1049888 + local.get 6 + local.get 5 + i32.add + local.set 3 + i32.const 1049572 + local.set 0 + block ;; label = @11 + block ;; label = @12 + block ;; label = @13 + loop ;; label = @14 + local.get 0 + i32.load + local.get 3 + i32.eq + br_if 1 (;@13;) + local.get 0 + i32.load offset=8 + local.tee 0 + br_if 0 (;@14;) + br 2 (;@12;) + end + end + local.get 0 + call $_ZN8dlmalloc8dlmalloc7Segment9is_extern17haf9514a9b7ae4b86E + br_if 0 (;@12;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc7Segment9sys_flags17h0c2250d6caad562dE + local.get 8 + i32.eq + br_if 1 (;@11;) + end + i32.const 0 + i32.load offset=1049872 + local.set 3 + i32.const 1049572 + local.set 0 + block ;; label = @12 + loop ;; label = @13 + block ;; label = @14 + local.get 0 + i32.load + local.get 3 + i32.gt_u + br_if 0 (;@14;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc7Segment3top17hc89fda93b92e1c2cE + local.get 3 + i32.gt_u + br_if 2 (;@12;) + end + local.get 0 + i32.load offset=8 + local.tee 0 + br_if 0 (;@13;) + end + i32.const 0 + local.set 0 + end + local.get 0 + call $_ZN8dlmalloc8dlmalloc7Segment3top17hc89fda93b92e1c2cE + local.tee 4 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.tee 9 + i32.sub + i32.const -23 + i32.add + local.set 0 + local.get 3 + local.get 0 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.tee 7 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.get 7 + i32.sub + i32.add + local.tee 0 + local.get 0 + local.get 3 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.add + i32.lt_u + select + local.tee 7 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.set 10 + local.get 7 + local.get 9 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 0 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hac4281ec6120931aE + local.tee 11 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 12 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 13 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 14 + i32.const 0 + local.get 6 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.tee 15 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.get 15 + i32.sub + local.tee 16 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.tee 15 + i32.store offset=1049872 + i32.const 0 + local.get 11 + local.get 5 + i32.add + local.get 14 + local.get 12 + local.get 13 + i32.add + i32.add + local.get 16 + i32.add + i32.sub + local.tee 11 + i32.store offset=1049864 + local.get 15 + local.get 11 + i32.const 1 + i32.or + i32.store offset=4 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hac4281ec6120931aE + local.tee 12 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 13 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 14 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 16 + local.get 15 + local.get 11 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.get 16 + local.get 14 + local.get 13 + local.get 12 + i32.sub + i32.add + i32.add + i32.store offset=4 + i32.const 0 + i32.const 2097152 + i32.store offset=1049884 + local.get 7 + local.get 9 + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hde3a2aa37fbaa399E + i32.const 0 + i64.load offset=1049572 align=4 + local.set 17 + local.get 10 + i32.const 8 + i32.add + i32.const 0 + i64.load offset=1049580 align=4 + i64.store align=4 + local.get 10 + local.get 17 + i64.store align=4 + i32.const 0 + local.get 8 + i32.store offset=1049584 + i32.const 0 + local.get 5 + i32.store offset=1049576 + i32.const 0 + local.get 6 + i32.store offset=1049572 + i32.const 0 + local.get 10 + i32.store offset=1049580 + loop ;; label = @12 + local.get 0 + i32.const 4 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 6 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk14fencepost_head17h941edb424a940fbfE + i32.store offset=4 + local.get 6 + local.set 0 + local.get 6 + i32.const 4 + i32.add + local.get 4 + i32.lt_u + br_if 0 (;@12;) + end + local.get 7 + local.get 3 + i32.eq + br_if 9 (;@2;) + local.get 7 + local.get 3 + i32.sub + local.set 0 + local.get 3 + local.get 0 + local.get 3 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h1799a4bab9f9b316E + block ;; label = @12 + local.get 0 + i32.const 256 + i32.lt_u + br_if 0 (;@12;) + local.get 3 + local.get 0 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17he8ba33f903c209e5E + br 10 (;@2;) + end + local.get 0 + i32.const -8 + i32.and + i32.const 1049588 + i32.add + local.set 6 + block ;; label = @12 + block ;; label = @13 + i32.const 0 + i32.load offset=1049852 + local.tee 4 + i32.const 1 + local.get 0 + i32.const 3 + i32.shr_u + i32.shl + local.tee 0 + i32.and + i32.eqz + br_if 0 (;@13;) + local.get 6 + i32.load offset=8 + local.set 0 + br 1 (;@12;) + end + i32.const 0 + local.get 4 + local.get 0 + i32.or + i32.store offset=1049852 + local.get 6 + local.set 0 + end + local.get 6 + local.get 3 + i32.store offset=8 + local.get 0 + local.get 3 + i32.store offset=12 + local.get 3 + local.get 6 + i32.store offset=12 + local.get 3 + local.get 0 + i32.store offset=8 + br 9 (;@2;) + end + local.get 0 + i32.load + local.set 4 + local.get 0 + local.get 6 + i32.store + local.get 0 + local.get 0 + i32.load offset=4 + local.get 5 + i32.add + i32.store offset=4 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.tee 0 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 3 + local.get 4 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.tee 5 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 7 + local.get 6 + local.get 3 + local.get 0 + i32.sub + i32.add + local.tee 6 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 3 + local.get 6 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hde3a2aa37fbaa399E + local.get 4 + local.get 7 + local.get 5 + i32.sub + i32.add + local.tee 0 + local.get 2 + local.get 6 + i32.add + i32.sub + local.set 2 + block ;; label = @11 + local.get 0 + i32.const 0 + i32.load offset=1049872 + i32.eq + br_if 0 (;@11;) + local.get 0 + i32.const 0 + i32.load offset=1049868 + i32.eq + br_if 5 (;@6;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk5inuse17hf5a2c752544132a5E + br_if 7 (;@4;) + block ;; label = @12 + block ;; label = @13 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.tee 4 + i32.const 256 + i32.lt_u + br_if 0 (;@13;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17ha72f4da7ca83329aE + br 1 (;@12;) + end + block ;; label = @13 + local.get 0 + i32.const 12 + i32.add + i32.load + local.tee 5 + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 7 + i32.eq + br_if 0 (;@13;) + local.get 7 + local.get 5 + i32.store offset=12 + local.get 5 + local.get 7 + i32.store offset=8 + br 1 (;@12;) + end + i32.const 0 + i32.const 0 + i32.load offset=1049852 + i32.const -2 + local.get 4 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1049852 + end + local.get 4 + local.get 2 + i32.add + local.set 2 + local.get 0 + local.get 4 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 0 + br 7 (;@4;) + end + i32.const 0 + local.get 3 + i32.store offset=1049872 + i32.const 0 + i32.const 0 + i32.load offset=1049864 + local.get 2 + i32.add + local.tee 0 + i32.store offset=1049864 + local.get 3 + local.get 0 + i32.const 1 + i32.or + i32.store offset=4 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.set 6 + br 9 (;@1;) + end + i32.const 0 + local.get 0 + local.get 2 + i32.sub + local.tee 6 + i32.store offset=1049864 + i32.const 0 + i32.const 0 + i32.load offset=1049872 + local.tee 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.tee 3 + i32.store offset=1049872 + local.get 3 + local.get 6 + i32.const 1 + i32.or + i32.store offset=4 + local.get 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hde3a2aa37fbaa399E + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.set 6 + br 8 (;@1;) + end + i32.const 0 + i32.load offset=1049868 + local.set 0 + local.get 6 + local.get 2 + i32.sub + local.tee 6 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.lt_u + br_if 3 (;@5;) + local.get 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 3 + i32.const 0 + local.get 6 + i32.store offset=1049860 + i32.const 0 + local.get 3 + i32.store offset=1049868 + local.get 3 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17h1fd7681f798bd202E + local.get 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hde3a2aa37fbaa399E + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.set 6 + br 7 (;@1;) + end + i32.const 0 + local.get 6 + i32.store offset=1049888 + br 4 (;@3;) + end + local.get 0 + local.get 0 + i32.load offset=4 + local.get 5 + i32.add + i32.store offset=4 + i32.const 0 + i32.load offset=1049872 + i32.const 0 + i32.load offset=1049864 + local.get 5 + i32.add + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8init_top17h8fd4d60500283c98E + br 4 (;@2;) + end + i32.const 0 + local.get 3 + i32.store offset=1049868 + i32.const 0 + i32.const 0 + i32.load offset=1049860 + local.get 2 + i32.add + local.tee 0 + i32.store offset=1049860 + local.get 3 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17h1fd7681f798bd202E + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.set 6 + br 4 (;@1;) + end + i32.const 0 + i32.const 0 + i32.store offset=1049868 + i32.const 0 + i32.load offset=1049860 + local.set 2 + i32.const 0 + i32.const 0 + i32.store offset=1049860 + local.get 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk20set_inuse_and_pinuse17h5e230a8085cd2ec2E + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.set 6 + br 3 (;@1;) + end + local.get 3 + local.get 2 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h1799a4bab9f9b316E + block ;; label = @4 + local.get 2 + i32.const 256 + i32.lt_u + br_if 0 (;@4;) + local.get 3 + local.get 2 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17he8ba33f903c209e5E + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.set 6 + br 3 (;@1;) + end + local.get 2 + i32.const -8 + i32.and + i32.const 1049588 + i32.add + local.set 0 + block ;; label = @4 + block ;; label = @5 + i32.const 0 + i32.load offset=1049852 + local.tee 4 + i32.const 1 + local.get 2 + i32.const 3 + i32.shr_u + i32.shl + local.tee 2 + i32.and + i32.eqz + br_if 0 (;@5;) + local.get 0 + i32.load offset=8 + local.set 2 + br 1 (;@4;) + end + i32.const 0 + local.get 4 + local.get 2 + i32.or + i32.store offset=1049852 + local.get 0 + local.set 2 + end + local.get 0 + local.get 3 + i32.store offset=8 + local.get 2 + local.get 3 + i32.store offset=12 + local.get 3 + local.get 0 + i32.store offset=12 + local.get 3 + local.get 2 + i32.store offset=8 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.set 6 + br 2 (;@1;) + end + i32.const 0 + i32.const 4095 + i32.store offset=1049892 + i32.const 0 + local.get 8 + i32.store offset=1049584 + i32.const 0 + local.get 5 + i32.store offset=1049576 + i32.const 0 + local.get 6 + i32.store offset=1049572 + i32.const 0 + i32.const 1049588 + i32.store offset=1049600 + i32.const 0 + i32.const 1049596 + i32.store offset=1049608 + i32.const 0 + i32.const 1049588 + i32.store offset=1049596 + i32.const 0 + i32.const 1049604 + i32.store offset=1049616 + i32.const 0 + i32.const 1049596 + i32.store offset=1049604 + i32.const 0 + i32.const 1049612 + i32.store offset=1049624 + i32.const 0 + i32.const 1049604 + i32.store offset=1049612 + i32.const 0 + i32.const 1049620 + i32.store offset=1049632 + i32.const 0 + i32.const 1049612 + i32.store offset=1049620 + i32.const 0 + i32.const 1049628 + i32.store offset=1049640 + i32.const 0 + i32.const 1049620 + i32.store offset=1049628 + i32.const 0 + i32.const 1049636 + i32.store offset=1049648 + i32.const 0 + i32.const 1049628 + i32.store offset=1049636 + i32.const 0 + i32.const 1049644 + i32.store offset=1049656 + i32.const 0 + i32.const 1049636 + i32.store offset=1049644 + i32.const 0 + i32.const 1049652 + i32.store offset=1049664 + i32.const 0 + i32.const 1049644 + i32.store offset=1049652 + i32.const 0 + i32.const 1049652 + i32.store offset=1049660 + i32.const 0 + i32.const 1049660 + i32.store offset=1049672 + i32.const 0 + i32.const 1049660 + i32.store offset=1049668 + i32.const 0 + i32.const 1049668 + i32.store offset=1049680 + i32.const 0 + i32.const 1049668 + i32.store offset=1049676 + i32.const 0 + i32.const 1049676 + i32.store offset=1049688 + i32.const 0 + i32.const 1049676 + i32.store offset=1049684 + i32.const 0 + i32.const 1049684 + i32.store offset=1049696 + i32.const 0 + i32.const 1049684 + i32.store offset=1049692 + i32.const 0 + i32.const 1049692 + i32.store offset=1049704 + i32.const 0 + i32.const 1049692 + i32.store offset=1049700 + i32.const 0 + i32.const 1049700 + i32.store offset=1049712 + i32.const 0 + i32.const 1049700 + i32.store offset=1049708 + i32.const 0 + i32.const 1049708 + i32.store offset=1049720 + i32.const 0 + i32.const 1049708 + i32.store offset=1049716 + i32.const 0 + i32.const 1049716 + i32.store offset=1049728 + i32.const 0 + i32.const 1049724 + i32.store offset=1049736 + i32.const 0 + i32.const 1049716 + i32.store offset=1049724 + i32.const 0 + i32.const 1049732 + i32.store offset=1049744 + i32.const 0 + i32.const 1049724 + i32.store offset=1049732 + i32.const 0 + i32.const 1049740 + i32.store offset=1049752 + i32.const 0 + i32.const 1049732 + i32.store offset=1049740 + i32.const 0 + i32.const 1049748 + i32.store offset=1049760 + i32.const 0 + i32.const 1049740 + i32.store offset=1049748 + i32.const 0 + i32.const 1049756 + i32.store offset=1049768 + i32.const 0 + i32.const 1049748 + i32.store offset=1049756 + i32.const 0 + i32.const 1049764 + i32.store offset=1049776 + i32.const 0 + i32.const 1049756 + i32.store offset=1049764 + i32.const 0 + i32.const 1049772 + i32.store offset=1049784 + i32.const 0 + i32.const 1049764 + i32.store offset=1049772 + i32.const 0 + i32.const 1049780 + i32.store offset=1049792 + i32.const 0 + i32.const 1049772 + i32.store offset=1049780 + i32.const 0 + i32.const 1049788 + i32.store offset=1049800 + i32.const 0 + i32.const 1049780 + i32.store offset=1049788 + i32.const 0 + i32.const 1049796 + i32.store offset=1049808 + i32.const 0 + i32.const 1049788 + i32.store offset=1049796 + i32.const 0 + i32.const 1049804 + i32.store offset=1049816 + i32.const 0 + i32.const 1049796 + i32.store offset=1049804 + i32.const 0 + i32.const 1049812 + i32.store offset=1049824 + i32.const 0 + i32.const 1049804 + i32.store offset=1049812 + i32.const 0 + i32.const 1049820 + i32.store offset=1049832 + i32.const 0 + i32.const 1049812 + i32.store offset=1049820 + i32.const 0 + i32.const 1049828 + i32.store offset=1049840 + i32.const 0 + i32.const 1049820 + i32.store offset=1049828 + i32.const 0 + i32.const 1049836 + i32.store offset=1049848 + i32.const 0 + i32.const 1049828 + i32.store offset=1049836 + i32.const 0 + i32.const 1049836 + i32.store offset=1049844 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hac4281ec6120931aE + local.tee 3 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 4 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 7 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 8 + i32.const 0 + local.get 6 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.tee 0 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.get 0 + i32.sub + local.tee 10 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.tee 0 + i32.store offset=1049872 + i32.const 0 + local.get 3 + local.get 5 + i32.add + local.get 8 + local.get 4 + local.get 7 + i32.add + i32.add + local.get 10 + i32.add + i32.sub + local.tee 6 + i32.store offset=1049864 + local.get 0 + local.get 6 + i32.const 1 + i32.or + i32.store offset=4 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hac4281ec6120931aE + local.tee 3 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 4 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 5 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 7 + local.get 0 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.get 7 + local.get 5 + local.get 4 + local.get 3 + i32.sub + i32.add + i32.add + i32.store offset=4 + i32.const 0 + i32.const 2097152 + i32.store offset=1049884 + end + i32.const 0 + local.set 6 + i32.const 0 + i32.load offset=1049864 + local.tee 0 + local.get 2 + i32.le_u + br_if 0 (;@1;) + i32.const 0 + local.get 0 + local.get 2 + i32.sub + local.tee 6 + i32.store offset=1049864 + i32.const 0 + i32.const 0 + i32.load offset=1049872 + local.tee 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.tee 3 + i32.store offset=1049872 + local.get 3 + local.get 6 + i32.const 1 + i32.or + i32.store offset=4 + local.get 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hde3a2aa37fbaa399E + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.set 6 + end + local.get 1 + i32.const 16 + i32.add + global.set $__stack_pointer + local.get 6 + ) + (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8init_top17h8fd4d60500283c98E (;29;) (type 0) (param i32 i32) + (local i32 i32 i32 i32) + local.get 0 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.tee 2 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.get 2 + i32.sub + local.tee 2 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 0 + i32.const 0 + local.get 1 + local.get 2 + i32.sub + local.tee 1 + i32.store offset=1049864 + i32.const 0 + local.get 0 + i32.store offset=1049872 + local.get 0 + local.get 1 + i32.const 1 + i32.or + i32.store offset=4 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hac4281ec6120931aE + local.tee 2 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 3 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 4 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 5 + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.get 5 + local.get 4 + local.get 3 + local.get 2 + i32.sub + i32.add + i32.add + i32.store offset=4 + i32.const 0 + i32.const 2097152 + i32.store offset=1049884 + ) + (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17h0b80dbf62575ccadE (;30;) (type 2) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32) + block ;; label = @1 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.get 0 + i32.le_u + br_if 0 (;@1;) + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 0 + end + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hac4281ec6120931aE + local.tee 2 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 3 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 4 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 5 + i32.const 0 + local.set 6 + block ;; label = @1 + i32.const 0 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.const 2 + i32.shl + i32.sub + local.tee 7 + local.get 2 + local.get 5 + local.get 3 + local.get 4 + i32.add + i32.add + i32.sub + i32.const -65544 + i32.add + i32.const -9 + i32.and + i32.const -3 + i32.add + local.tee 2 + local.get 7 + local.get 2 + i32.lt_u + select + local.get 0 + i32.sub + local.get 1 + i32.le_u + br_if 0 (;@1;) + local.get 0 + i32.const 16 + local.get 1 + i32.const 4 + i32.add + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.const -5 + i32.add + local.get 1 + i32.gt_u + select + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.tee 3 + i32.add + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.add + i32.const -4 + i32.add + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h35e6ef52a56596fcE + local.tee 2 + i32.eqz + br_if 0 (;@1;) + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17he0c63eee8cdca776E + local.set 1 + block ;; label = @2 + block ;; label = @3 + local.get 0 + i32.const -1 + i32.add + local.tee 6 + local.get 2 + i32.and + br_if 0 (;@3;) + local.get 1 + local.set 0 + br 1 (;@2;) + end + local.get 6 + local.get 2 + i32.add + i32.const 0 + local.get 0 + i32.sub + i32.and + call $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17he0c63eee8cdca776E + local.set 6 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 2 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.get 6 + i32.const 0 + local.get 0 + local.get 6 + local.get 1 + i32.sub + local.get 2 + i32.gt_u + select + i32.add + local.tee 0 + local.get 1 + i32.sub + local.tee 6 + i32.sub + local.set 2 + block ;; label = @3 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17he5f94b079da0b60cE + br_if 0 (;@3;) + local.get 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h8d2a654f84531303E + local.get 1 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h8d2a654f84531303E + local.get 1 + local.get 6 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17hd540a2c3ba1b9507E + br 1 (;@2;) + end + local.get 1 + i32.load + local.set 1 + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + local.get 1 + local.get 6 + i32.add + i32.store + end + block ;; label = @2 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17he5f94b079da0b60cE + br_if 0 (;@2;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.tee 1 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.get 3 + i32.add + i32.le_u + br_if 0 (;@2;) + local.get 0 + local.get 3 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 6 + local.get 0 + local.get 3 + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h8d2a654f84531303E + local.get 6 + local.get 1 + local.get 3 + i32.sub + local.tee 1 + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h8d2a654f84531303E + local.get 6 + local.get 1 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17hd540a2c3ba1b9507E + end + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + local.set 6 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17he5f94b079da0b60cE + drop + end + local.get 6 + ) + (func $_ZN3std10sys_common9backtrace26__rust_end_short_backtrace17h441ebb427bb578d6E (;31;) (type 8) (param i32) + local.get 0 + call $_ZN3std9panicking19begin_panic_handler28_$u7b$$u7b$closure$u7d$$u7d$17heae170d53794fb77E + unreachable + ) + (func $_ZN3std9panicking19begin_panic_handler28_$u7b$$u7b$closure$u7d$$u7d$17heae170d53794fb77E (;32;) (type 8) (param i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 1 + global.set $__stack_pointer + local.get 0 + i32.load + local.tee 2 + i32.const 12 + i32.add + i32.load + local.set 3 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 2 + i32.load offset=4 + br_table 0 (;@4;) 1 (;@3;) 3 (;@1;) + end + local.get 3 + br_if 2 (;@1;) + i32.const 1048752 + local.set 2 + i32.const 0 + local.set 3 + br 1 (;@2;) + end + local.get 3 + br_if 1 (;@1;) + local.get 2 + i32.load + local.tee 2 + i32.load offset=4 + local.set 3 + local.get 2 + i32.load + local.set 2 + end + local.get 1 + local.get 3 + i32.store offset=4 + local.get 1 + local.get 2 + i32.store + local.get 1 + i32.const 1049072 + local.get 0 + i32.load offset=4 + local.tee 2 + call $_ZN4core5panic10panic_info9PanicInfo7message17hfb08d956b3aa7161E + local.get 0 + i32.load offset=8 + local.get 2 + call $_ZN4core5panic10panic_info9PanicInfo10can_unwind17h9ea0b89b001e5accE + call $_ZN3std9panicking20rust_panic_with_hook17h94210a66d870d859E + unreachable + end + local.get 1 + i32.const 0 + i32.store offset=4 + local.get 1 + local.get 2 + i32.store + local.get 1 + i32.const 1049092 + local.get 0 + i32.load offset=4 + local.tee 2 + call $_ZN4core5panic10panic_info9PanicInfo7message17hfb08d956b3aa7161E + local.get 0 + i32.load offset=8 + local.get 2 + call $_ZN4core5panic10panic_info9PanicInfo10can_unwind17h9ea0b89b001e5accE + call $_ZN3std9panicking20rust_panic_with_hook17h94210a66d870d859E + unreachable + ) + (func $_ZN3std5alloc24default_alloc_error_hook17h9a8a64e6b6ffa643E (;33;) (type 0) (param i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 2 + global.set $__stack_pointer + block ;; label = @1 + i32.const 0 + i32.load8_u offset=1049416 + i32.eqz + br_if 0 (;@1;) + local.get 2 + i32.const 1 + i32.store offset=40 + local.get 2 + local.get 1 + i32.store offset=44 + local.get 2 + local.get 2 + i32.const 44 + i32.add + i32.store offset=36 + local.get 2 + i32.const 12 + i32.add + i32.const 1048924 + i32.const 2 + local.get 2 + i32.const 36 + i32.add + i32.const 1 + call $_ZN4core3fmt9Arguments6new_v117he1e436505aa5faf2E + local.get 2 + i32.const 12 + i32.add + i32.const 1048964 + call $_ZN4core9panicking9panic_fmt17h9f61a1f2faa523f9E + unreachable + end + local.get 2 + i32.const 48 + i32.add + global.set $__stack_pointer + ) + (func $__rdl_alloc (;34;) (type 2) (param i32 i32) (result i32) + block ;; label = @1 + local.get 1 + i32.const 9 + i32.lt_u + br_if 0 (;@1;) + local.get 1 + local.get 0 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17h0b80dbf62575ccadE + return + end + local.get 0 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h35e6ef52a56596fcE + ) + (func $__rdl_dealloc (;35;) (type 3) (param i32 i32 i32) + local.get 0 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h118d9a78f3c9bddaE + ) + (func $__rdl_realloc (;36;) (type 6) (param i32 i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + local.get 2 + i32.const 9 + i32.lt_u + br_if 0 (;@6;) + local.get 2 + local.get 3 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17h0b80dbf62575ccadE + local.tee 2 + br_if 1 (;@5;) + i32.const 0 + return + end + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hac4281ec6120931aE + local.tee 1 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 4 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 5 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 6 + i32.const 0 + local.set 2 + i32.const 0 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.const 2 + i32.shl + i32.sub + local.tee 7 + local.get 1 + local.get 6 + local.get 4 + local.get 5 + i32.add + i32.add + i32.sub + i32.const -65544 + i32.add + i32.const -9 + i32.and + i32.const -3 + i32.add + local.tee 1 + local.get 7 + local.get 1 + i32.lt_u + select + local.get 3 + i32.le_u + br_if 3 (;@2;) + i32.const 16 + local.get 3 + i32.const 4 + i32.add + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.const -5 + i32.add + local.get 3 + i32.gt_u + select + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.set 4 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17he0c63eee8cdca776E + local.set 1 + local.get 1 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.tee 5 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 6 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + block ;; label = @12 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17he5f94b079da0b60cE + br_if 0 (;@12;) + local.get 5 + local.get 4 + i32.ge_u + br_if 4 (;@8;) + local.get 6 + i32.const 0 + i32.load offset=1049872 + i32.eq + br_if 6 (;@6;) + local.get 6 + i32.const 0 + i32.load offset=1049868 + i32.eq + br_if 3 (;@9;) + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk6cinuse17h5f7e76bcc83bce87E + br_if 9 (;@3;) + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.tee 7 + local.get 5 + i32.add + local.tee 5 + local.get 4 + i32.lt_u + br_if 9 (;@3;) + local.get 5 + local.get 4 + i32.sub + local.set 8 + local.get 7 + i32.const 256 + i32.lt_u + br_if 1 (;@11;) + local.get 6 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17ha72f4da7ca83329aE + br 2 (;@10;) + end + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + local.set 5 + local.get 4 + i32.const 256 + i32.lt_u + br_if 8 (;@3;) + block ;; label = @12 + local.get 5 + local.get 4 + i32.const 4 + i32.add + i32.lt_u + br_if 0 (;@12;) + local.get 5 + local.get 4 + i32.sub + i32.const 131073 + i32.lt_u + br_if 5 (;@7;) + end + i32.const 1049444 + local.get 1 + local.get 1 + i32.load + local.tee 6 + i32.sub + local.get 5 + local.get 6 + i32.add + i32.const 16 + i32.add + local.tee 7 + local.get 4 + i32.const 31 + i32.add + i32.const 1049444 + call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$9page_size17h4427b1d9fd5cd20aE + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + local.tee 5 + i32.const 1 + call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$5remap17h5f2ea50ef28de1a4E + local.tee 4 + i32.eqz + br_if 8 (;@3;) + local.get 4 + local.get 6 + i32.add + local.tee 1 + local.get 5 + local.get 6 + i32.sub + local.tee 3 + i32.const -16 + i32.add + local.tee 2 + i32.store offset=4 + call $_ZN8dlmalloc8dlmalloc5Chunk14fencepost_head17h941edb424a940fbfE + local.set 0 + local.get 1 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.get 0 + i32.store offset=4 + local.get 1 + local.get 3 + i32.const -12 + i32.add + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + i32.const 0 + i32.store offset=4 + i32.const 0 + i32.const 0 + i32.load offset=1049876 + local.get 5 + local.get 7 + i32.sub + i32.add + local.tee 3 + i32.store offset=1049876 + i32.const 0 + i32.const 0 + i32.load offset=1049888 + local.tee 2 + local.get 4 + local.get 4 + local.get 2 + i32.gt_u + select + i32.store offset=1049888 + i32.const 0 + i32.const 0 + i32.load offset=1049880 + local.tee 2 + local.get 3 + local.get 2 + local.get 3 + i32.gt_u + select + i32.store offset=1049880 + br 10 (;@1;) + end + block ;; label = @11 + local.get 6 + i32.const 12 + i32.add + i32.load + local.tee 9 + local.get 6 + i32.const 8 + i32.add + i32.load + local.tee 6 + i32.eq + br_if 0 (;@11;) + local.get 6 + local.get 9 + i32.store offset=12 + local.get 9 + local.get 6 + i32.store offset=8 + br 1 (;@10;) + end + i32.const 0 + i32.const 0 + i32.load offset=1049852 + i32.const -2 + local.get 7 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1049852 + end + block ;; label = @10 + local.get 8 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.lt_u + br_if 0 (;@10;) + local.get 1 + local.get 4 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 5 + local.get 1 + local.get 4 + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h8d2a654f84531303E + local.get 5 + local.get 8 + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h8d2a654f84531303E + local.get 5 + local.get 8 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17hd540a2c3ba1b9507E + local.get 1 + br_if 9 (;@1;) + br 7 (;@3;) + end + local.get 1 + local.get 5 + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h8d2a654f84531303E + local.get 1 + br_if 8 (;@1;) + br 6 (;@3;) + end + i32.const 0 + i32.load offset=1049860 + local.get 5 + i32.add + local.tee 5 + local.get 4 + i32.lt_u + br_if 5 (;@3;) + block ;; label = @9 + block ;; label = @10 + local.get 5 + local.get 4 + i32.sub + local.tee 6 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.ge_u + br_if 0 (;@10;) + local.get 1 + local.get 5 + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h8d2a654f84531303E + i32.const 0 + local.set 6 + i32.const 0 + local.set 5 + br 1 (;@9;) + end + local.get 1 + local.get 4 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.tee 5 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 7 + local.get 1 + local.get 4 + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h8d2a654f84531303E + local.get 5 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17h1fd7681f798bd202E + local.get 7 + call $_ZN8dlmalloc8dlmalloc5Chunk12clear_pinuse17hc6bf9f5cac4b56bfE + end + i32.const 0 + local.get 5 + i32.store offset=1049868 + i32.const 0 + local.get 6 + i32.store offset=1049860 + local.get 1 + br_if 7 (;@1;) + br 5 (;@3;) + end + local.get 5 + local.get 4 + i32.sub + local.tee 5 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E + i32.lt_u + br_if 0 (;@7;) + local.get 1 + local.get 4 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 6 + local.get 1 + local.get 4 + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h8d2a654f84531303E + local.get 6 + local.get 5 + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h8d2a654f84531303E + local.get 6 + local.get 5 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17hd540a2c3ba1b9507E + end + local.get 1 + br_if 5 (;@1;) + br 3 (;@3;) + end + i32.const 0 + i32.load offset=1049864 + local.get 5 + i32.add + local.tee 5 + local.get 4 + i32.gt_u + br_if 1 (;@4;) + br 2 (;@3;) + end + local.get 2 + local.get 0 + local.get 1 + local.get 3 + local.get 1 + local.get 3 + i32.lt_u + select + call $memcpy + drop + local.get 0 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h118d9a78f3c9bddaE + br 2 (;@2;) + end + local.get 1 + local.get 4 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E + local.set 6 + local.get 1 + local.get 4 + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h8d2a654f84531303E + local.get 6 + local.get 5 + local.get 4 + i32.sub + local.tee 4 + i32.const 1 + i32.or + i32.store offset=4 + i32.const 0 + local.get 4 + i32.store offset=1049864 + i32.const 0 + local.get 6 + i32.store offset=1049872 + local.get 1 + br_if 2 (;@1;) + end + local.get 3 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h35e6ef52a56596fcE + local.tee 4 + i32.eqz + br_if 0 (;@2;) + local.get 4 + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E + i32.const -8 + i32.const -4 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17he5f94b079da0b60cE + select + i32.add + local.tee 2 + local.get 3 + local.get 2 + local.get 3 + i32.lt_u + select + call $memcpy + local.set 3 + local.get 0 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h118d9a78f3c9bddaE + local.get 3 + return + end + local.get 2 + return + end + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17he5f94b079da0b60cE + drop + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE + ) + (func $rust_begin_unwind (;37;) (type 8) (param i32) + (local i32 i32 i32) + global.get $__stack_pointer + i32.const 16 + i32.sub + local.tee 1 + global.set $__stack_pointer + block ;; label = @1 + block ;; label = @2 + local.get 0 + call $_ZN4core5panic10panic_info9PanicInfo8location17h9dc6756860d331fbE + local.tee 2 + i32.eqz + br_if 0 (;@2;) + local.get 0 + call $_ZN4core5panic10panic_info9PanicInfo7message17hfb08d956b3aa7161E + local.tee 3 + i32.eqz + br_if 1 (;@1;) + local.get 1 + local.get 2 + i32.store offset=12 + local.get 1 + local.get 0 + i32.store offset=8 + local.get 1 + local.get 3 + i32.store offset=4 + local.get 1 + i32.const 4 + i32.add + call $_ZN3std10sys_common9backtrace26__rust_end_short_backtrace17h441ebb427bb578d6E + unreachable + end + i32.const 1048844 + i32.const 43 + i32.const 1049008 + call $_ZN4core9panicking5panic17h62f53cc4db8dd7b3E + unreachable + end + i32.const 1048844 + i32.const 43 + i32.const 1049024 + call $_ZN4core9panicking5panic17h62f53cc4db8dd7b3E + unreachable + ) + (func $_ZN90_$LT$std..panicking..begin_panic_handler..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$8take_box17h1c4237be36baab94E (;38;) (type 0) (param i32 i32) + (local i32 i32 i32 i32 i64) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 1 + i32.const 4 + i32.add + local.set 3 + block ;; label = @1 + local.get 1 + i32.load offset=4 + br_if 0 (;@1;) + local.get 1 + i32.load + local.set 4 + local.get 2 + i32.const 32 + i32.add + i32.const 8 + i32.add + local.tee 5 + i32.const 0 + i32.store + local.get 2 + i64.const 1 + i64.store offset=32 align=4 + local.get 2 + local.get 2 + i32.const 32 + i32.add + i32.store offset=44 + local.get 2 + i32.const 44 + i32.add + i32.const 1048708 + local.get 4 + call $_ZN4core3fmt5write17h582d30542f5ba2e2E + drop + local.get 2 + i32.const 16 + i32.add + i32.const 8 + i32.add + local.get 5 + i32.load + local.tee 4 + i32.store + local.get 2 + local.get 2 + i64.load offset=32 align=4 + local.tee 6 + i64.store offset=16 + local.get 3 + i32.const 8 + i32.add + local.get 4 + i32.store + local.get 3 + local.get 6 + i64.store align=4 + end + local.get 2 + i32.const 8 + i32.add + local.tee 4 + local.get 3 + i32.const 8 + i32.add + i32.load + i32.store + local.get 1 + i32.const 12 + i32.add + i32.const 0 + i32.store + local.get 3 + i64.load align=4 + local.set 6 + local.get 1 + i64.const 1 + i64.store offset=4 align=4 + i32.const 0 + i32.load8_u offset=1049417 + drop + local.get 2 + local.get 6 + i64.store + block ;; label = @1 + i32.const 12 + i32.const 4 + call $__rust_alloc + local.tee 1 + br_if 0 (;@1;) + i32.const 4 + i32.const 12 + call $_ZN5alloc5alloc18handle_alloc_error17h5954dad6240bd34cE + unreachable + end + local.get 1 + local.get 2 + i64.load + i64.store align=4 + local.get 1 + i32.const 8 + i32.add + local.get 4 + i32.load + i32.store + local.get 0 + i32.const 1049040 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store + local.get 2 + i32.const 48 + i32.add + global.set $__stack_pointer + ) + (func $_ZN90_$LT$std..panicking..begin_panic_handler..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$3get17h722a13445948bc31E (;39;) (type 0) (param i32 i32) + (local i32 i32 i32 i64) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 1 + i32.const 4 + i32.add + local.set 3 + block ;; label = @1 + local.get 1 + i32.load offset=4 + br_if 0 (;@1;) + local.get 1 + i32.load + local.set 1 + local.get 2 + i32.const 16 + i32.add + i32.const 8 + i32.add + local.tee 4 + i32.const 0 + i32.store + local.get 2 + i64.const 1 + i64.store offset=16 align=4 + local.get 2 + local.get 2 + i32.const 16 + i32.add + i32.store offset=28 + local.get 2 + i32.const 28 + i32.add + i32.const 1048708 + local.get 1 + call $_ZN4core3fmt5write17h582d30542f5ba2e2E + drop + local.get 2 + i32.const 8 + i32.add + local.get 4 + i32.load + local.tee 1 + i32.store + local.get 2 + local.get 2 + i64.load offset=16 align=4 + local.tee 5 + i64.store + local.get 3 + i32.const 8 + i32.add + local.get 1 + i32.store + local.get 3 + local.get 5 + i64.store align=4 + end + local.get 0 + i32.const 1049040 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store + local.get 2 + i32.const 32 + i32.add + global.set $__stack_pointer + ) + (func $_ZN93_$LT$std..panicking..begin_panic_handler..StrPanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$8take_box17h0498f4bbdb6d7034E (;40;) (type 0) (param i32 i32) + (local i32 i32) + i32.const 0 + i32.load8_u offset=1049417 + drop + local.get 1 + i32.load offset=4 + local.set 2 + local.get 1 + i32.load + local.set 3 + block ;; label = @1 + i32.const 8 + i32.const 4 + call $__rust_alloc + local.tee 1 + br_if 0 (;@1;) + i32.const 4 + i32.const 8 + call $_ZN5alloc5alloc18handle_alloc_error17h5954dad6240bd34cE + unreachable + end + local.get 1 + local.get 2 + i32.store offset=4 + local.get 1 + local.get 3 + i32.store + local.get 0 + i32.const 1049056 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store + ) + (func $_ZN93_$LT$std..panicking..begin_panic_handler..StrPanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$3get17hc8ea335ef7746c08E (;41;) (type 0) (param i32 i32) + local.get 0 + i32.const 1049056 + i32.store offset=4 + local.get 0 + local.get 1 + i32.store + ) + (func $_ZN3std9panicking20rust_panic_with_hook17h94210a66d870d859E (;42;) (type 7) (param i32 i32 i32 i32 i32) + (local i32 i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 5 + global.set $__stack_pointer + i32.const 0 + i32.const 0 + i32.load offset=1049440 + local.tee 6 + i32.const 1 + i32.add + i32.store offset=1049440 + block ;; label = @1 + block ;; label = @2 + local.get 6 + i32.const 0 + i32.lt_s + br_if 0 (;@2;) + i32.const 0 + i32.load8_u offset=1049900 + i32.const 255 + i32.and + br_if 0 (;@2;) + i32.const 0 + i32.const 1 + i32.store8 offset=1049900 + i32.const 0 + i32.const 0 + i32.load offset=1049896 + i32.const 1 + i32.add + i32.store offset=1049896 + local.get 5 + local.get 2 + i32.store offset=24 + local.get 5 + i32.const 1049112 + i32.store offset=16 + local.get 5 + i32.const 1048752 + i32.store offset=12 + local.get 5 + local.get 4 + i32.store8 offset=28 + local.get 5 + local.get 3 + i32.store offset=20 + i32.const 0 + i32.load offset=1049424 + local.tee 6 + i32.const -1 + i32.le_s + br_if 0 (;@2;) + i32.const 0 + local.get 6 + i32.const 1 + i32.add + i32.store offset=1049424 + block ;; label = @3 + i32.const 0 + i32.load offset=1049432 + i32.eqz + br_if 0 (;@3;) + local.get 5 + local.get 0 + local.get 1 + i32.load offset=16 + call_indirect (type 0) + local.get 5 + local.get 5 + i64.load + i64.store offset=12 align=4 + i32.const 0 + i32.load offset=1049432 + local.get 5 + i32.const 12 + i32.add + i32.const 0 + i32.load offset=1049436 + i32.load offset=20 + call_indirect (type 0) + i32.const 0 + i32.load offset=1049424 + i32.const -1 + i32.add + local.set 6 + end + i32.const 0 + local.get 6 + i32.store offset=1049424 + i32.const 0 + i32.const 0 + i32.store8 offset=1049900 + local.get 4 + br_if 1 (;@1;) + end + unreachable + unreachable + end + local.get 0 + local.get 1 + call $rust_panic + unreachable + ) + (func $rust_panic (;43;) (type 0) (param i32 i32) + local.get 0 + local.get 1 + call $__rust_start_panic + drop + unreachable + unreachable + ) + (func $__rg_oom (;44;) (type 0) (param i32 i32) + (local i32) + local.get 1 + local.get 0 + i32.const 0 + i32.load offset=1049420 + local.tee 2 + i32.const 2 + local.get 2 + select + call_indirect (type 0) + unreachable + unreachable + ) + (func $__rust_start_panic (;45;) (type 2) (param i32 i32) (result i32) + unreachable + unreachable + ) + (func $_ZN8dlmalloc8dlmalloc8align_up17h05a56326d9a45410E (;46;) (type 2) (param i32 i32) (result i32) + local.get 0 + local.get 1 + i32.add + i32.const -1 + i32.add + i32.const 0 + local.get 1 + i32.sub + i32.and + ) + (func $_ZN8dlmalloc8dlmalloc9left_bits17hbe1e77ea260333f9E (;47;) (type 9) (param i32) (result i32) + local.get 0 + i32.const 1 + i32.shl + local.tee 0 + i32.const 0 + local.get 0 + i32.sub + i32.or + ) + (func $_ZN8dlmalloc8dlmalloc9least_bit17h83f4c934b61ac2fbE (;48;) (type 9) (param i32) (result i32) + i32.const 0 + local.get 0 + i32.sub + local.get 0 + i32.and + ) + (func $_ZN8dlmalloc8dlmalloc24leftshift_for_tree_index17hdcd9b8516082931cE (;49;) (type 9) (param i32) (result i32) + i32.const 0 + i32.const 25 + local.get 0 + i32.const 1 + i32.shr_u + i32.sub + local.get 0 + i32.const 31 + i32.eq + select + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk14fencepost_head17h941edb424a940fbfE (;50;) (type 5) (result i32) + i32.const 7 + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk4size17hed30c8f8e3947638E (;51;) (type 9) (param i32) (result i32) + local.get 0 + i32.load offset=4 + i32.const -8 + i32.and + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk6cinuse17h5f7e76bcc83bce87E (;52;) (type 9) (param i32) (result i32) + local.get 0 + i32.load8_u offset=4 + i32.const 2 + i32.and + i32.const 1 + i32.shr_u + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk6pinuse17hee97181be66c2a74E (;53;) (type 9) (param i32) (result i32) + local.get 0 + i32.load offset=4 + i32.const 1 + i32.and + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk12clear_pinuse17hc6bf9f5cac4b56bfE (;54;) (type 8) (param i32) + local.get 0 + local.get 0 + i32.load offset=4 + i32.const -2 + i32.and + i32.store offset=4 + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk5inuse17hf5a2c752544132a5E (;55;) (type 9) (param i32) (result i32) + local.get 0 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 1 + i32.ne + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17he5f94b079da0b60cE (;56;) (type 9) (param i32) (result i32) + local.get 0 + i32.load8_u offset=4 + i32.const 3 + i32.and + i32.eqz + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h8d2a654f84531303E (;57;) (type 0) (param i32 i32) + local.get 0 + local.get 0 + i32.load offset=4 + i32.const 1 + i32.and + local.get 1 + i32.or + i32.const 2 + i32.or + i32.store offset=4 + local.get 0 + local.get 1 + i32.add + local.tee 0 + local.get 0 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk20set_inuse_and_pinuse17h5e230a8085cd2ec2E (;58;) (type 0) (param i32 i32) + local.get 0 + local.get 1 + i32.const 3 + i32.or + i32.store offset=4 + local.get 0 + local.get 1 + i32.add + local.tee 1 + local.get 1 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hde3a2aa37fbaa399E (;59;) (type 0) (param i32 i32) + local.get 0 + local.get 1 + i32.const 3 + i32.or + i32.store offset=4 + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17h1fd7681f798bd202E (;60;) (type 0) (param i32 i32) + local.get 0 + local.get 1 + i32.const 1 + i32.or + i32.store offset=4 + local.get 0 + local.get 1 + i32.add + local.get 1 + i32.store + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h1799a4bab9f9b316E (;61;) (type 3) (param i32 i32 i32) + local.get 2 + local.get 2 + i32.load offset=4 + i32.const -2 + i32.and + i32.store offset=4 + local.get 0 + local.get 1 + i32.const 1 + i32.or + i32.store offset=4 + local.get 0 + local.get 1 + i32.add + local.get 1 + i32.store + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h53d9990850f2dc87E (;62;) (type 2) (param i32 i32) (result i32) + local.get 0 + local.get 1 + i32.add + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk12minus_offset17h20bec41fdddf2aa1E (;63;) (type 2) (param i32 i32) (result i32) + local.get 0 + local.get 1 + i32.sub + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc41ce72e2623e11fE (;64;) (type 9) (param i32) (result i32) + local.get 0 + i32.const 8 + i32.add + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hac4281ec6120931aE (;65;) (type 5) (result i32) + i32.const 8 + ) + (func $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17he0c63eee8cdca776E (;66;) (type 9) (param i32) (result i32) + local.get 0 + i32.const -8 + i32.add + ) + (func $_ZN8dlmalloc8dlmalloc9TreeChunk14leftmost_child17h7551dd0d69795b58E (;67;) (type 9) (param i32) (result i32) + (local i32) + block ;; label = @1 + local.get 0 + i32.load offset=16 + local.tee 1 + br_if 0 (;@1;) + local.get 0 + i32.const 20 + i32.add + i32.load + local.set 1 + end + local.get 1 + ) + (func $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hfcdb5a5c81a83f81E (;68;) (type 9) (param i32) (result i32) + local.get 0 + ) + (func $_ZN8dlmalloc8dlmalloc9TreeChunk4next17hbdb711aac1036624E (;69;) (type 9) (param i32) (result i32) + local.get 0 + i32.load offset=12 + ) + (func $_ZN8dlmalloc8dlmalloc9TreeChunk4prev17h01e7814ce0c45be0E (;70;) (type 9) (param i32) (result i32) + local.get 0 + i32.load offset=8 + ) + (func $_ZN8dlmalloc8dlmalloc7Segment9is_extern17haf9514a9b7ae4b86E (;71;) (type 9) (param i32) (result i32) + local.get 0 + i32.load offset=12 + i32.const 1 + i32.and + ) + (func $_ZN8dlmalloc8dlmalloc7Segment9sys_flags17h0c2250d6caad562dE (;72;) (type 9) (param i32) (result i32) + local.get 0 + i32.load offset=12 + i32.const 1 + i32.shr_u + ) + (func $_ZN8dlmalloc8dlmalloc7Segment5holds17h54e9559e1906bba3E (;73;) (type 2) (param i32 i32) (result i32) + (local i32 i32) + i32.const 0 + local.set 2 + block ;; label = @1 + local.get 0 + i32.load + local.tee 3 + local.get 1 + i32.gt_u + br_if 0 (;@1;) + local.get 3 + local.get 0 + i32.load offset=4 + i32.add + local.get 1 + i32.gt_u + local.set 2 + end + local.get 2 + ) + (func $_ZN8dlmalloc8dlmalloc7Segment3top17hc89fda93b92e1c2cE (;74;) (type 9) (param i32) (result i32) + local.get 0 + i32.load + local.get 0 + i32.load offset=4 + i32.add + ) + (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$5alloc17h6428af2ef0da78d2E (;75;) (type 3) (param i32 i32 i32) + (local i32) + local.get 2 + i32.const 16 + i32.shr_u + memory.grow + local.set 3 + local.get 0 + i32.const 0 + i32.store offset=8 + local.get 0 + i32.const 0 + local.get 2 + i32.const -65536 + i32.and + local.get 3 + i32.const -1 + i32.eq + local.tee 2 + select + i32.store offset=4 + local.get 0 + i32.const 0 + local.get 3 + i32.const 16 + i32.shl + local.get 2 + select + i32.store + ) + (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$5remap17h5f2ea50ef28de1a4E (;76;) (type 10) (param i32 i32 i32 i32 i32) (result i32) + i32.const 0 + ) + (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$9free_part17h86a8f23d0d0990e6E (;77;) (type 6) (param i32 i32 i32 i32) (result i32) + i32.const 0 + ) + (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$4free17hc0343ef6802d2b95E (;78;) (type 1) (param i32 i32 i32) (result i32) + i32.const 0 + ) + (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$16can_release_part17he573efe83c35a532E (;79;) (type 2) (param i32 i32) (result i32) + i32.const 0 + ) + (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$9page_size17h4427b1d9fd5cd20aE (;80;) (type 9) (param i32) (result i32) + i32.const 65536 + ) + (func $_ZN5alloc5alloc18handle_alloc_error17h5954dad6240bd34cE (;81;) (type 0) (param i32 i32) + local.get 0 + local.get 1 + call $_ZN5alloc5alloc18handle_alloc_error8rt_error17h2c0d39ce71f88071E + unreachable + ) + (func $_ZN5alloc7raw_vec17capacity_overflow17h60dad8f89cdc9074E (;82;) (type 11) + (local i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 0 + global.set $__stack_pointer + local.get 0 + i32.const 20 + i32.add + i64.const 0 + i64.store align=4 + local.get 0 + i32.const 1 + i32.store offset=12 + local.get 0 + i32.const 1049176 + i32.store offset=8 + local.get 0 + i32.const 1049128 + i32.store offset=16 + local.get 0 + i32.const 8 + i32.add + i32.const 1049184 + call $_ZN4core9panicking9panic_fmt17h9f61a1f2faa523f9E + unreachable + ) + (func $_ZN5alloc5alloc18handle_alloc_error8rt_error17h2c0d39ce71f88071E (;83;) (type 0) (param i32 i32) + local.get 1 + local.get 0 + call $__rust_alloc_error_handler + unreachable + ) + (func $_ZN4core3ops8function6FnOnce9call_once17hd1d6b531bf800dc3E (;84;) (type 2) (param i32 i32) (result i32) + local.get 0 + i32.load + drop + loop (result i32) ;; label = @1 + br 0 (;@1;) + end + ) + (func $_ZN4core3ptr37drop_in_place$LT$core..fmt..Error$GT$17h282a1f10dc7e004dE (;85;) (type 8) (param i32)) + (func $_ZN4core9panicking9panic_fmt17h9f61a1f2faa523f9E (;86;) (type 0) (param i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 2 + global.set $__stack_pointer + local.get 2 + local.get 0 + i32.store offset=24 + local.get 2 + i32.const 1049200 + i32.store offset=16 + local.get 2 + i32.const 1049200 + i32.store offset=12 + local.get 2 + i32.const 1 + i32.store8 offset=28 + local.get 2 + local.get 1 + i32.store offset=20 + local.get 2 + i32.const 12 + i32.add + call $rust_begin_unwind + unreachable + ) + (func $_ZN4core9panicking5panic17h62f53cc4db8dd7b3E (;87;) (type 3) (param i32 i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 32 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + i32.const 12 + i32.add + i64.const 0 + i64.store align=4 + local.get 3 + i32.const 1 + i32.store offset=4 + local.get 3 + i32.const 1049200 + i32.store offset=8 + local.get 3 + local.get 1 + i32.store offset=28 + local.get 3 + local.get 0 + i32.store offset=24 + local.get 3 + local.get 3 + i32.const 24 + i32.add + i32.store + local.get 3 + local.get 2 + call $_ZN4core9panicking9panic_fmt17h9f61a1f2faa523f9E + unreachable + ) + (func $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17hcdc49b27e8db5559E (;88;) (type 2) (param i32 i32) (result i32) + local.get 0 + i64.load32_u + i32.const 1 + local.get 1 + call $_ZN4core3fmt3num3imp7fmt_u6417h6d4a828be096d968E + ) + (func $_ZN4core3fmt5write17h582d30542f5ba2e2E (;89;) (type 1) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + i32.const 36 + i32.add + local.get 1 + i32.store + local.get 3 + i32.const 3 + i32.store8 offset=44 + local.get 3 + i32.const 32 + i32.store offset=28 + i32.const 0 + local.set 4 + local.get 3 + i32.const 0 + i32.store offset=40 + local.get 3 + local.get 0 + i32.store offset=32 + local.get 3 + i32.const 0 + i32.store offset=20 + local.get 3 + i32.const 0 + i32.store offset=12 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 2 + i32.load offset=16 + local.tee 5 + br_if 0 (;@4;) + local.get 2 + i32.const 12 + i32.add + i32.load + local.tee 0 + i32.eqz + br_if 1 (;@3;) + local.get 2 + i32.load offset=8 + local.set 1 + local.get 0 + i32.const 3 + i32.shl + local.set 6 + local.get 0 + i32.const -1 + i32.add + i32.const 536870911 + i32.and + i32.const 1 + i32.add + local.set 4 + local.get 2 + i32.load + local.set 0 + loop ;; label = @5 + block ;; label = @6 + local.get 0 + i32.const 4 + i32.add + i32.load + local.tee 7 + i32.eqz + br_if 0 (;@6;) + local.get 3 + i32.load offset=32 + local.get 0 + i32.load + local.get 7 + local.get 3 + i32.load offset=36 + i32.load offset=12 + call_indirect (type 1) + br_if 4 (;@2;) + end + local.get 1 + i32.load + local.get 3 + i32.const 12 + i32.add + local.get 1 + i32.const 4 + i32.add + i32.load + call_indirect (type 2) + br_if 3 (;@2;) + local.get 1 + i32.const 8 + i32.add + local.set 1 + local.get 0 + i32.const 8 + i32.add + local.set 0 + local.get 6 + i32.const -8 + i32.add + local.tee 6 + br_if 0 (;@5;) + br 2 (;@3;) + end + end + local.get 2 + i32.const 20 + i32.add + i32.load + local.tee 1 + i32.eqz + br_if 0 (;@3;) + local.get 1 + i32.const 5 + i32.shl + local.set 8 + local.get 1 + i32.const -1 + i32.add + i32.const 134217727 + i32.and + i32.const 1 + i32.add + local.set 4 + local.get 2 + i32.load offset=8 + local.set 9 + local.get 2 + i32.load + local.set 0 + i32.const 0 + local.set 6 + loop ;; label = @4 + block ;; label = @5 + local.get 0 + i32.const 4 + i32.add + i32.load + local.tee 1 + i32.eqz + br_if 0 (;@5;) + local.get 3 + i32.load offset=32 + local.get 0 + i32.load + local.get 1 + local.get 3 + i32.load offset=36 + i32.load offset=12 + call_indirect (type 1) + br_if 3 (;@2;) + end + local.get 3 + local.get 5 + local.get 6 + i32.add + local.tee 1 + i32.const 16 + i32.add + i32.load + i32.store offset=28 + local.get 3 + local.get 1 + i32.const 28 + i32.add + i32.load8_u + i32.store8 offset=44 + local.get 3 + local.get 1 + i32.const 24 + i32.add + i32.load + i32.store offset=40 + local.get 1 + i32.const 12 + i32.add + i32.load + local.set 10 + i32.const 0 + local.set 11 + i32.const 0 + local.set 7 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 1 + i32.const 8 + i32.add + i32.load + br_table 1 (;@6;) 0 (;@7;) 2 (;@5;) 1 (;@6;) + end + local.get 10 + i32.const 3 + i32.shl + local.set 12 + i32.const 0 + local.set 7 + local.get 9 + local.get 12 + i32.add + local.tee 12 + i32.load offset=4 + i32.const 17 + i32.ne + br_if 1 (;@5;) + local.get 12 + i32.load + i32.load + local.set 10 + end + i32.const 1 + local.set 7 + end + local.get 3 + local.get 10 + i32.store offset=16 + local.get 3 + local.get 7 + i32.store offset=12 + local.get 1 + i32.const 4 + i32.add + i32.load + local.set 7 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + local.get 1 + i32.load + br_table 1 (;@6;) 0 (;@7;) 2 (;@5;) 1 (;@6;) + end + local.get 7 + i32.const 3 + i32.shl + local.set 10 + local.get 9 + local.get 10 + i32.add + local.tee 10 + i32.load offset=4 + i32.const 17 + i32.ne + br_if 1 (;@5;) + local.get 10 + i32.load + i32.load + local.set 7 + end + i32.const 1 + local.set 11 + end + local.get 3 + local.get 7 + i32.store offset=24 + local.get 3 + local.get 11 + i32.store offset=20 + local.get 9 + local.get 1 + i32.const 20 + i32.add + i32.load + i32.const 3 + i32.shl + i32.add + local.tee 1 + i32.load + local.get 3 + i32.const 12 + i32.add + local.get 1 + i32.load offset=4 + call_indirect (type 2) + br_if 2 (;@2;) + local.get 0 + i32.const 8 + i32.add + local.set 0 + local.get 8 + local.get 6 + i32.const 32 + i32.add + local.tee 6 + i32.ne + br_if 0 (;@4;) + end + end + block ;; label = @3 + local.get 4 + local.get 2 + i32.load offset=4 + i32.ge_u + br_if 0 (;@3;) + local.get 3 + i32.load offset=32 + local.get 2 + i32.load + local.get 4 + i32.const 3 + i32.shl + i32.add + local.tee 1 + i32.load + local.get 1 + i32.load offset=4 + local.get 3 + i32.load offset=36 + i32.load offset=12 + call_indirect (type 1) + br_if 1 (;@2;) + end + i32.const 0 + local.set 1 + br 1 (;@1;) + end + i32.const 1 + local.set 1 + end + local.get 3 + i32.const 48 + i32.add + global.set $__stack_pointer + local.get 1 + ) + (func $_ZN4core3fmt9Formatter12pad_integral17h17008768bb6097d0E (;90;) (type 12) (param i32 i32 i32 i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 1 + i32.eqz + br_if 0 (;@2;) + i32.const 43 + i32.const 1114112 + local.get 0 + i32.load offset=28 + local.tee 6 + i32.const 1 + i32.and + local.tee 1 + select + local.set 7 + local.get 1 + local.get 5 + i32.add + local.set 8 + br 1 (;@1;) + end + local.get 5 + i32.const 1 + i32.add + local.set 8 + local.get 0 + i32.load offset=28 + local.set 6 + i32.const 45 + local.set 7 + end + block ;; label = @1 + block ;; label = @2 + local.get 6 + i32.const 4 + i32.and + br_if 0 (;@2;) + i32.const 0 + local.set 2 + br 1 (;@1;) + end + block ;; label = @2 + block ;; label = @3 + local.get 3 + i32.const 16 + i32.lt_u + br_if 0 (;@3;) + local.get 2 + local.get 3 + call $_ZN4core3str5count14do_count_chars17h77daa5ab92330d9eE + local.set 1 + br 1 (;@2;) + end + block ;; label = @3 + local.get 3 + br_if 0 (;@3;) + i32.const 0 + local.set 1 + br 1 (;@2;) + end + local.get 3 + i32.const 3 + i32.and + local.set 9 + block ;; label = @3 + block ;; label = @4 + local.get 3 + i32.const 4 + i32.ge_u + br_if 0 (;@4;) + i32.const 0 + local.set 1 + i32.const 0 + local.set 10 + br 1 (;@3;) + end + local.get 3 + i32.const -4 + i32.and + local.set 11 + i32.const 0 + local.set 1 + i32.const 0 + local.set 10 + loop ;; label = @4 + local.get 1 + local.get 2 + local.get 10 + i32.add + local.tee 12 + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 12 + i32.const 1 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 12 + i32.const 2 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 12 + i32.const 3 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 1 + local.get 11 + local.get 10 + i32.const 4 + i32.add + local.tee 10 + i32.ne + br_if 0 (;@4;) + end + end + local.get 9 + i32.eqz + br_if 0 (;@2;) + local.get 2 + local.get 10 + i32.add + local.set 12 + loop ;; label = @3 + local.get 1 + local.get 12 + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 1 + local.get 12 + i32.const 1 + i32.add + local.set 12 + local.get 9 + i32.const -1 + i32.add + local.tee 9 + br_if 0 (;@3;) + end + end + local.get 1 + local.get 8 + i32.add + local.set 8 + end + block ;; label = @1 + block ;; label = @2 + local.get 0 + i32.load + br_if 0 (;@2;) + i32.const 1 + local.set 1 + local.get 0 + i32.load offset=20 + local.tee 12 + local.get 0 + i32.load offset=24 + local.tee 10 + local.get 7 + local.get 2 + local.get 3 + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h42238daf231a043eE + br_if 1 (;@1;) + local.get 12 + local.get 4 + local.get 5 + local.get 10 + i32.load offset=12 + call_indirect (type 1) + return + end + block ;; label = @2 + local.get 0 + i32.load offset=4 + local.tee 9 + local.get 8 + i32.gt_u + br_if 0 (;@2;) + i32.const 1 + local.set 1 + local.get 0 + i32.load offset=20 + local.tee 12 + local.get 0 + i32.load offset=24 + local.tee 10 + local.get 7 + local.get 2 + local.get 3 + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h42238daf231a043eE + br_if 1 (;@1;) + local.get 12 + local.get 4 + local.get 5 + local.get 10 + i32.load offset=12 + call_indirect (type 1) + return + end + block ;; label = @2 + local.get 6 + i32.const 8 + i32.and + i32.eqz + br_if 0 (;@2;) + local.get 0 + i32.load offset=16 + local.set 11 + local.get 0 + i32.const 48 + i32.store offset=16 + local.get 0 + i32.load8_u offset=32 + local.set 6 + i32.const 1 + local.set 1 + local.get 0 + i32.const 1 + i32.store8 offset=32 + local.get 0 + i32.load offset=20 + local.tee 12 + local.get 0 + i32.load offset=24 + local.tee 10 + local.get 7 + local.get 2 + local.get 3 + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h42238daf231a043eE + br_if 1 (;@1;) + local.get 9 + local.get 8 + i32.sub + i32.const 1 + i32.add + local.set 1 + block ;; label = @3 + loop ;; label = @4 + local.get 1 + i32.const -1 + i32.add + local.tee 1 + i32.eqz + br_if 1 (;@3;) + local.get 12 + i32.const 48 + local.get 10 + i32.load offset=16 + call_indirect (type 2) + i32.eqz + br_if 0 (;@4;) + end + i32.const 1 + return + end + i32.const 1 + local.set 1 + local.get 12 + local.get 4 + local.get 5 + local.get 10 + i32.load offset=12 + call_indirect (type 1) + br_if 1 (;@1;) + local.get 0 + local.get 6 + i32.store8 offset=32 + local.get 0 + local.get 11 + i32.store offset=16 + i32.const 0 + local.set 1 + br 1 (;@1;) + end + local.get 9 + local.get 8 + i32.sub + local.set 8 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + local.get 0 + i32.load8_u offset=32 + local.tee 1 + br_table 2 (;@2;) 0 (;@4;) 1 (;@3;) 0 (;@4;) 2 (;@2;) + end + local.get 8 + local.set 1 + i32.const 0 + local.set 8 + br 1 (;@2;) + end + local.get 8 + i32.const 1 + i32.shr_u + local.set 1 + local.get 8 + i32.const 1 + i32.add + i32.const 1 + i32.shr_u + local.set 8 + end + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 0 + i32.const 24 + i32.add + i32.load + local.set 12 + local.get 0 + i32.load offset=16 + local.set 9 + local.get 0 + i32.load offset=20 + local.set 10 + block ;; label = @2 + loop ;; label = @3 + local.get 1 + i32.const -1 + i32.add + local.tee 1 + i32.eqz + br_if 1 (;@2;) + local.get 10 + local.get 9 + local.get 12 + i32.load offset=16 + call_indirect (type 2) + i32.eqz + br_if 0 (;@3;) + end + i32.const 1 + return + end + i32.const 1 + local.set 1 + local.get 10 + local.get 12 + local.get 7 + local.get 2 + local.get 3 + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h42238daf231a043eE + br_if 0 (;@1;) + local.get 10 + local.get 4 + local.get 5 + local.get 12 + i32.load offset=12 + call_indirect (type 1) + br_if 0 (;@1;) + i32.const 0 + local.set 1 + loop ;; label = @2 + block ;; label = @3 + local.get 8 + local.get 1 + i32.ne + br_if 0 (;@3;) + local.get 8 + local.get 8 + i32.lt_u + return + end + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 10 + local.get 9 + local.get 12 + i32.load offset=16 + call_indirect (type 2) + i32.eqz + br_if 0 (;@2;) + end + local.get 1 + i32.const -1 + i32.add + local.get 8 + i32.lt_u + return + end + local.get 1 + ) + (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h29327df37c6e3023E (;91;) (type 0) (param i32 i32) + local.get 0 + i64.const -1688046730280208939 + i64.store offset=8 + local.get 0 + i64.const -2518113060735759681 + i64.store + ) + (func $_ZN4core5panic10panic_info9PanicInfo7message17hfb08d956b3aa7161E (;92;) (type 9) (param i32) (result i32) + local.get 0 + i32.load offset=12 + ) + (func $_ZN4core5panic10panic_info9PanicInfo8location17h9dc6756860d331fbE (;93;) (type 9) (param i32) (result i32) + local.get 0 + i32.load offset=8 + ) + (func $_ZN4core5panic10panic_info9PanicInfo10can_unwind17h9ea0b89b001e5accE (;94;) (type 9) (param i32) (result i32) + local.get 0 + i32.load8_u offset=16 + ) + (func $_ZN4core3str5count14do_count_chars17h77daa5ab92330d9eE (;95;) (type 2) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 1 + local.get 0 + i32.const 3 + i32.add + i32.const -4 + i32.and + local.tee 2 + local.get 0 + i32.sub + local.tee 3 + i32.lt_u + br_if 0 (;@2;) + local.get 1 + local.get 3 + i32.sub + local.tee 4 + i32.const 4 + i32.lt_u + br_if 0 (;@2;) + local.get 4 + i32.const 3 + i32.and + local.set 5 + i32.const 0 + local.set 6 + i32.const 0 + local.set 1 + block ;; label = @3 + local.get 2 + local.get 0 + i32.eq + local.tee 7 + br_if 0 (;@3;) + i32.const 0 + local.set 1 + block ;; label = @4 + block ;; label = @5 + local.get 2 + local.get 0 + i32.const -1 + i32.xor + i32.add + i32.const 3 + i32.ge_u + br_if 0 (;@5;) + i32.const 0 + local.set 8 + br 1 (;@4;) + end + i32.const 0 + local.set 8 + loop ;; label = @5 + local.get 1 + local.get 0 + local.get 8 + i32.add + local.tee 9 + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 9 + i32.const 1 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 9 + i32.const 2 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 9 + i32.const 3 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 1 + local.get 8 + i32.const 4 + i32.add + local.tee 8 + br_if 0 (;@5;) + end + end + local.get 7 + br_if 0 (;@3;) + local.get 0 + local.get 2 + i32.sub + local.set 2 + local.get 0 + local.get 8 + i32.add + local.set 9 + loop ;; label = @4 + local.get 1 + local.get 9 + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 1 + local.get 9 + i32.const 1 + i32.add + local.set 9 + local.get 2 + i32.const 1 + i32.add + local.tee 2 + br_if 0 (;@4;) + end + end + local.get 0 + local.get 3 + i32.add + local.set 8 + block ;; label = @3 + local.get 5 + i32.eqz + br_if 0 (;@3;) + local.get 8 + local.get 4 + i32.const -4 + i32.and + i32.add + local.tee 9 + i32.load8_s + i32.const -65 + i32.gt_s + local.set 6 + local.get 5 + i32.const 1 + i32.eq + br_if 0 (;@3;) + local.get 6 + local.get 9 + i32.load8_s offset=1 + i32.const -65 + i32.gt_s + i32.add + local.set 6 + local.get 5 + i32.const 2 + i32.eq + br_if 0 (;@3;) + local.get 6 + local.get 9 + i32.load8_s offset=2 + i32.const -65 + i32.gt_s + i32.add + local.set 6 + end + local.get 4 + i32.const 2 + i32.shr_u + local.set 3 + local.get 6 + local.get 1 + i32.add + local.set 2 + loop ;; label = @3 + local.get 8 + local.set 6 + local.get 3 + i32.eqz + br_if 2 (;@1;) + local.get 3 + i32.const 192 + local.get 3 + i32.const 192 + i32.lt_u + select + local.tee 4 + i32.const 3 + i32.and + local.set 5 + local.get 4 + i32.const 2 + i32.shl + local.set 7 + block ;; label = @4 + block ;; label = @5 + local.get 4 + i32.const 252 + i32.and + local.tee 10 + br_if 0 (;@5;) + i32.const 0 + local.set 9 + br 1 (;@4;) + end + local.get 6 + local.get 10 + i32.const 2 + i32.shl + i32.add + local.set 0 + i32.const 0 + local.set 9 + local.get 6 + local.set 1 + loop ;; label = @5 + local.get 1 + i32.const 12 + i32.add + i32.load + local.tee 8 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 8 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.get 1 + i32.const 8 + i32.add + i32.load + local.tee 8 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 8 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.get 1 + i32.const 4 + i32.add + i32.load + local.tee 8 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 8 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.get 1 + i32.load + local.tee 8 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 8 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.get 9 + i32.add + i32.add + i32.add + i32.add + local.set 9 + local.get 1 + i32.const 16 + i32.add + local.tee 1 + local.get 0 + i32.ne + br_if 0 (;@5;) + end + end + local.get 3 + local.get 4 + i32.sub + local.set 3 + local.get 6 + local.get 7 + i32.add + local.set 8 + local.get 9 + i32.const 8 + i32.shr_u + i32.const 16711935 + i32.and + local.get 9 + i32.const 16711935 + i32.and + i32.add + i32.const 65537 + i32.mul + i32.const 16 + i32.shr_u + local.get 2 + i32.add + local.set 2 + local.get 5 + i32.eqz + br_if 0 (;@3;) + end + local.get 6 + local.get 10 + i32.const 2 + i32.shl + i32.add + local.tee 9 + i32.load + local.tee 1 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 1 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.set 1 + block ;; label = @3 + local.get 5 + i32.const 1 + i32.eq + br_if 0 (;@3;) + local.get 9 + i32.load offset=4 + local.tee 8 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 8 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.get 1 + i32.add + local.set 1 + local.get 5 + i32.const 2 + i32.eq + br_if 0 (;@3;) + local.get 9 + i32.load offset=8 + local.tee 9 + i32.const -1 + i32.xor + i32.const 7 + i32.shr_u + local.get 9 + i32.const 6 + i32.shr_u + i32.or + i32.const 16843009 + i32.and + local.get 1 + i32.add + local.set 1 + end + local.get 1 + i32.const 8 + i32.shr_u + i32.const 459007 + i32.and + local.get 1 + i32.const 16711935 + i32.and + i32.add + i32.const 65537 + i32.mul + i32.const 16 + i32.shr_u + local.get 2 + i32.add + local.set 2 + br 1 (;@1;) + end + block ;; label = @2 + local.get 1 + br_if 0 (;@2;) + i32.const 0 + return + end + local.get 1 + i32.const 3 + i32.and + local.set 8 + block ;; label = @2 + block ;; label = @3 + local.get 1 + i32.const 4 + i32.ge_u + br_if 0 (;@3;) + i32.const 0 + local.set 2 + i32.const 0 + local.set 9 + br 1 (;@2;) + end + local.get 1 + i32.const -4 + i32.and + local.set 3 + i32.const 0 + local.set 2 + i32.const 0 + local.set 9 + loop ;; label = @3 + local.get 2 + local.get 0 + local.get 9 + i32.add + local.tee 1 + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 1 + i32.const 1 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 1 + i32.const 2 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 1 + i32.const 3 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 2 + local.get 3 + local.get 9 + i32.const 4 + i32.add + local.tee 9 + i32.ne + br_if 0 (;@3;) + end + end + local.get 8 + i32.eqz + br_if 0 (;@1;) + local.get 0 + local.get 9 + i32.add + local.set 1 + loop ;; label = @2 + local.get 2 + local.get 1 + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 2 + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 8 + i32.const -1 + i32.add + local.tee 8 + br_if 0 (;@2;) + end + end + local.get 2 + ) + (func $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h42238daf231a043eE (;96;) (type 10) (param i32 i32 i32 i32 i32) (result i32) + (local i32) + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 2 + i32.const 1114112 + i32.eq + br_if 0 (;@3;) + i32.const 1 + local.set 5 + local.get 0 + local.get 2 + local.get 1 + i32.load offset=16 + call_indirect (type 2) + br_if 1 (;@2;) + end + local.get 3 + br_if 1 (;@1;) + i32.const 0 + local.set 5 + end + local.get 5 + return + end + local.get 0 + local.get 3 + local.get 4 + local.get 1 + i32.load offset=12 + call_indirect (type 1) + ) + (func $_ZN4core3fmt3num3imp7fmt_u6417h6d4a828be096d968E (;97;) (type 13) (param i64 i32 i32) (result i32) + (local i32 i32 i64 i32 i32 i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 3 + global.set $__stack_pointer + i32.const 39 + local.set 4 + block ;; label = @1 + block ;; label = @2 + local.get 0 + i64.const 10000 + i64.ge_u + br_if 0 (;@2;) + local.get 0 + local.set 5 + br 1 (;@1;) + end + i32.const 39 + local.set 4 + loop ;; label = @2 + local.get 3 + i32.const 9 + i32.add + local.get 4 + i32.add + local.tee 6 + i32.const -4 + i32.add + local.get 0 + local.get 0 + i64.const 10000 + i64.div_u + local.tee 5 + i64.const 10000 + i64.mul + i64.sub + i32.wrap_i64 + local.tee 7 + i32.const 65535 + i32.and + i32.const 100 + i32.div_u + local.tee 8 + i32.const 1 + i32.shl + i32.const 1049216 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + local.get 6 + i32.const -2 + i32.add + local.get 7 + local.get 8 + i32.const 100 + i32.mul + i32.sub + i32.const 65535 + i32.and + i32.const 1 + i32.shl + i32.const 1049216 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + local.get 4 + i32.const -4 + i32.add + local.set 4 + local.get 0 + i64.const 99999999 + i64.gt_u + local.set 6 + local.get 5 + local.set 0 + local.get 6 + br_if 0 (;@2;) + end + end + block ;; label = @1 + local.get 5 + i32.wrap_i64 + local.tee 6 + i32.const 99 + i32.le_u + br_if 0 (;@1;) + local.get 3 + i32.const 9 + i32.add + local.get 4 + i32.const -2 + i32.add + local.tee 4 + i32.add + local.get 5 + i32.wrap_i64 + local.tee 6 + local.get 6 + i32.const 65535 + i32.and + i32.const 100 + i32.div_u + local.tee 6 + i32.const 100 + i32.mul + i32.sub + i32.const 65535 + i32.and + i32.const 1 + i32.shl + i32.const 1049216 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + end + block ;; label = @1 + block ;; label = @2 + local.get 6 + i32.const 10 + i32.lt_u + br_if 0 (;@2;) + local.get 3 + i32.const 9 + i32.add + local.get 4 + i32.const -2 + i32.add + local.tee 4 + i32.add + local.get 6 + i32.const 1 + i32.shl + i32.const 1049216 + i32.add + i32.load16_u align=1 + i32.store16 align=1 + br 1 (;@1;) + end + local.get 3 + i32.const 9 + i32.add + local.get 4 + i32.const -1 + i32.add + local.tee 4 + i32.add + local.get 6 + i32.const 48 + i32.add + i32.store8 + end + local.get 2 + local.get 1 + i32.const 1049200 + i32.const 0 + local.get 3 + i32.const 9 + i32.add + local.get 4 + i32.add + i32.const 39 + local.get 4 + i32.sub + call $_ZN4core3fmt9Formatter12pad_integral17h17008768bb6097d0E + local.set 4 + local.get 3 + i32.const 48 + i32.add + global.set $__stack_pointer + local.get 4 + ) + (func $_ZN17compiler_builtins3mem6memcpy17hc0e06a8346925c60E (;98;) (type 1) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + block ;; label = @1 + block ;; label = @2 + local.get 2 + i32.const 15 + i32.gt_u + br_if 0 (;@2;) + local.get 0 + local.set 3 + br 1 (;@1;) + end + local.get 0 + i32.const 0 + local.get 0 + i32.sub + i32.const 3 + i32.and + local.tee 4 + i32.add + local.set 5 + block ;; label = @2 + local.get 4 + i32.eqz + br_if 0 (;@2;) + local.get 0 + local.set 3 + local.get 1 + local.set 6 + loop ;; label = @3 + local.get 3 + local.get 6 + i32.load8_u + i32.store8 + local.get 6 + i32.const 1 + i32.add + local.set 6 + local.get 3 + i32.const 1 + i32.add + local.tee 3 + local.get 5 + i32.lt_u + br_if 0 (;@3;) + end + end + local.get 5 + local.get 2 + local.get 4 + i32.sub + local.tee 7 + i32.const -4 + i32.and + local.tee 8 + i32.add + local.set 3 + block ;; label = @2 + block ;; label = @3 + local.get 1 + local.get 4 + i32.add + local.tee 9 + i32.const 3 + i32.and + i32.eqz + br_if 0 (;@3;) + local.get 8 + i32.const 1 + i32.lt_s + br_if 1 (;@2;) + local.get 9 + i32.const 3 + i32.shl + local.tee 6 + i32.const 24 + i32.and + local.set 2 + local.get 9 + i32.const -4 + i32.and + local.tee 10 + i32.const 4 + i32.add + local.set 1 + i32.const 0 + local.get 6 + i32.sub + i32.const 24 + i32.and + local.set 4 + local.get 10 + i32.load + local.set 6 + loop ;; label = @4 + local.get 5 + local.get 6 + local.get 2 + i32.shr_u + local.get 1 + i32.load + local.tee 6 + local.get 4 + i32.shl + i32.or + i32.store + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 5 + i32.const 4 + i32.add + local.tee 5 + local.get 3 + i32.lt_u + br_if 0 (;@4;) + br 2 (;@2;) + end + end + local.get 8 + i32.const 1 + i32.lt_s + br_if 0 (;@2;) + local.get 9 + local.set 1 + loop ;; label = @3 + local.get 5 + local.get 1 + i32.load + i32.store + local.get 1 + i32.const 4 + i32.add + local.set 1 + local.get 5 + i32.const 4 + i32.add + local.tee 5 + local.get 3 + i32.lt_u + br_if 0 (;@3;) + end + end + local.get 7 + i32.const 3 + i32.and + local.set 2 + local.get 9 + local.get 8 + i32.add + local.set 1 + end + block ;; label = @1 + local.get 2 + i32.eqz + br_if 0 (;@1;) + local.get 3 + local.get 2 + i32.add + local.set 5 + loop ;; label = @2 + local.get 3 + local.get 1 + i32.load8_u + i32.store8 + local.get 1 + i32.const 1 + i32.add + local.set 1 + local.get 3 + i32.const 1 + i32.add + local.tee 3 + local.get 5 + i32.lt_u + br_if 0 (;@2;) + end + end + local.get 0 + ) + (func $memcpy (;99;) (type 1) (param i32 i32 i32) (result i32) + local.get 0 + local.get 1 + local.get 2 + call $_ZN17compiler_builtins3mem6memcpy17hc0e06a8346925c60E + ) + (table (;0;) 20 20 funcref) + (memory (;0;) 17) + (global $__stack_pointer (;0;) (mut i32) i32.const 1048576) + (global (;1;) i32 i32.const 1049901) + (global (;2;) i32 i32.const 1049904) + (export "memory" (memory 0)) + (export "__main" (func $__main)) + (export "__data_end" (global 1)) + (export "__heap_base" (global 2)) + (elem (;0;) (i32.const 1) func $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17hcdc49b27e8db5559E $_ZN3std5alloc24default_alloc_error_hook17h9a8a64e6b6ffa643E $_ZN4core3ptr100drop_in_place$LT$$RF$mut$u20$std..io..Write..write_fmt..Adapter$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17h250c08e305452eddE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17hd43066e781060246E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17hbe0cfb4ea4b7187fE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h1adcda01147f300dE $_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h00bc8d42ee6f44a6E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h1ce590c2323b6d16E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17haa4c46c88ce3b862E $_ZN93_$LT$std..panicking..begin_panic_handler..StrPanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$8take_box17h0498f4bbdb6d7034E $_ZN93_$LT$std..panicking..begin_panic_handler..StrPanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$3get17hc8ea335ef7746c08E $_ZN4core3ptr70drop_in_place$LT$std..panicking..begin_panic_handler..PanicPayload$GT$17h2c8a183a981bc3d4E $_ZN90_$LT$std..panicking..begin_panic_handler..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$8take_box17h1c4237be36baab94E $_ZN90_$LT$std..panicking..begin_panic_handler..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$3get17h722a13445948bc31E $_ZN4core3ptr29drop_in_place$LT$$LP$$RP$$GT$17h0da2d18719d7e5aeE $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h7ada9ab8a8b939abE $_ZN4core3ops8function6FnOnce9call_once17hd1d6b531bf800dc3E $_ZN4core3ptr37drop_in_place$LT$core..fmt..Error$GT$17h282a1f10dc7e004dE $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h29327df37c6e3023E) + (data $.rodata (;0;) (i32.const 1048576) "called `Option::unwrap()` on a `None` value/tmp/a64f242fa9064044445029743fdac95ad82779bfd605757c556bd2261f18caa5.rs\00+\00\10\00H\00\00\00\08\00\00\00\0d\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00invalid args\9c\00\10\00\0c\00\00\00/rustc/c469197b19d53a6c45378568f73c00986b20a5a5/library/core/src/fmt/mod.rs\00\b0\00\10\00K\00\00\005\01\00\00\0d\00\00\00called `Option::unwrap()` on a `None` valuememory allocation of bytes failed\00\00\007\01\10\00\15\00\00\00L\01\10\00\0d\00\00\00library/std/src/alloc.rsl\01\10\00\18\00\00\00T\01\00\00\09\00\00\00library/std/src/panicking.rs\94\01\10\00\1c\00\00\00g\02\00\00\1f\00\00\00\94\01\10\00\1c\00\00\00h\02\00\00\1e\00\00\00\07\00\00\00\0c\00\00\00\04\00\00\00\08\00\00\00\03\00\00\00\08\00\00\00\04\00\00\00\09\00\00\00\03\00\00\00\08\00\00\00\04\00\00\00\0a\00\00\00\0b\00\00\00\0c\00\00\00\10\00\00\00\04\00\00\00\0d\00\00\00\0e\00\00\00\0f\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00library/alloc/src/raw_vec.rscapacity overflow\00\00\00D\02\10\00\11\00\00\00(\02\10\00\1c\00\00\00\16\02\00\00\05\00\00\00\12\00\00\00\00\00\00\00\01\00\00\00\13\00\00\0000010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899") +) \ No newline at end of file diff --git a/frontend-wasm/tests/rust_source/dlmalloc.rs b/frontend-wasm/tests/rust_source/dlmalloc.rs new file mode 100644 index 00000000..900eacf0 --- /dev/null +++ b/frontend-wasm/tests/rust_source/dlmalloc.rs @@ -0,0 +1,9 @@ +#![no_main] + +#[no_mangle] +pub extern "C" fn __main() -> u32 { + let mut v = Vec::new(); + v.push(1); + v.push(2); + v.pop().unwrap() +} diff --git a/frontend-wasm/tests/test_rust_comp.rs b/frontend-wasm/tests/test_rust_comp.rs index 6a15f714..9d836d51 100644 --- a/frontend-wasm/tests/test_rust_comp.rs +++ b/frontend-wasm/tests/test_rust_comp.rs @@ -1,4 +1,5 @@ use expect_test::expect; +use expect_test::expect_file; use std::sync::Arc; use miden_diagnostics::term::termcolor::ColorChoice; @@ -58,12 +59,34 @@ fn check_ir( expected_ir: expect_test::Expect, ) { let wasm_bytes = compile_wasm(rust_source); + let wat = wasm_to_wat(&wasm_bytes); + expected_wat.assert_eq(&wat); + let module = translate(wasm_bytes); + expected_ir.assert_eq(&module.to_string()); +} + +fn check_ir_files( + rust_source: &str, + expected_wat_file: expect_test::ExpectFile, + expected_ir_file: expect_test::ExpectFile, +) { + let wasm_bytes = compile_wasm(rust_source); + let wat = wasm_to_wat(&wasm_bytes); + expected_wat_file.assert_eq(&wat); + let module = translate(wasm_bytes); + expected_ir_file.assert_eq(&module.to_string()); +} + +fn wasm_to_wat(wasm_bytes: &Vec) -> String { let mut wasm_printer = wasmprinter::Printer::new(); // disable printing of the "producers" section because it contains a rustc version // to not brake tests when rustc is updated wasm_printer.add_custom_section_printer("producers", |_, _, _| Ok(())); let wat = wasm_printer.print(wasm_bytes.as_ref()).unwrap(); - expected_wat.assert_eq(&wat); + wat +} + +fn translate(wasm_bytes: Vec) -> miden_hir::Module { let codemap = Arc::new(CodeMap::new()); let diagnostics = DiagnosticsHandler::new( DiagnosticsConfig { @@ -77,7 +100,7 @@ fn check_ir( ); let module = translate_module(&wasm_bytes, &WasmTranslationConfig::default(), &diagnostics).unwrap(); - expected_ir.assert_eq(&module.to_string()); + module } fn default_emitter(verbosity: Verbosity, color: ColorChoice) -> Arc { @@ -569,3 +592,12 @@ fn rust_static_mut() { "#]], ); } + +#[test] +fn rust_dlmalloc() { + check_ir_files( + include_str!("rust_source/dlmalloc.rs"), + expect_file!["./expected/dlmalloc.wat"], + expect_file!["./expected/dlmalloc.mir"], + ); +}