From c6d704b9015d79b3ddca8506375d3b9cdef8a91f Mon Sep 17 00:00:00 2001 From: Doehyun Baek Date: Mon, 8 Jan 2024 13:41:06 +0900 Subject: [PATCH 1/2] rename main to entry for node tests This is to differentiate them with "main" function needed for working with wizard engine --- .../index.wat | 2 +- .../test.js | 2 +- .../index.wat | 2 +- .../test.js | 2 +- .../node/call-exp-after-import-call/index.wat | 2 +- tests/node/call-exp-after-import-call/test.js | 2 +- .../index.wat | 2 +- .../call-exp-func-from-imp-func-param/test.js | 2 +- .../call-imported-different-modules/index.wat | 2 +- .../call-imported-different-modules/test.js | 2 +- tests/node/call-imported-params/index.wat | 2 +- tests/node/call-imported-params/test.js | 6 +- tests/node/call-imported/index.wat | 2 +- tests/node/call-imported/test.js | 2 +- tests/node/call-indirect/index.wat | 2 +- tests/node/call-indirect/test.js | 2 +- .../node/different-mem-instructions/index.wat | 2 +- tests/node/different-mem-instructions/test.js | 2 +- tests/node/export-called-multiple/index.wat | 2 +- tests/node/export-called-multiple/test.js | 2 +- tests/node/exported-called-param/index.wat | 2 +- tests/node/exported-called-param/test.js | 2 +- .../exported-called-params-grow-mem/index.wat | 2 +- .../exported-called-params-grow-mem/test.js | 6 +- tests/node/exported-called/index.wat | 2 +- tests/node/exported-called/test.js | 2 +- .../glob-exp-host-mod-detection/index.wat | 2 +- .../node/glob-exp-host-mod-detection/test.js | 2 +- tests/node/glob-exp-host-mod-f32/index.wat | 2 +- tests/node/glob-exp-host-mod-f32/test.js | 2 +- tests/node/glob-exp-host-mod-f64/index.wat | 2 +- tests/node/glob-exp-host-mod-f64/test.js | 2 +- tests/node/glob-exp-host-mod-i32/index.wat | 2 +- tests/node/glob-exp-host-mod-i32/test.js | 2 +- tests/node/glob-exp-host-mod-i64/index.wat | 2 +- tests/node/glob-exp-host-mod-i64/test.js | 2 +- .../node/glob-exp-host-mod-multiple/index.wat | 2 +- tests/node/glob-exp-host-mod-multiple/test.js | 2 +- tests/node/glob-exp-host-mod-param/index.wat | 2 +- tests/node/glob-exp-host-mod-param/test.js | 2 +- tests/node/glob-exp-not-mut/index.wat | 2 +- tests/node/glob-exp-not-mut/test.js | 2 +- tests/node/glob-imp-const/index.wat | 2 +- tests/node/glob-imp-const/test.js | 2 +- tests/node/glob-imp-different-init/index.wat | 2 +- tests/node/glob-imp-different-init/test.js | 2 +- tests/node/glob-imp-different-value/index.wat | 2 +- tests/node/glob-imp-different-value/test.js | 2 +- tests/node/glob-imp-f64/index.wat | 2 +- tests/node/glob-imp-f64/test.js | 2 +- tests/node/glob-imp-infinity/index.wat | 2 +- tests/node/glob-imp-infinity/test.js | 2 +- tests/node/glob-imp-nan/index.wat | 2 +- tests/node/glob-imp-nan/test.js | 2 +- tests/node/glob-imp-no-init/index.wat | 2 +- tests/node/glob-imp-no-init/test.js | 2 +- tests/node/mem-change-before-er/index.wat | 2 +- tests/node/mem-change-before-er/test.js | 2 +- .../mem-exp-call-different-modules/index.wat | 2 +- .../mem-exp-call-different-modules/test.js | 2 +- tests/node/mem-exp-copy-no-host-mod/index.wat | 2 +- tests/node/mem-exp-copy-no-host-mod/test.js | 2 +- tests/node/mem-exp-fill-no-host-mod/index.wat | 2 +- tests/node/mem-exp-fill-no-host-mod/test.js | 2 +- .../mem-exp-host-grow-no-return/index.wat | 2 +- .../node/mem-exp-host-grow-no-return/test.js | 2 +- tests/node/mem-exp-host-grow/index.wat | 2 +- tests/node/mem-exp-host-grow/test.js | 2 +- .../node/mem-exp-host-mod-detection/index.wat | 2 +- tests/node/mem-exp-host-mod-detection/test.js | 2 +- .../node/mem-exp-host-mod-load-vec/index.wat | 2 +- tests/node/mem-exp-host-mod-load-vec/test.js | 2 +- .../node/mem-exp-host-mod-loadxx_x/index.wat | 2 +- tests/node/mem-exp-host-mod-loadxx_x/test.js | 2 +- .../index.wat | 2 +- .../mem-exp-host-mod-location-reentry/test.js | 2 +- .../node/mem-exp-host-mod-location/index.wat | 2 +- tests/node/mem-exp-host-mod-location/test.js | 2 +- .../mem-exp-host-mod-other-name/index.wat | 2 +- .../node/mem-exp-host-mod-other-name/test.js | 2 +- tests/node/mem-exp-host-mod-param/index.wat | 2 +- tests/node/mem-exp-host-mod-param/test.js | 2 +- .../node/mem-exp-host-mod-pingpong/index.wat | 2 +- tests/node/mem-exp-host-mod-pingpong/test.js | 2 +- .../index.wat | 2 +- .../test.js | 2 +- .../mem-exp-host-mod-store-lastfunc/index.wat | 2 +- .../mem-exp-host-mod-store-lastfunc/test.js | 2 +- .../node/mem-exp-host-mod-toplevel/index.wat | 2 +- tests/node/mem-exp-host-mod-toplevel/test.js | 4 +- tests/node/mem-exp-host-mod/index.wat | 2 +- tests/node/mem-exp-host-mod/test.js | 2 +- tests/node/mem-exp-init-no-host-mod/index.wat | 2 +- tests/node/mem-exp-init-no-host-mod/test.js | 2 +- .../node/mem-exp-offset-no-host-mod/index.wat | 2 +- tests/node/mem-exp-offset-no-host-mod/test.js | 2 +- .../mem-exp-vec-store-no-host-mod/index.wat | 2 +- .../mem-exp-vec-store-no-host-mod/test.js | 2 +- tests/node/mem-imp-different-size/index.wat | 2 +- tests/node/mem-imp-different-size/test.js | 2 +- tests/node/mem-imp-host-grow/index.wat | 2 +- tests/node/mem-imp-host-grow/test.js | 2 +- tests/node/mem-imp-host-mod/index.wat | 2 +- tests/node/mem-imp-host-mod/test.js | 2 +- tests/node/mem-imp-mod/index.wat | 2 +- tests/node/mem-imp-mod/test.js | 2 +- tests/node/non-pure-host-func/index.wat | 2 +- tests/node/non-pure-host-func/test.js | 2 +- tests/node/reentry/index.wat | 2 +- tests/node/reentry/test.js | 2 +- tests/node/rust-game-of-life/index.wat | 27956 ++++++++-------- .../node/table-exp-host-add-friend/index.wat | 2 +- tests/node/table-exp-host-add-friend/test.js | 2 +- tests/node/table-exp-host-grow/index.wat | 2 +- tests/node/table-exp-host-grow/test.js | 2 +- tests/node/table-exp-host-mod/index.wat | 2 +- tests/node/table-exp-host-mod/test.js | 2 +- tests/node/table-exp-internal-mod/index.wat | 2 +- tests/node/table-exp-internal-mod/test.js | 2 +- tests/node/table-imp-host-mod/index.wat | 2 +- tests/node/table-imp-host-mod/test.js | 2 +- tests/node/table-imp-init-max/index.wat | 2 +- tests/node/table-imp-init-max/test.js | 2 +- tests/node/test01/index.wat | 2 +- tests/node/test01/test.js | 2 +- tests/node/test02/index.wat | 2 +- tests/node/test02/test.js | 2 +- tests/node/test03/index.wat | 2 +- tests/node/test03/test.js | 2 +- tests/node/test04/index.wat | 2 +- tests/node/test04/test.js | 2 +- tests/run-tests.cts | 14 +- 132 files changed, 13626 insertions(+), 14614 deletions(-) diff --git a/tests/node/call-exp-after-import-call-results/index.wat b/tests/node/call-exp-after-import-call-results/index.wat index e8966573..5a857e96 100644 --- a/tests/node/call-exp-after-import-call-results/index.wat +++ b/tests/node/call-exp-after-import-call-results/index.wat @@ -1,7 +1,7 @@ (module (import "env" "foo" (func $foo (result i32))) (import "env" "bar" (func $bar (result i32))) - (func $main (export "main") + (func $main (export "entry") call $foo drop ) diff --git a/tests/node/call-exp-after-import-call-results/test.js b/tests/node/call-exp-after-import-call-results/test.js index b8c5428e..e09150e2 100644 --- a/tests/node/call-exp-after-import-call-results/test.js +++ b/tests/node/call-exp-after-import-call-results/test.js @@ -12,5 +12,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/call-exp-after-import-call-table-get/index.wat b/tests/node/call-exp-after-import-call-table-get/index.wat index 28f9a853..aec92e32 100644 --- a/tests/node/call-exp-after-import-call-table-get/index.wat +++ b/tests/node/call-exp-after-import-call-table-get/index.wat @@ -1,7 +1,7 @@ (module (import "env" "foo" (func $foo)) (import "env" "bar" (func $bar)) - (func $main (export "main") + (func $main (export "entry") call $foo ) (func $exp diff --git a/tests/node/call-exp-after-import-call-table-get/test.js b/tests/node/call-exp-after-import-call-table-get/test.js index e8dedf66..5c0234d8 100644 --- a/tests/node/call-exp-after-import-call-table-get/test.js +++ b/tests/node/call-exp-after-import-call-table-get/test.js @@ -11,5 +11,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/call-exp-after-import-call/index.wat b/tests/node/call-exp-after-import-call/index.wat index ab218fb8..6fd485ca 100644 --- a/tests/node/call-exp-after-import-call/index.wat +++ b/tests/node/call-exp-after-import-call/index.wat @@ -1,7 +1,7 @@ (module (import "env" "foo" (func $foo)) (import "env" "bar" (func $bar)) - (func $main (export "main") + (func $main (export "entry") call $foo ) (func (export "exp") diff --git a/tests/node/call-exp-after-import-call/test.js b/tests/node/call-exp-after-import-call/test.js index 2ab7c8a9..5a3be0da 100644 --- a/tests/node/call-exp-after-import-call/test.js +++ b/tests/node/call-exp-after-import-call/test.js @@ -11,5 +11,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/call-exp-func-from-imp-func-param/index.wat b/tests/node/call-exp-func-from-imp-func-param/index.wat index 8b89784b..9ae24ee2 100644 --- a/tests/node/call-exp-func-from-imp-func-param/index.wat +++ b/tests/node/call-exp-func-from-imp-func-param/index.wat @@ -2,7 +2,7 @@ (import "env" "foo" (func $foo)) (import "env" "a" (func $a)) (import "env" "b" (func $b)) - (func (export "main") + (func (export "entry") call $foo ) (func (export "bar") (param i32) diff --git a/tests/node/call-exp-func-from-imp-func-param/test.js b/tests/node/call-exp-func-from-imp-func-param/test.js index 25249d8e..00f745e4 100644 --- a/tests/node/call-exp-func-from-imp-func-param/test.js +++ b/tests/node/call-exp-func-from-imp-func-param/test.js @@ -11,5 +11,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/call-imported-different-modules/index.wat b/tests/node/call-imported-different-modules/index.wat index df457e61..4e0d8f29 100644 --- a/tests/node/call-imported-different-modules/index.wat +++ b/tests/node/call-imported-different-modules/index.wat @@ -1,7 +1,7 @@ (module (import "env" "foo" (func $foo)) (import "env2" "bar" (func $bar)) - (func $main (export "main") + (func $main (export "entry") call $foo call $bar ) diff --git a/tests/node/call-imported-different-modules/test.js b/tests/node/call-imported-different-modules/test.js index ed3ac2e2..6b98bff0 100644 --- a/tests/node/call-imported-different-modules/test.js +++ b/tests/node/call-imported-different-modules/test.js @@ -9,5 +9,5 @@ export default async function test(wasmBinary) { } } let wasm = await WebAssembly.instantiate(wasmBinary, imports) - wasm.instance.exports.main() + wasm.instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/call-imported-params/index.wat b/tests/node/call-imported-params/index.wat index ad499bb2..9d75c48d 100644 --- a/tests/node/call-imported-params/index.wat +++ b/tests/node/call-imported-params/index.wat @@ -1,6 +1,6 @@ (module (import "env" "add" (func $add (param i32 i32) (result i32))) - (func $main (export "main") (param i32 i32) + (func $main (export "entry") (param i32 i32) local.get 1 local.set 0 local.get 0 diff --git a/tests/node/call-imported-params/test.js b/tests/node/call-imported-params/test.js index ab18fbc4..81fcded9 100644 --- a/tests/node/call-imported-params/test.js +++ b/tests/node/call-imported-params/test.js @@ -7,7 +7,7 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main(1, 2) - instance.exports.main(3, 2) - instance.exports.main(4, 4) + instance.exports.entry(1, 2) + instance.exports.entry(3, 2) + instance.exports.entry(4, 4) } diff --git a/tests/node/call-imported/index.wat b/tests/node/call-imported/index.wat index d9f2048a..194951cc 100644 --- a/tests/node/call-imported/index.wat +++ b/tests/node/call-imported/index.wat @@ -1,6 +1,6 @@ (module (import "env" "foo" (func $foo)) - (func $main (export "main") + (func $main (export "entry") call $foo ) ) diff --git a/tests/node/call-imported/test.js b/tests/node/call-imported/test.js index b2428b61..eb52eccb 100644 --- a/tests/node/call-imported/test.js +++ b/tests/node/call-imported/test.js @@ -7,5 +7,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/call-indirect/index.wat b/tests/node/call-indirect/index.wat index eb415996..5803ef1e 100644 --- a/tests/node/call-indirect/index.wat +++ b/tests/node/call-indirect/index.wat @@ -1,6 +1,6 @@ (module (func $a) - (func $main (export "main") + (func $main (export "entry") i32.const 0 call_indirect) (table 1 1 funcref) diff --git a/tests/node/call-indirect/test.js b/tests/node/call-indirect/test.js index 0821041e..3010960e 100644 --- a/tests/node/call-indirect/test.js +++ b/tests/node/call-indirect/test.js @@ -3,5 +3,5 @@ export default async function test(wasmBinary) { let imports = {} let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/different-mem-instructions/index.wat b/tests/node/different-mem-instructions/index.wat index eb06d37c..11b525f0 100644 --- a/tests/node/different-mem-instructions/index.wat +++ b/tests/node/different-mem-instructions/index.wat @@ -1,6 +1,6 @@ (module (import "env" "memory" (memory 1)) - (func $main (export "main") + (func $main (export "entry") i32.const 1 i32.load8_u drop diff --git a/tests/node/different-mem-instructions/test.js b/tests/node/different-mem-instructions/test.js index 63878454..5f82bb89 100644 --- a/tests/node/different-mem-instructions/test.js +++ b/tests/node/different-mem-instructions/test.js @@ -10,5 +10,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/export-called-multiple/index.wat b/tests/node/export-called-multiple/index.wat index 03487d14..fe745a39 100644 --- a/tests/node/export-called-multiple/index.wat +++ b/tests/node/export-called-multiple/index.wat @@ -1,5 +1,5 @@ (module - (func $main (export "main")) + (func $main (export "entry")) (func $foo (export "foo")) (func $bar (export "bar")) ) diff --git a/tests/node/export-called-multiple/test.js b/tests/node/export-called-multiple/test.js index b9042f14..1e404cb5 100644 --- a/tests/node/export-called-multiple/test.js +++ b/tests/node/export-called-multiple/test.js @@ -3,7 +3,7 @@ export default async function test(wasmBinary) { let imports = {} let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() instance.exports.foo() instance.exports.bar() instance.exports.foo() diff --git a/tests/node/exported-called-param/index.wat b/tests/node/exported-called-param/index.wat index 54e71dad..d3d16ade 100644 --- a/tests/node/exported-called-param/index.wat +++ b/tests/node/exported-called-param/index.wat @@ -1,7 +1,7 @@ (module (import "env" "foo" (func $foo)) (import "env" "bar" (func $bar)) - (func $main (export "main") (param i32) + (func $main (export "entry") (param i32) local.get 0 (if (then (call $foo)) (else (call $bar))) ) diff --git a/tests/node/exported-called-param/test.js b/tests/node/exported-called-param/test.js index ee5a0efa..ab2fdeff 100644 --- a/tests/node/exported-called-param/test.js +++ b/tests/node/exported-called-param/test.js @@ -8,5 +8,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main(1) + instance.exports.entry(1) } \ No newline at end of file diff --git a/tests/node/exported-called-params-grow-mem/index.wat b/tests/node/exported-called-params-grow-mem/index.wat index 8b349855..36b5c0b9 100644 --- a/tests/node/exported-called-params-grow-mem/index.wat +++ b/tests/node/exported-called-params-grow-mem/index.wat @@ -1,7 +1,7 @@ (module (import "env" "foo" (func $foo )) (memory 1 10) - (func $main (export "main") (param i32) + (func $main (export "entry") (param i32) local.get 0 memory.grow drop diff --git a/tests/node/exported-called-params-grow-mem/test.js b/tests/node/exported-called-params-grow-mem/test.js index 2efffbd8..568acf79 100644 --- a/tests/node/exported-called-params-grow-mem/test.js +++ b/tests/node/exported-called-params-grow-mem/test.js @@ -7,7 +7,7 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main(1) - instance.exports.main(3) - instance.exports.main(4) + instance.exports.entry(1) + instance.exports.entry(3) + instance.exports.entry(4) } \ No newline at end of file diff --git a/tests/node/exported-called/index.wat b/tests/node/exported-called/index.wat index bc99a990..30256ea6 100644 --- a/tests/node/exported-called/index.wat +++ b/tests/node/exported-called/index.wat @@ -1 +1 @@ -(module (func $main (export "main"))) +(module (func $main (export "entry"))) diff --git a/tests/node/exported-called/test.js b/tests/node/exported-called/test.js index 58f17ea9..d01d6edb 100644 --- a/tests/node/exported-called/test.js +++ b/tests/node/exported-called/test.js @@ -3,5 +3,5 @@ export default async function test(wasmBinary) { let imports = {} let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } diff --git a/tests/node/glob-exp-host-mod-detection/index.wat b/tests/node/glob-exp-host-mod-detection/index.wat index 41f763ea..177392df 100644 --- a/tests/node/glob-exp-host-mod-detection/index.wat +++ b/tests/node/glob-exp-host-mod-detection/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeGlobal" (func $changeGlobal (param i32))) - (func $main (export "main") + (func $main (export "entry") i32.const 2 global.set 0 i32.const 5 diff --git a/tests/node/glob-exp-host-mod-detection/test.js b/tests/node/glob-exp-host-mod-detection/test.js index ff6e02c2..454b57c4 100644 --- a/tests/node/glob-exp-host-mod-detection/test.js +++ b/tests/node/glob-exp-host-mod-detection/test.js @@ -10,5 +10,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/glob-exp-host-mod-f32/index.wat b/tests/node/glob-exp-host-mod-f32/index.wat index bf24ce40..3468497a 100644 --- a/tests/node/glob-exp-host-mod-f32/index.wat +++ b/tests/node/glob-exp-host-mod-f32/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeGlobal" (func $changeGlobal (param f32))) - (func $main (export "main") + (func $main (export "entry") f32.const 5 call $changeGlobal global.get 0 diff --git a/tests/node/glob-exp-host-mod-f32/test.js b/tests/node/glob-exp-host-mod-f32/test.js index 12b8d93e..b7f53135 100644 --- a/tests/node/glob-exp-host-mod-f32/test.js +++ b/tests/node/glob-exp-host-mod-f32/test.js @@ -9,5 +9,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/glob-exp-host-mod-f64/index.wat b/tests/node/glob-exp-host-mod-f64/index.wat index 9581f6c6..91f97dd3 100644 --- a/tests/node/glob-exp-host-mod-f64/index.wat +++ b/tests/node/glob-exp-host-mod-f64/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeGlobal" (func $changeGlobal (param f64))) - (func $main (export "main") + (func $main (export "entry") f64.const 5 call $changeGlobal global.get 0 diff --git a/tests/node/glob-exp-host-mod-f64/test.js b/tests/node/glob-exp-host-mod-f64/test.js index 12b8d93e..b7f53135 100644 --- a/tests/node/glob-exp-host-mod-f64/test.js +++ b/tests/node/glob-exp-host-mod-f64/test.js @@ -9,5 +9,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/glob-exp-host-mod-i32/index.wat b/tests/node/glob-exp-host-mod-i32/index.wat index 83592be2..6e07efd5 100644 --- a/tests/node/glob-exp-host-mod-i32/index.wat +++ b/tests/node/glob-exp-host-mod-i32/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeGlobal" (func $changeGlobal (param i32))) - (func $main (export "main") + (func $main (export "entry") i32.const 4 call $changeGlobal global.get $global diff --git a/tests/node/glob-exp-host-mod-i32/test.js b/tests/node/glob-exp-host-mod-i32/test.js index f46f815c..ce8a9b49 100644 --- a/tests/node/glob-exp-host-mod-i32/test.js +++ b/tests/node/glob-exp-host-mod-i32/test.js @@ -9,5 +9,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/glob-exp-host-mod-i64/index.wat b/tests/node/glob-exp-host-mod-i64/index.wat index 2248f6c1..0053c861 100644 --- a/tests/node/glob-exp-host-mod-i64/index.wat +++ b/tests/node/glob-exp-host-mod-i64/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeGlobal" (func $changeGlobal (param i64))) - (func $main (export "main") + (func $main (export "entry") i64.const 5 call $changeGlobal global.get 0 diff --git a/tests/node/glob-exp-host-mod-i64/test.js b/tests/node/glob-exp-host-mod-i64/test.js index 13f327be..7dc1adbb 100644 --- a/tests/node/glob-exp-host-mod-i64/test.js +++ b/tests/node/glob-exp-host-mod-i64/test.js @@ -9,5 +9,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/glob-exp-host-mod-multiple/index.wat b/tests/node/glob-exp-host-mod-multiple/index.wat index 41f763ea..177392df 100644 --- a/tests/node/glob-exp-host-mod-multiple/index.wat +++ b/tests/node/glob-exp-host-mod-multiple/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeGlobal" (func $changeGlobal (param i32))) - (func $main (export "main") + (func $main (export "entry") i32.const 2 global.set 0 i32.const 5 diff --git a/tests/node/glob-exp-host-mod-multiple/test.js b/tests/node/glob-exp-host-mod-multiple/test.js index 9c9c7f22..7a8005b9 100644 --- a/tests/node/glob-exp-host-mod-multiple/test.js +++ b/tests/node/glob-exp-host-mod-multiple/test.js @@ -12,5 +12,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/glob-exp-host-mod-param/index.wat b/tests/node/glob-exp-host-mod-param/index.wat index 93255f4b..e9180d65 100644 --- a/tests/node/glob-exp-host-mod-param/index.wat +++ b/tests/node/glob-exp-host-mod-param/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeGlobal" (func $changeGlobal (param i32 i32))) - (func $main (export "main") + (func $main (export "entry") i32.const 0 i32.const 5 call $changeGlobal diff --git a/tests/node/glob-exp-host-mod-param/test.js b/tests/node/glob-exp-host-mod-param/test.js index c9425733..d027dda0 100644 --- a/tests/node/glob-exp-host-mod-param/test.js +++ b/tests/node/glob-exp-host-mod-param/test.js @@ -13,5 +13,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/glob-exp-not-mut/index.wat b/tests/node/glob-exp-not-mut/index.wat index f6fca8e5..3639e0a6 100644 --- a/tests/node/glob-exp-not-mut/index.wat +++ b/tests/node/glob-exp-not-mut/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeGlobal" (func $changeGlobal)) - (func $main (export "main") + (func $main (export "entry") call $changeGlobal global.get 0 drop diff --git a/tests/node/glob-exp-not-mut/test.js b/tests/node/glob-exp-not-mut/test.js index 881bdee4..d7e1b1da 100644 --- a/tests/node/glob-exp-not-mut/test.js +++ b/tests/node/glob-exp-not-mut/test.js @@ -11,5 +11,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/glob-imp-const/index.wat b/tests/node/glob-imp-const/index.wat index 8b22a162..e48c7564 100644 --- a/tests/node/glob-imp-const/index.wat +++ b/tests/node/glob-imp-const/index.wat @@ -1,6 +1,6 @@ (module (import "env" "global" (global $global i32)) - (func $main (export "main") + (func $main (export "entry") global.get $global drop ) diff --git a/tests/node/glob-imp-const/test.js b/tests/node/glob-imp-const/test.js index d3d242ab..fe5c701c 100644 --- a/tests/node/glob-imp-const/test.js +++ b/tests/node/glob-imp-const/test.js @@ -8,5 +8,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/glob-imp-different-init/index.wat b/tests/node/glob-imp-different-init/index.wat index acf28d98..282481fb 100644 --- a/tests/node/glob-imp-different-init/index.wat +++ b/tests/node/glob-imp-different-init/index.wat @@ -1,6 +1,6 @@ (module (import "env" "global" (global $global (mut i32))) - (func $main (export "main") + (func $main (export "entry") global.get $global drop ) diff --git a/tests/node/glob-imp-different-init/test.js b/tests/node/glob-imp-different-init/test.js index 6b60417a..128234f8 100644 --- a/tests/node/glob-imp-different-init/test.js +++ b/tests/node/glob-imp-different-init/test.js @@ -8,5 +8,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/glob-imp-different-value/index.wat b/tests/node/glob-imp-different-value/index.wat index acf28d98..282481fb 100644 --- a/tests/node/glob-imp-different-value/index.wat +++ b/tests/node/glob-imp-different-value/index.wat @@ -1,6 +1,6 @@ (module (import "env" "global" (global $global (mut i32))) - (func $main (export "main") + (func $main (export "entry") global.get $global drop ) diff --git a/tests/node/glob-imp-different-value/test.js b/tests/node/glob-imp-different-value/test.js index 6b60417a..128234f8 100644 --- a/tests/node/glob-imp-different-value/test.js +++ b/tests/node/glob-imp-different-value/test.js @@ -8,5 +8,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/glob-imp-f64/index.wat b/tests/node/glob-imp-f64/index.wat index c5b0e955..24d1706c 100644 --- a/tests/node/glob-imp-f64/index.wat +++ b/tests/node/glob-imp-f64/index.wat @@ -1,6 +1,6 @@ (module (import "env" "global" (global $global (mut f64))) - (func $main (export "main") + (func $main (export "entry") global.get $global drop ) diff --git a/tests/node/glob-imp-f64/test.js b/tests/node/glob-imp-f64/test.js index a9941a25..8a4612c4 100644 --- a/tests/node/glob-imp-f64/test.js +++ b/tests/node/glob-imp-f64/test.js @@ -8,5 +8,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/glob-imp-infinity/index.wat b/tests/node/glob-imp-infinity/index.wat index 938de5a3..9490aeea 100644 --- a/tests/node/glob-imp-infinity/index.wat +++ b/tests/node/glob-imp-infinity/index.wat @@ -1,6 +1,6 @@ (module (import "env" "Infinity" (global $global f64)) - (func $main (export "main") + (func $main (export "entry") global.get $global drop ) diff --git a/tests/node/glob-imp-infinity/test.js b/tests/node/glob-imp-infinity/test.js index e0b55569..4adbbd8d 100644 --- a/tests/node/glob-imp-infinity/test.js +++ b/tests/node/glob-imp-infinity/test.js @@ -7,5 +7,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/glob-imp-nan/index.wat b/tests/node/glob-imp-nan/index.wat index 1f6d9b77..5c1a1b24 100644 --- a/tests/node/glob-imp-nan/index.wat +++ b/tests/node/glob-imp-nan/index.wat @@ -1,6 +1,6 @@ (module (import "env" "NaN" (global $global f64)) - (func $main (export "main") + (func $main (export "entry") global.get $global drop ) diff --git a/tests/node/glob-imp-nan/test.js b/tests/node/glob-imp-nan/test.js index 9810520c..0a77a047 100644 --- a/tests/node/glob-imp-nan/test.js +++ b/tests/node/glob-imp-nan/test.js @@ -7,5 +7,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/glob-imp-no-init/index.wat b/tests/node/glob-imp-no-init/index.wat index acf28d98..282481fb 100644 --- a/tests/node/glob-imp-no-init/index.wat +++ b/tests/node/glob-imp-no-init/index.wat @@ -1,6 +1,6 @@ (module (import "env" "global" (global $global (mut i32))) - (func $main (export "main") + (func $main (export "entry") global.get $global drop ) diff --git a/tests/node/glob-imp-no-init/test.js b/tests/node/glob-imp-no-init/test.js index dc3b62e5..6b530630 100644 --- a/tests/node/glob-imp-no-init/test.js +++ b/tests/node/glob-imp-no-init/test.js @@ -8,5 +8,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-change-before-er/index.wat b/tests/node/mem-change-before-er/index.wat index 034cf34f..02d31e27 100644 --- a/tests/node/mem-change-before-er/index.wat +++ b/tests/node/mem-change-before-er/index.wat @@ -1,6 +1,6 @@ (module (import "env" "foo" (func $foo)) - (func $main (export "main") + (func $main (export "entry") call $foo ) (func (export "exp") diff --git a/tests/node/mem-change-before-er/test.js b/tests/node/mem-change-before-er/test.js index da543235..01cc54a3 100644 --- a/tests/node/mem-change-before-er/test.js +++ b/tests/node/mem-change-before-er/test.js @@ -8,6 +8,6 @@ export default async function test(wasmBinary) { let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance new Uint8Array(instance.exports.memory.buffer)[1] = 1 - instance.exports.main() + instance.exports.entry() instance.exports.exp() } \ No newline at end of file diff --git a/tests/node/mem-exp-call-different-modules/index.wat b/tests/node/mem-exp-call-different-modules/index.wat index bde9fdd2..4ca18e2e 100644 --- a/tests/node/mem-exp-call-different-modules/index.wat +++ b/tests/node/mem-exp-call-different-modules/index.wat @@ -3,7 +3,7 @@ (import "env" "changeMemBeforeReentry" (func $changeMemBeforeReentry)) (import "env2" "foo" (func $foo)) (import "env2" "bar" (func $bar)) - (func $main (export "main") + (func $main (export "entry") call $changeMemAfterReentry i32.const 1 i32.load diff --git a/tests/node/mem-exp-call-different-modules/test.js b/tests/node/mem-exp-call-different-modules/test.js index 2e68987f..16476806 100644 --- a/tests/node/mem-exp-call-different-modules/test.js +++ b/tests/node/mem-exp-call-different-modules/test.js @@ -22,5 +22,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-exp-copy-no-host-mod/index.wat b/tests/node/mem-exp-copy-no-host-mod/index.wat index 2d8eba44..305f4723 100644 --- a/tests/node/mem-exp-copy-no-host-mod/index.wat +++ b/tests/node/mem-exp-copy-no-host-mod/index.wat @@ -1,5 +1,5 @@ (module - (func $main (export "main") + (func $main (export "entry") ;; i32.const 1 ;; i32.const 8746 ;; v128.store diff --git a/tests/node/mem-exp-copy-no-host-mod/test.js b/tests/node/mem-exp-copy-no-host-mod/test.js index fdc2cfeb..46108553 100644 --- a/tests/node/mem-exp-copy-no-host-mod/test.js +++ b/tests/node/mem-exp-copy-no-host-mod/test.js @@ -3,6 +3,6 @@ export default async function test(wasmBinary) { let imports = {} let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() throw Error('This is not yet implemented: Memory copy instruction. Also this testcase is not correct') } \ No newline at end of file diff --git a/tests/node/mem-exp-fill-no-host-mod/index.wat b/tests/node/mem-exp-fill-no-host-mod/index.wat index 2d8eba44..305f4723 100644 --- a/tests/node/mem-exp-fill-no-host-mod/index.wat +++ b/tests/node/mem-exp-fill-no-host-mod/index.wat @@ -1,5 +1,5 @@ (module - (func $main (export "main") + (func $main (export "entry") ;; i32.const 1 ;; i32.const 8746 ;; v128.store diff --git a/tests/node/mem-exp-fill-no-host-mod/test.js b/tests/node/mem-exp-fill-no-host-mod/test.js index 7a40ebcd..8c9f0505 100644 --- a/tests/node/mem-exp-fill-no-host-mod/test.js +++ b/tests/node/mem-exp-fill-no-host-mod/test.js @@ -3,6 +3,6 @@ export default async function test(wasmBinary) { let imports = {} let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() throw Error('This is not yet implemented: Fill memory instruction. Also this testcase is not correct') } \ No newline at end of file diff --git a/tests/node/mem-exp-host-grow-no-return/index.wat b/tests/node/mem-exp-host-grow-no-return/index.wat index 2376678c..95156c7e 100644 --- a/tests/node/mem-exp-host-grow-no-return/index.wat +++ b/tests/node/mem-exp-host-grow-no-return/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeMem" (func $changeMem (result i32))) - (func $main (export "main") + (func $main (export "entry") call $changeMem i32.load drop diff --git a/tests/node/mem-exp-host-grow-no-return/test.js b/tests/node/mem-exp-host-grow-no-return/test.js index e0095430..6226fad2 100644 --- a/tests/node/mem-exp-host-grow-no-return/test.js +++ b/tests/node/mem-exp-host-grow-no-return/test.js @@ -12,5 +12,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-exp-host-grow/index.wat b/tests/node/mem-exp-host-grow/index.wat index 0a56c44b..8617087d 100644 --- a/tests/node/mem-exp-host-grow/index.wat +++ b/tests/node/mem-exp-host-grow/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeMem" (func $changeMem (result i32))) - (func $main (export "main") + (func $main (export "entry") call $changeMem i32.load drop diff --git a/tests/node/mem-exp-host-grow/test.js b/tests/node/mem-exp-host-grow/test.js index 851bfd4f..555a4ff1 100644 --- a/tests/node/mem-exp-host-grow/test.js +++ b/tests/node/mem-exp-host-grow/test.js @@ -12,5 +12,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-exp-host-mod-detection/index.wat b/tests/node/mem-exp-host-mod-detection/index.wat index 779fdded..4f17da3e 100644 --- a/tests/node/mem-exp-host-mod-detection/index.wat +++ b/tests/node/mem-exp-host-mod-detection/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeMem" (func $changeMemHost (param i32 i32))) - (func $main (export "main") + (func $main (export "entry") i32.const 0 i32.const 0 i32.store diff --git a/tests/node/mem-exp-host-mod-detection/test.js b/tests/node/mem-exp-host-mod-detection/test.js index 7337b45c..a807fe61 100644 --- a/tests/node/mem-exp-host-mod-detection/test.js +++ b/tests/node/mem-exp-host-mod-detection/test.js @@ -10,5 +10,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-exp-host-mod-load-vec/index.wat b/tests/node/mem-exp-host-mod-load-vec/index.wat index 2d8eba44..305f4723 100644 --- a/tests/node/mem-exp-host-mod-load-vec/index.wat +++ b/tests/node/mem-exp-host-mod-load-vec/index.wat @@ -1,5 +1,5 @@ (module - (func $main (export "main") + (func $main (export "entry") ;; i32.const 1 ;; i32.const 8746 ;; v128.store diff --git a/tests/node/mem-exp-host-mod-load-vec/test.js b/tests/node/mem-exp-host-mod-load-vec/test.js index 9088205c..3986705e 100644 --- a/tests/node/mem-exp-host-mod-load-vec/test.js +++ b/tests/node/mem-exp-host-mod-load-vec/test.js @@ -3,6 +3,6 @@ export default async function test(wasmBinary) { let imports = {} let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() throw Error('This is not yet implemented: Vector memory instructions. Also this testcase is not correct') } \ No newline at end of file diff --git a/tests/node/mem-exp-host-mod-loadxx_x/index.wat b/tests/node/mem-exp-host-mod-loadxx_x/index.wat index 7d3d5775..a42f53c8 100644 --- a/tests/node/mem-exp-host-mod-loadxx_x/index.wat +++ b/tests/node/mem-exp-host-mod-loadxx_x/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeMem" (func $changeMem)) - (func $main (export "main") + (func $main (export "entry") call $setup i32.load16_u (if (i32.eqz) (then unreachable)) diff --git a/tests/node/mem-exp-host-mod-loadxx_x/test.js b/tests/node/mem-exp-host-mod-loadxx_x/test.js index fd6aaf44..d01e75d9 100644 --- a/tests/node/mem-exp-host-mod-loadxx_x/test.js +++ b/tests/node/mem-exp-host-mod-loadxx_x/test.js @@ -9,7 +9,7 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } // if this test fails it is likely that instructions like ixx.loadxx_x dont get parsed correctly diff --git a/tests/node/mem-exp-host-mod-location-reentry/index.wat b/tests/node/mem-exp-host-mod-location-reentry/index.wat index 8be4e68e..f3776e0e 100644 --- a/tests/node/mem-exp-host-mod-location-reentry/index.wat +++ b/tests/node/mem-exp-host-mod-location-reentry/index.wat @@ -1,7 +1,7 @@ (module (import "env" "changeMemAfterReentry" (func $changeMemAfterReentry)) (import "env" "changeMemBeforeReentry" (func $changeMemBeforeReentry)) - (func $main (export "main") + (func $main (export "entry") call $changeMemAfterReentry i32.const 1 i32.load diff --git a/tests/node/mem-exp-host-mod-location-reentry/test.js b/tests/node/mem-exp-host-mod-location-reentry/test.js index 4d6864cc..407ae2ea 100644 --- a/tests/node/mem-exp-host-mod-location-reentry/test.js +++ b/tests/node/mem-exp-host-mod-location-reentry/test.js @@ -14,5 +14,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-exp-host-mod-location/index.wat b/tests/node/mem-exp-host-mod-location/index.wat index d25da680..da7544f8 100644 --- a/tests/node/mem-exp-host-mod-location/index.wat +++ b/tests/node/mem-exp-host-mod-location/index.wat @@ -1,7 +1,7 @@ (module (import "env" "changeMem" (func $changeMem)) (import "env" "nop" (func $nop)) - (func $main (export "main") + (func $main (export "entry") call $nop i32.const 1 i32.load diff --git a/tests/node/mem-exp-host-mod-location/test.js b/tests/node/mem-exp-host-mod-location/test.js index 5a9b22c7..8fcdc1d4 100644 --- a/tests/node/mem-exp-host-mod-location/test.js +++ b/tests/node/mem-exp-host-mod-location/test.js @@ -10,5 +10,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-exp-host-mod-other-name/index.wat b/tests/node/mem-exp-host-mod-other-name/index.wat index eb28b3b7..19e49257 100644 --- a/tests/node/mem-exp-host-mod-other-name/index.wat +++ b/tests/node/mem-exp-host-mod-other-name/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeMem" (func $changeMem)) - (func $main (export "main") + (func $main (export "entry") call $changeMem i32.const 1 i32.load diff --git a/tests/node/mem-exp-host-mod-other-name/test.js b/tests/node/mem-exp-host-mod-other-name/test.js index 02fa116e..91627f3d 100644 --- a/tests/node/mem-exp-host-mod-other-name/test.js +++ b/tests/node/mem-exp-host-mod-other-name/test.js @@ -9,5 +9,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-exp-host-mod-param/index.wat b/tests/node/mem-exp-host-mod-param/index.wat index e70ec295..3dc75bef 100644 --- a/tests/node/mem-exp-host-mod-param/index.wat +++ b/tests/node/mem-exp-host-mod-param/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeMem" (func $changeMem (param i32 i32))) - (func $main (export "main") + (func $main (export "entry") i32.const 5 i32.const 60000 call $changeMem diff --git a/tests/node/mem-exp-host-mod-param/test.js b/tests/node/mem-exp-host-mod-param/test.js index 5e0ff944..da495d74 100644 --- a/tests/node/mem-exp-host-mod-param/test.js +++ b/tests/node/mem-exp-host-mod-param/test.js @@ -9,5 +9,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-exp-host-mod-pingpong/index.wat b/tests/node/mem-exp-host-mod-pingpong/index.wat index 0fa728f2..8d8b0116 100644 --- a/tests/node/mem-exp-host-mod-pingpong/index.wat +++ b/tests/node/mem-exp-host-mod-pingpong/index.wat @@ -3,7 +3,7 @@ (import "env" "changeMemBeforeReentry" (func $changeMemBeforeReentry)) (import "env" "foo" (func $foo)) (import "env" "bar" (func $bar)) - (func $main (export "main") + (func $main (export "entry") call $changeMemAfterReentry i32.const 1 i32.load diff --git a/tests/node/mem-exp-host-mod-pingpong/test.js b/tests/node/mem-exp-host-mod-pingpong/test.js index ddd64589..2cb1de4d 100644 --- a/tests/node/mem-exp-host-mod-pingpong/test.js +++ b/tests/node/mem-exp-host-mod-pingpong/test.js @@ -20,5 +20,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-exp-host-mod-store-lastfunc-return/index.wat b/tests/node/mem-exp-host-mod-store-lastfunc-return/index.wat index 8856dee7..dadac4ca 100644 --- a/tests/node/mem-exp-host-mod-store-lastfunc-return/index.wat +++ b/tests/node/mem-exp-host-mod-store-lastfunc-return/index.wat @@ -2,7 +2,7 @@ (import "env" "changeMemAfterReentry" (func $changeMemAfterReentry (result i32))) (import "env" "foo" (func $foo)) (import "env" "bar" (func $bar (result i32))) - (func $main (export "main") + (func $main (export "entry") call $changeMemAfterReentry drop i32.const 1 diff --git a/tests/node/mem-exp-host-mod-store-lastfunc-return/test.js b/tests/node/mem-exp-host-mod-store-lastfunc-return/test.js index 94bb46e0..aa050b6f 100644 --- a/tests/node/mem-exp-host-mod-store-lastfunc-return/test.js +++ b/tests/node/mem-exp-host-mod-store-lastfunc-return/test.js @@ -18,5 +18,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-exp-host-mod-store-lastfunc/index.wat b/tests/node/mem-exp-host-mod-store-lastfunc/index.wat index 36f985fd..a8b15eb6 100644 --- a/tests/node/mem-exp-host-mod-store-lastfunc/index.wat +++ b/tests/node/mem-exp-host-mod-store-lastfunc/index.wat @@ -2,7 +2,7 @@ (import "env" "changeMemAfterReentry" (func $changeMemAfterReentry)) (import "env" "foo" (func $foo)) (import "env" "bar" (func $bar)) - (func $main (export "main") + (func $main (export "entry") call $changeMemAfterReentry i32.const 1 i32.load diff --git a/tests/node/mem-exp-host-mod-store-lastfunc/test.js b/tests/node/mem-exp-host-mod-store-lastfunc/test.js index c415fcae..bb6b8a77 100644 --- a/tests/node/mem-exp-host-mod-store-lastfunc/test.js +++ b/tests/node/mem-exp-host-mod-store-lastfunc/test.js @@ -16,5 +16,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-exp-host-mod-toplevel/index.wat b/tests/node/mem-exp-host-mod-toplevel/index.wat index 003f7d1a..54278ced 100644 --- a/tests/node/mem-exp-host-mod-toplevel/index.wat +++ b/tests/node/mem-exp-host-mod-toplevel/index.wat @@ -1,5 +1,5 @@ (module - (func $main (export "main") + (func $main (export "entry") i32.const 1 i32.load drop diff --git a/tests/node/mem-exp-host-mod-toplevel/test.js b/tests/node/mem-exp-host-mod-toplevel/test.js index 1620b061..43754e9e 100644 --- a/tests/node/mem-exp-host-mod-toplevel/test.js +++ b/tests/node/mem-exp-host-mod-toplevel/test.js @@ -3,7 +3,7 @@ export default async function test(wasmBinary) { let imports = {} let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() new Uint8Array(instance.exports.memory.buffer)[1] = 1 - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-exp-host-mod/index.wat b/tests/node/mem-exp-host-mod/index.wat index 2f2626e8..a626a9d0 100644 --- a/tests/node/mem-exp-host-mod/index.wat +++ b/tests/node/mem-exp-host-mod/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeMem" (func $changeMem)) - (func $main (export "main") + (func $main (export "entry") call $changeMem i32.const 1 i32.load diff --git a/tests/node/mem-exp-host-mod/test.js b/tests/node/mem-exp-host-mod/test.js index da21ccf0..34576f6d 100644 --- a/tests/node/mem-exp-host-mod/test.js +++ b/tests/node/mem-exp-host-mod/test.js @@ -9,5 +9,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-exp-init-no-host-mod/index.wat b/tests/node/mem-exp-init-no-host-mod/index.wat index 2d8eba44..305f4723 100644 --- a/tests/node/mem-exp-init-no-host-mod/index.wat +++ b/tests/node/mem-exp-init-no-host-mod/index.wat @@ -1,5 +1,5 @@ (module - (func $main (export "main") + (func $main (export "entry") ;; i32.const 1 ;; i32.const 8746 ;; v128.store diff --git a/tests/node/mem-exp-init-no-host-mod/test.js b/tests/node/mem-exp-init-no-host-mod/test.js index d9316775..4d85e8cc 100644 --- a/tests/node/mem-exp-init-no-host-mod/test.js +++ b/tests/node/mem-exp-init-no-host-mod/test.js @@ -3,6 +3,6 @@ export default async function test(wasmBinary) { let imports = {} let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() throw Error('This is not yet implemented: Init memory instruction. Also this testcase is not correct') } \ No newline at end of file diff --git a/tests/node/mem-exp-offset-no-host-mod/index.wat b/tests/node/mem-exp-offset-no-host-mod/index.wat index 7cc2d717..fa24485a 100644 --- a/tests/node/mem-exp-offset-no-host-mod/index.wat +++ b/tests/node/mem-exp-offset-no-host-mod/index.wat @@ -1,5 +1,5 @@ (module - (func $main (export "main") + (func $main (export "entry") ;; i32.const 1 ;; i32.const 8746 ;; i32.store offset=2 diff --git a/tests/node/mem-exp-offset-no-host-mod/test.js b/tests/node/mem-exp-offset-no-host-mod/test.js index 0821041e..3010960e 100644 --- a/tests/node/mem-exp-offset-no-host-mod/test.js +++ b/tests/node/mem-exp-offset-no-host-mod/test.js @@ -3,5 +3,5 @@ export default async function test(wasmBinary) { let imports = {} let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-exp-vec-store-no-host-mod/index.wat b/tests/node/mem-exp-vec-store-no-host-mod/index.wat index 2d8eba44..305f4723 100644 --- a/tests/node/mem-exp-vec-store-no-host-mod/index.wat +++ b/tests/node/mem-exp-vec-store-no-host-mod/index.wat @@ -1,5 +1,5 @@ (module - (func $main (export "main") + (func $main (export "entry") ;; i32.const 1 ;; i32.const 8746 ;; v128.store diff --git a/tests/node/mem-exp-vec-store-no-host-mod/test.js b/tests/node/mem-exp-vec-store-no-host-mod/test.js index 9088205c..3986705e 100644 --- a/tests/node/mem-exp-vec-store-no-host-mod/test.js +++ b/tests/node/mem-exp-vec-store-no-host-mod/test.js @@ -3,6 +3,6 @@ export default async function test(wasmBinary) { let imports = {} let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() throw Error('This is not yet implemented: Vector memory instructions. Also this testcase is not correct') } \ No newline at end of file diff --git a/tests/node/mem-imp-different-size/index.wat b/tests/node/mem-imp-different-size/index.wat index e5ebf779..d6eb1087 100644 --- a/tests/node/mem-imp-different-size/index.wat +++ b/tests/node/mem-imp-different-size/index.wat @@ -1,4 +1,4 @@ (module (import "env" "memory" (memory 1)) - (func $main (export "main")) + (func $main (export "entry")) ) diff --git a/tests/node/mem-imp-different-size/test.js b/tests/node/mem-imp-different-size/test.js index aba491bc..18dd5664 100644 --- a/tests/node/mem-imp-different-size/test.js +++ b/tests/node/mem-imp-different-size/test.js @@ -8,5 +8,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-imp-host-grow/index.wat b/tests/node/mem-imp-host-grow/index.wat index 1ee8102d..0cc4ec95 100644 --- a/tests/node/mem-imp-host-grow/index.wat +++ b/tests/node/mem-imp-host-grow/index.wat @@ -1,7 +1,7 @@ (module (import "env" "changeMem" (func $changeMem (result i32))) (import "env2" "mem" (memory 1)) - (func $main (export "main") + (func $main (export "entry") call $changeMem i32.load drop diff --git a/tests/node/mem-imp-host-grow/test.js b/tests/node/mem-imp-host-grow/test.js index cab06157..f4392f06 100644 --- a/tests/node/mem-imp-host-grow/test.js +++ b/tests/node/mem-imp-host-grow/test.js @@ -16,5 +16,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-imp-host-mod/index.wat b/tests/node/mem-imp-host-mod/index.wat index ceb7daad..c65426bb 100644 --- a/tests/node/mem-imp-host-mod/index.wat +++ b/tests/node/mem-imp-host-mod/index.wat @@ -1,7 +1,7 @@ (module (import "env" "memory" (memory 1)) (import "env" "changeMem" (func $changeMemHost)) - (func $main (export "main") + (func $main (export "entry") call $changeMemHost i32.const 1 i32.load diff --git a/tests/node/mem-imp-host-mod/test.js b/tests/node/mem-imp-host-mod/test.js index 9e5f0d17..abf5c360 100644 --- a/tests/node/mem-imp-host-mod/test.js +++ b/tests/node/mem-imp-host-mod/test.js @@ -11,5 +11,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/mem-imp-mod/index.wat b/tests/node/mem-imp-mod/index.wat index 3ac055fa..d4cd30cf 100644 --- a/tests/node/mem-imp-mod/index.wat +++ b/tests/node/mem-imp-mod/index.wat @@ -1,6 +1,6 @@ (module (import "env" "memory" (memory 1)) - (func $main (export "main") + (func $main (export "entry") i32.const 1 i32.load drop diff --git a/tests/node/mem-imp-mod/test.js b/tests/node/mem-imp-mod/test.js index 306aed35..f7ec220c 100644 --- a/tests/node/mem-imp-mod/test.js +++ b/tests/node/mem-imp-mod/test.js @@ -9,5 +9,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/non-pure-host-func/index.wat b/tests/node/non-pure-host-func/index.wat index 58b0dd06..8c6c1a55 100644 --- a/tests/node/non-pure-host-func/index.wat +++ b/tests/node/non-pure-host-func/index.wat @@ -1,6 +1,6 @@ (module (import "env" "foo" (func $foo)) - (func $main (export "main") + (func $main (export "entry") call $foo call $foo ) diff --git a/tests/node/non-pure-host-func/test.js b/tests/node/non-pure-host-func/test.js index edf30b17..9fdda09f 100644 --- a/tests/node/non-pure-host-func/test.js +++ b/tests/node/non-pure-host-func/test.js @@ -11,5 +11,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/reentry/index.wat b/tests/node/reentry/index.wat index 253fce7f..47bb963b 100644 --- a/tests/node/reentry/index.wat +++ b/tests/node/reentry/index.wat @@ -1,6 +1,6 @@ (module (import "env" "foo" (func $foo)) - (func $main (export "main") + (func $main (export "entry") call $foo ) (func $bar (export "bar")) diff --git a/tests/node/reentry/test.js b/tests/node/reentry/test.js index 3824f5c6..fa1729a5 100644 --- a/tests/node/reentry/test.js +++ b/tests/node/reentry/test.js @@ -7,5 +7,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/rust-game-of-life/index.wat b/tests/node/rust-game-of-life/index.wat index 55f39d30..354c495d 100644 --- a/tests/node/rust-game-of-life/index.wat +++ b/tests/node/rust-game-of-life/index.wat @@ -3,24 +3,24 @@ (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 (param i32 i32 i32 i32 i32))) - (type (;6;) (func (param i32))) - (type (;7;) (func (param i32 i32 i32 i32 i32 i32 i32 i32))) - (type (;8;) (func (param i32 i32 i32 i32 i32 i32 i32))) - (type (;9;) (func (param i32) (result i32))) - (type (;10;) (func (param i32 i32 i32 i32 i32 i32))) + (type (;4;) (func (param i32) (result i32))) + (type (;5;) (func (param i32 i32 i32 i32 i32 i32))) + (type (;6;) (func (param i32 i32 i32 i32 i32))) + (type (;7;) (func (param i32))) + (type (;8;) (func (param i32 i32 i32 i32))) + (type (;9;) (func (param i32 i32 i32 i32 i32 i32 i32 i32))) + (type (;10;) (func (param i32 i32 i32 i32 i32 i32 i32))) (type (;11;) (func (param i32 i32 i32 i32) (result i32))) (type (;12;) (func (result i32))) (type (;13;) (func (param i32 i32 i32 i32 i32) (result i32))) (type (;14;) (func)) (type (;15;) (func (param i32 i32 i32 i32 i32 i32) (result i32))) (type (;16;) (func (param i64 i32 i32) (result i32))) - (func $_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter_nested..SpecFromIterNested$LT$T$C$I$GT$$GT$9from_iter17hcc25453b8ccf35f4E (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h07ca9642c4fa0a53E (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32) global.get $__stack_pointer local.set 3 - i32.const 112 + i32.const 16 local.set 4 local.get 3 local.get 4 @@ -28,243 +28,45 @@ local.set 5 local.get 5 global.set $__stack_pointer - local.get 5 - local.get 1 - i32.store offset=16 - local.get 5 - local.get 2 - i32.store offset=20 - i32.const 40 + i32.const 8 local.set 6 - local.get 5 + local.get 2 local.get 6 i32.add local.set 7 local.get 7 + i32.load local.set 8 - i32.const 16 - local.set 9 local.get 5 - local.get 9 + local.get 6 i32.add + local.set 9 + local.get 9 + local.get 8 + i32.store + local.get 2 + i64.load align=4 local.set 10 + local.get 5 local.get 10 + i64.store + local.get 5 local.set 11 - local.get 8 + local.get 0 + local.get 1 local.get 11 - call $_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h2be38d3b49ea97dfE - local.get 5 - i32.load offset=44 + call $_ZN4core4iter6traits8iterator8Iterator4fold17h152a5dee337df8b7E + i32.const 16 local.set 12 - i32.const 1 - local.set 13 - local.get 12 - local.set 14 - local.get 13 - local.set 15 - local.get 14 - local.get 15 - i32.eq - local.set 16 - i32.const 1 - local.set 17 - local.get 16 - local.get 17 - i32.and - local.set 18 - block ;; label = @1 - local.get 18 - i32.eqz - br_if 0 (;@1;) - local.get 5 - i32.load offset=48 - local.set 19 - i32.const 0 - local.set 20 - i32.const 8 - local.set 21 - local.get 5 - local.get 21 - i32.add - local.set 22 - local.get 22 - local.get 19 - local.get 20 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17had64134155597456E - local.get 5 - i32.load offset=12 - local.set 23 - local.get 5 - i32.load offset=8 - local.set 24 - local.get 5 - local.get 24 - i32.store offset=24 - local.get 5 - local.get 23 - i32.store offset=28 - i32.const 0 - local.set 25 - local.get 5 - local.get 25 - i32.store offset=32 - local.get 5 - i32.load offset=16 - local.set 26 - local.get 5 - i32.load offset=20 - local.set 27 - i32.const 24 - local.set 28 - local.get 5 - local.get 28 - i32.add - local.set 29 - local.get 29 - local.set 30 - local.get 30 - local.get 26 - local.get 27 - call $_ZN97_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$T$C$I$GT$$GT$11spec_extend17h640ee9a6e9f98d70E - local.get 5 - i64.load offset=24 - local.set 31 - local.get 0 - local.get 31 - i64.store align=4 - i32.const 8 - local.set 32 - local.get 0 - local.get 32 - i32.add - local.set 33 - i32.const 24 - local.set 34 - local.get 5 - local.get 34 - i32.add - local.set 35 - local.get 35 - local.get 32 - i32.add - local.set 36 - local.get 36 - i32.load - local.set 37 - local.get 33 - local.get 37 - i32.store - i32.const 112 - local.set 38 - local.get 5 - local.get 38 - i32.add - local.set 39 - local.get 39 - global.set $__stack_pointer - return - end - i32.const 0 - local.set 40 - i32.const 1 - local.set 41 - local.get 40 - local.get 41 - i32.and - local.set 42 - block ;; label = @1 - local.get 42 - br_if 0 (;@1;) - i32.const 0 - local.set 43 - local.get 5 - local.get 43 - i32.store offset=104 - i32.const 1048596 - local.set 44 - local.get 5 - local.get 44 - i32.store offset=56 - i32.const 1 - local.set 45 - local.get 5 - local.get 45 - i32.store offset=60 - local.get 5 - i32.load offset=104 - local.set 46 - local.get 5 - i32.load offset=108 - local.set 47 - local.get 5 - local.get 46 - i32.store offset=72 - local.get 5 - local.get 47 - i32.store offset=76 - i32.const 1048604 - local.set 48 - local.get 5 - local.get 48 - i32.store offset=64 - i32.const 0 - local.set 49 - local.get 5 - local.get 49 - i32.store offset=68 - i32.const 56 - local.set 50 - local.get 5 - local.get 50 - i32.add - local.set 51 - local.get 51 - local.set 52 - i32.const 1048700 - local.set 53 - local.get 52 - local.get 53 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E - unreachable - end - i32.const 80 - local.set 54 - local.get 5 - local.get 54 - i32.add - local.set 55 - local.get 55 - local.set 56 - i32.const 1048728 - local.set 57 - i32.const 1 - local.set 58 - local.get 56 - local.get 57 - local.get 58 - call $_ZN4core3fmt9Arguments9new_const17h79371856f0b177bdE - i32.const 80 - local.set 59 local.get 5 - local.get 59 + local.get 12 i32.add - local.set 60 - local.get 60 - local.set 61 - i32.const 1048812 - local.set 62 - local.get 61 - local.get 62 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E - unreachable) - (func $_ZN97_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$T$C$I$GT$$GT$11spec_extend17h640ee9a6e9f98d70E (type 3) (param i32 i32 i32) - local.get 0 - local.get 1 - local.get 2 - call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$14extend_trusted17ha1a2256a8f2f7fc5E + local.set 13 + local.get 13 + global.set $__stack_pointer return) - (func $_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17h7b6c970189b9c71bE (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN4core4iter6traits8iterator8Iterator4fold17h152a5dee337df8b7E (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 3 i32.const 32 @@ -276,138 +78,92 @@ local.get 5 global.set $__stack_pointer local.get 5 - local.get 1 - i32.store - local.get 5 - local.get 2 - i32.store offset=4 - local.get 5 - i32.load - local.set 6 - local.get 5 - i32.load offset=4 - local.set 7 - local.get 5 - i32.load - local.set 8 - i32.const 1 - local.set 9 - local.get 5 - local.get 9 - i32.store8 offset=15 + local.get 0 + i32.store offset=12 local.get 5 - i32.load8_u offset=15 - local.set 10 - i32.const -1 - local.set 11 - local.get 10 - local.get 11 - i32.xor - local.set 12 - i32.const 1 - local.set 13 - local.get 12 - local.get 13 - i32.and - local.set 14 + local.get 1 + i32.store offset=16 block ;; label = @1 - local.get 14 - i32.eqz - br_if 0 (;@1;) - i32.const 1049283 - local.set 15 - i32.const 73 - local.set 16 - i32.const 1049440 - local.set 17 - local.get 15 - local.get 16 - local.get 17 - call $_ZN4core9panicking5panic17hfd6e422134ee8ce5E - unreachable + loop ;; label = @2 + i32.const 12 + local.set 6 + local.get 5 + local.get 6 + i32.add + local.set 7 + local.get 5 + local.get 7 + call $_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$4next17hb8a5ddf94a022688E + local.get 5 + i32.load + local.set 8 + local.get 5 + i32.load offset=4 + local.set 9 + local.get 5 + local.get 9 + i32.store offset=24 + local.get 5 + local.get 8 + i32.store offset=20 + local.get 5 + i32.load offset=20 + local.set 10 + i32.const 1 + local.set 11 + local.get 10 + local.set 12 + local.get 11 + local.set 13 + local.get 12 + local.get 13 + i32.eq + local.set 14 + i32.const 1 + local.set 15 + local.get 14 + local.get 15 + i32.and + local.set 16 + local.get 16 + i32.eqz + br_if 1 (;@1;) + local.get 5 + i32.load offset=24 + local.set 17 + local.get 5 + local.get 17 + i32.store offset=28 + local.get 5 + i32.load offset=28 + local.set 18 + local.get 2 + local.get 18 + call $_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d$$u7d$17ha4a8b9f5d96ed1ddE + br 0 (;@2;) + end end - local.get 7 - local.get 8 - i32.sub - local.set 18 - local.get 5 - local.get 18 - i32.store offset=8 - local.get 5 - local.get 6 - i32.store offset=24 - local.get 5 - i32.load offset=8 + local.get 2 + call $_ZN4core3ptr492drop_in_place$LT$core..iter..adapters..map..map_fold$LT$u32$C$index..Cell$C$$LP$$RP$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$index..Cell$C$alloc..vec..Vec$LT$index..Cell$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..ops..range..Range$LT$u32$GT$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hcbe4b66420d1e594E + i32.const 32 local.set 19 local.get 5 local.get 19 - i32.store offset=28 - local.get 5 - i32.load offset=24 + i32.add local.set 20 - local.get 5 - i32.load offset=28 - local.set 21 - local.get 5 local.get 20 - i32.store offset=16 - local.get 5 - local.get 21 - i32.store offset=20 - local.get 5 - i32.load offset=16 - local.set 22 - local.get 5 - i32.load offset=20 - local.set 23 - local.get 0 - local.get 23 - call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hd4e5b5ab9705b6deE - local.get 0 - i32.load offset=8 - local.set 24 - local.get 0 - i32.load - local.set 25 - local.get 25 - local.get 24 - i32.add - local.set 26 - i32.const 0 - local.set 27 - local.get 23 - local.get 27 - i32.shl - local.set 28 - local.get 26 - local.get 22 - local.get 28 - call $memcpy - drop - local.get 0 - i32.load offset=8 - local.set 29 - local.get 29 - local.get 23 - i32.add - local.set 30 - local.get 0 - local.get 30 - i32.store offset=8 - i32.const 32 - local.set 31 - local.get 5 - local.get 31 - i32.add - local.set 32 - local.get 32 global.set $__stack_pointer return) - (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hd4e5b5ab9705b6deE (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h02dbb3e914644c64E (type 0) (param i32 i32) + local.get 0 + local.get 1 + call $_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$9size_hint17h3ba3b69a8b9df1c9E + return) + (func $_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$9size_hint17h3ba3b69a8b9df1c9E (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 2 - i32.const 16 + i32.const 32 local.set 3 local.get 2 local.get 3 @@ -415,238 +171,129 @@ local.set 4 local.get 4 global.set $__stack_pointer - local.get 0 - i32.load offset=8 + local.get 1 + i32.load local.set 5 - i32.const 0 + local.get 1 + i32.load offset=4 local.set 6 - i32.const 1 + local.get 5 local.set 7 local.get 6 + local.set 8 local.get 7 + local.get 8 + i32.lt_u + local.set 9 + i32.const 1 + local.set 10 + local.get 9 + local.get 10 i32.and - local.set 8 + local.set 11 block ;; label = @1 block ;; label = @2 - local.get 8 + local.get 11 br_if 0 (;@2;) + i32.const 0 + local.set 12 + local.get 4 + local.get 12 + i32.store offset=28 + i32.const 1 + local.set 13 + local.get 4 + local.get 13 + i32.store offset=24 + i32.const 0 + local.set 14 local.get 0 - i32.load offset=4 - local.set 9 + local.get 14 + i32.store local.get 4 - local.get 9 - i32.store offset=12 + i32.load offset=24 + local.set 15 + local.get 4 + i32.load offset=28 + local.set 16 + local.get 0 + local.get 15 + i32.store offset=4 + local.get 0 + local.get 16 + i32.store offset=8 br 1 (;@1;) end - i32.const -1 - local.set 10 - local.get 4 - local.get 10 - i32.store offset=12 - end - local.get 4 - i32.load offset=12 - local.set 11 - local.get 11 - local.get 5 - i32.sub - local.set 12 - local.get 1 - local.set 13 - local.get 12 - local.set 14 - local.get 13 - local.get 14 - i32.gt_u - local.set 15 - i32.const 1 - local.set 16 - local.get 15 - local.get 16 - i32.and - local.set 17 - block ;; label = @1 + i32.const 4 + local.set 17 + local.get 1 local.get 17 - i32.eqz - br_if 0 (;@1;) - local.get 0 - local.get 5 + i32.add + local.set 18 + local.get 4 local.get 1 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h879eba6a1a1f35a1E - end - i32.const 16 - local.set 18 - local.get 4 - local.get 18 - i32.add - local.set 19 - local.get 19 - global.set $__stack_pointer - return) - (func $_ZN45_$LT$T$u20$as$u20$alloc..string..ToString$GT$9to_string17h6229caebe45a591eE (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 2 - i32.const 80 - local.set 3 - local.get 2 - local.get 3 - i32.sub - local.set 4 - local.get 4 - global.set $__stack_pointer - i32.const 1 - local.set 5 - local.get 4 - local.get 5 - i32.store offset=56 - i32.const 0 - local.set 6 - local.get 4 - local.get 6 - i32.store offset=60 - i32.const 0 - local.set 7 - local.get 4 - local.get 7 - i32.store offset=64 - i32.const 8 - local.set 8 - local.get 4 - local.get 8 - i32.add - local.set 9 - i32.const 56 - local.set 10 - local.get 4 - local.get 10 - i32.add - local.set 11 - local.get 11 - local.get 8 - i32.add - local.set 12 - local.get 12 - i32.load - local.set 13 - local.get 9 - local.get 13 - i32.store - local.get 4 - i64.load offset=56 - local.set 14 - local.get 4 - local.get 14 - i64.store - i32.const 16 - local.set 15 - local.get 4 - local.get 15 - i32.add - local.set 16 - local.get 16 - local.set 17 - local.get 4 - local.set 18 - i32.const 1048828 - local.set 19 - local.get 17 - local.get 18 - local.get 19 - call $_ZN4core3fmt9Formatter3new17h34283c8bc6308254E - i32.const 16 - local.set 20 - local.get 4 - local.get 20 - i32.add - local.set 21 - local.get 21 - local.set 22 - local.get 1 - local.get 22 - call $_ZN54_$LT$index..Universe$u20$as$u20$core..fmt..Display$GT$3fmt17h2fcd573d5392cb70E - local.set 23 - i32.const 1 - local.set 24 - local.get 23 - local.get 24 - i32.and - local.set 25 - local.get 4 - local.get 25 - i32.store8 offset=55 - local.get 4 - i32.load8_u offset=55 - local.set 26 - i32.const 1 - local.set 27 - local.get 26 - local.get 27 - i32.and - local.set 28 - block ;; label = @1 - local.get 28 - br_if 0 (;@1;) + local.get 18 + call $_ZN47_$LT$u32$u20$as$u20$core..iter..range..Step$GT$13steps_between17h50fba028dc6caa02E local.get 4 - i64.load - local.set 29 - local.get 0 - local.get 29 - i64.store align=4 - i32.const 8 - local.set 30 - local.get 0 - local.get 30 - i32.add - local.set 31 + i32.load offset=4 + local.set 19 local.get 4 - local.get 30 - i32.add - local.set 32 - local.get 32 i32.load - local.set 33 - local.get 31 - local.get 33 - i32.store - i32.const 80 - local.set 34 + local.set 20 local.get 4 - local.get 34 - i32.add - local.set 35 - local.get 35 - global.set $__stack_pointer - return + local.get 20 + i32.store offset=16 + local.get 4 + local.get 19 + i32.store offset=20 + local.get 4 + i32.load offset=16 + local.set 21 + block ;; label = @2 + block ;; label = @3 + local.get 21 + br_if 0 (;@3;) + i32.const -1 + local.set 22 + local.get 4 + local.get 22 + i32.store offset=12 + br 1 (;@2;) + end + local.get 4 + i32.load offset=20 + local.set 23 + local.get 4 + local.get 23 + i32.store offset=12 + end + local.get 4 + i32.load offset=12 + local.set 24 + local.get 0 + local.get 24 + i32.store + local.get 0 + local.get 20 + i32.store offset=4 + local.get 0 + local.get 19 + i32.store offset=8 end - i32.const 1048852 - local.set 36 - i32.const 55 - local.set 37 - i32.const 72 - local.set 38 + i32.const 32 + local.set 25 local.get 4 - local.get 38 + local.get 25 i32.add - local.set 39 - local.get 39 - local.set 40 - i32.const 1048908 - local.set 41 - i32.const 1049000 - local.set 42 - local.get 36 - local.get 37 - local.get 40 - local.get 41 - local.get 42 - call $_ZN4core6result13unwrap_failed17h7ed8731a69ab17a3E - unreachable) - (func $_ZN54_$LT$index..Universe$u20$as$u20$core..fmt..Display$GT$3fmt17h2fcd573d5392cb70E (type 2) (param i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + local.set 26 + local.get 26 + global.set $__stack_pointer + return) + (func $_ZN104_$LT$core..iter..adapters..cloned..Cloned$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17haaa1e9c7b03f1d44E (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 2 - i32.const 192 + i32.const 16 local.set 3 local.get 2 local.get 3 @@ -654,491 +301,272 @@ local.set 4 local.get 4 global.set $__stack_pointer - i32.const 24 + local.get 1 + call $_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1c178e3976512d25E local.set 5 - local.get 4 - local.get 5 - i32.add + i32.const 8 local.set 6 - local.get 6 - local.get 0 - call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$8as_slice17h8471d104d41e3a2aE local.get 4 - i32.load offset=28 + local.get 6 + i32.add local.set 7 + local.get 7 + local.get 5 + call $_ZN4core6option19Option$LT$$RF$T$GT$6cloned17h6f5be186997ec6e2E local.get 4 - i32.load offset=24 + i32.load offset=8 local.set 8 - local.get 0 + local.get 4 i32.load offset=12 local.set 9 - i32.const 56 + local.get 0 + local.get 9 + i32.store offset=4 + local.get 0 + local.get 8 + i32.store + i32.const 16 local.set 10 local.get 4 local.get 10 i32.add local.set 11 local.get 11 - local.set 12 - i32.const 1050076 - local.set 13 - local.get 12 - local.get 8 - local.get 7 - local.get 9 - local.get 13 - call $_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$6chunks17h8af6da62acddedfeE - i32.const 40 - local.set 14 - local.get 4 - local.get 14 - i32.add - local.set 15 - local.get 15 - local.set 16 - i32.const 56 - local.set 17 - local.get 4 - local.get 17 - i32.add - local.set 18 - local.get 18 - local.set 19 - local.get 16 - local.get 19 - call $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h88a31ea60a58b27eE - i32.const 8 - local.set 20 - i32.const 72 - local.set 21 + global.set $__stack_pointer + return) + (func $_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1c178e3976512d25E (type 4) (param i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 1 + i32.const 16 + local.set 2 + local.get 1 + local.get 2 + i32.sub + local.set 3 + i32.const 0 + local.set 4 + i32.const 1 + local.set 5 local.get 4 - local.get 21 - i32.add - local.set 22 - local.get 22 - local.get 20 - i32.add + local.get 5 + i32.and + local.set 6 + block ;; label = @1 + block ;; label = @2 + local.get 6 + br_if 0 (;@2;) + local.get 0 + i32.load offset=4 + local.set 7 + local.get 0 + i32.load + local.set 8 + local.get 8 + local.set 9 + local.get 7 + local.set 10 + local.get 9 + local.get 10 + i32.eq + local.set 11 + i32.const 1 + local.set 12 + local.get 11 + local.get 12 + i32.and + local.set 13 + local.get 3 + local.get 13 + i32.store8 offset=11 + br 1 (;@1;) + end + local.get 0 + i32.load offset=4 + local.set 14 + i32.const 0 + local.set 15 + local.get 14 + local.set 16 + local.get 15 + local.set 17 + local.get 16 + local.get 17 + i32.eq + local.set 18 + i32.const 1 + local.set 19 + local.get 18 + local.get 19 + i32.and + local.set 20 + local.get 3 + local.get 20 + i32.store8 offset=11 + end + local.get 3 + i32.load8_u offset=11 + local.set 21 + i32.const 1 + local.set 22 + local.get 21 + local.get 22 + i32.and local.set 23 - i32.const 40 - local.set 24 - local.get 4 - local.get 24 - i32.add - local.set 25 - local.get 25 - local.get 20 - i32.add - local.set 26 - local.get 26 - i32.load - local.set 27 - local.get 23 - local.get 27 - i32.store - local.get 4 - i64.load offset=40 - local.set 28 - local.get 4 - local.get 28 - i64.store offset=72 block ;; label = @1 - loop ;; label = @2 - i32.const 16 - local.set 29 - local.get 4 - local.get 29 - i32.add - local.set 30 - i32.const 72 - local.set 31 - local.get 4 - local.get 31 - i32.add - local.set 32 - local.get 30 - local.get 32 - call $_ZN93_$LT$core..slice..iter..Chunks$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hf4915ee3b706a7ddE - local.get 4 - i32.load offset=16 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 23 + br_if 0 (;@5;) + local.get 0 + i32.load + local.set 24 + i32.const 0 + local.set 25 + i32.const 1 + local.set 26 + local.get 25 + local.get 26 + i32.and + local.set 27 + local.get 27 + br_if 2 (;@3;) + br 1 (;@4;) + end + i32.const 0 + local.set 28 + local.get 3 + local.get 28 + i32.store offset=4 + br 3 (;@1;) + end + local.get 0 + i32.load + local.set 29 + i32.const 4 + local.set 30 + local.get 29 + local.get 30 + i32.add + local.set 31 + local.get 3 + local.get 31 + i32.store offset=12 + local.get 3 + i32.load offset=12 + local.set 32 + local.get 0 + local.get 32 + i32.store + br 1 (;@2;) + end + local.get 0 + i32.load offset=4 local.set 33 - local.get 4 - i32.load offset=20 + i32.const 1 local.set 34 - local.get 4 - local.get 34 - i32.store offset=92 - local.get 4 local.get 33 - i32.store offset=88 - local.get 4 - i32.load offset=88 + local.get 34 + i32.sub local.set 35 - i32.const 0 - local.set 36 - i32.const 1 - local.set 37 - local.get 37 - local.get 36 + local.get 0 local.get 35 - select - local.set 38 - block ;; label = @3 - local.get 38 - br_if 0 (;@3;) - i32.const 0 - local.set 39 - local.get 4 - local.get 39 - i32.store8 offset=39 - br 2 (;@1;) - end - local.get 4 - i32.load offset=88 - local.set 40 - local.get 4 - i32.load offset=92 - local.set 41 - i32.const 8 - local.set 42 - local.get 4 - local.get 42 - i32.add - local.set 43 - local.get 43 - local.get 40 - local.get 41 - call $_ZN4core5slice4iter87_$LT$impl$u20$core..iter..traits..collect..IntoIterator$u20$for$u20$$RF$$u5b$T$u5d$$GT$9into_iter17h5654324773eaa719E - local.get 4 - i32.load offset=12 - local.set 44 - local.get 4 - i32.load offset=8 - local.set 45 - local.get 4 - local.get 45 - i32.store offset=96 + i32.store offset=4 + end + local.get 3 + local.get 24 + i32.store offset=4 + end + local.get 3 + i32.load offset=4 + local.set 36 + local.get 36 + return) + (func $_ZN4core6option19Option$LT$$RF$T$GT$6cloned17h6f5be186997ec6e2E (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 2 + i32.const 16 + local.set 3 + local.get 2 + local.get 3 + i32.sub + local.set 4 + local.get 4 + local.get 1 + i32.store offset=4 + local.get 4 + i32.load offset=4 + local.set 5 + i32.const 0 + local.set 6 + i32.const 1 + local.set 7 + local.get 7 + local.get 6 + local.get 5 + select + local.set 8 + block ;; label = @1 + block ;; label = @2 + local.get 8 + br_if 0 (;@2;) + i32.const 0 + local.set 9 local.get 4 - local.get 44 - i32.store offset=100 - loop ;; label = @3 - i32.const 96 - local.set 46 - local.get 4 - local.get 46 - i32.add - local.set 47 - local.get 47 - local.set 48 - local.get 48 - call $_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h94e67c15ceaf0550E - local.set 49 - local.get 4 - local.get 49 - i32.store offset=104 - local.get 4 - i32.load offset=104 - local.set 50 - i32.const 0 - local.set 51 - i32.const 1 - local.set 52 - local.get 52 - local.get 51 - local.get 50 - select - local.set 53 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - local.get 53 - br_if 0 (;@8;) - i32.const 160 - local.set 54 - local.get 4 - local.get 54 - i32.add - local.set 55 - local.get 55 - local.set 56 - i32.const 1050096 - local.set 57 - i32.const 1 - local.set 58 - local.get 56 - local.get 57 - local.get 58 - call $_ZN4core3fmt9Arguments9new_const17h79371856f0b177bdE - i32.const 160 - local.set 59 - local.get 4 - local.get 59 - i32.add - local.set 60 - local.get 60 - local.set 61 - local.get 1 - local.get 61 - call $_ZN4core3fmt9Formatter9write_fmt17hfaeca399b1b07a58E - local.set 62 - i32.const 1 - local.set 63 - local.get 62 - local.get 63 - i32.and - local.set 64 - local.get 64 - call $_ZN79_$LT$core..result..Result$LT$T$C$E$GT$$u20$as$u20$core..ops..try_trait..Try$GT$6branch17h071cfef9f8d7e159E - local.set 65 - i32.const 1 - local.set 66 - local.get 65 - local.get 66 - i32.and - local.set 67 - local.get 4 - local.get 67 - i32.store8 offset=159 - local.get 4 - i32.load8_u offset=159 - local.set 68 - i32.const 1 - local.set 69 - local.get 68 - local.get 69 - i32.and - local.set 70 - local.get 70 - i32.eqz - br_if 6 (;@2;) - br 1 (;@7;) - end - local.get 4 - i32.load offset=104 - local.set 71 - local.get 71 - i32.load8_u - local.set 72 - i32.const 1 - local.set 73 - local.get 72 - local.get 73 - i32.and - local.set 74 - local.get 4 - local.get 74 - i32.store8 offset=111 - i32.const 111 - local.set 75 - local.get 4 - local.get 75 - i32.add - local.set 76 - local.get 76 - local.set 77 - i32.const 1050120 - local.set 78 - local.get 77 - local.get 78 - call $_ZN52_$LT$index..Cell$u20$as$u20$core..cmp..PartialEq$GT$2eq17h5a9fb12553d13beaE - local.set 79 - i32.const 1 - local.set 80 - local.get 79 - local.get 80 - i32.and - local.set 81 - local.get 81 - br_if 2 (;@5;) - br 1 (;@6;) - end - i32.const 1050104 - local.set 82 - local.get 82 - call $_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h302a9b0536e27f73E - local.set 83 - i32.const 1 - local.set 84 - local.get 83 - local.get 84 - i32.and - local.set 85 - local.get 4 - local.get 85 - i32.store8 offset=39 - br 5 (;@1;) - end - i32.const 9724 - local.set 86 - local.get 4 - local.get 86 - i32.store offset=112 - br 1 (;@4;) - end - i32.const 9723 - local.set 87 - local.get 4 - local.get 87 - i32.store offset=112 - end - i32.const 112 - local.set 88 - local.get 4 - local.get 88 - i32.add - local.set 89 - local.get 4 - local.get 89 - i32.store offset=184 - i32.const 1 - local.set 90 - local.get 4 - local.get 90 - i32.store offset=188 - local.get 4 - i32.load offset=184 - local.set 91 - local.get 4 - i32.load offset=188 - local.set 92 - local.get 4 - local.get 91 - i32.store offset=144 - local.get 4 - local.get 92 - i32.store offset=148 - i32.const 120 - local.set 93 - local.get 4 - local.get 93 - i32.add - local.set 94 - local.get 94 - local.set 95 - i32.const 1050124 - local.set 96 - i32.const 1 - local.set 97 - i32.const 144 - local.set 98 - local.get 4 - local.get 98 - i32.add - local.set 99 - local.get 99 - local.set 100 - local.get 95 - local.get 96 - local.get 97 - local.get 100 - local.get 97 - call $_ZN4core3fmt9Arguments6new_v117h9013fe1fe120800fE - i32.const 120 - local.set 101 - local.get 4 - local.get 101 - i32.add - local.set 102 - local.get 102 - local.set 103 - local.get 1 - local.get 103 - call $_ZN4core3fmt9Formatter9write_fmt17hfaeca399b1b07a58E - local.set 104 - i32.const 1 - local.set 105 - local.get 104 - local.get 105 - i32.and - local.set 106 - local.get 106 - call $_ZN79_$LT$core..result..Result$LT$T$C$E$GT$$u20$as$u20$core..ops..try_trait..Try$GT$6branch17h071cfef9f8d7e159E - local.set 107 - i32.const 1 - local.set 108 - local.get 107 - local.get 108 - i32.and - local.set 109 - local.get 4 - local.get 109 - i32.store8 offset=119 - local.get 4 - i32.load8_u offset=119 - local.set 110 - i32.const 1 - local.set 111 - local.get 110 - local.get 111 - i32.and - local.set 112 - local.get 112 - i32.eqz - br_if 0 (;@3;) - end + local.get 9 + i32.store offset=8 + br 1 (;@1;) end - i32.const 1050132 - local.set 113 - local.get 113 - call $_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h302a9b0536e27f73E - local.set 114 + local.get 4 + i32.load offset=4 + local.set 10 + local.get 10 + i32.load + local.set 11 + local.get 4 + local.get 11 + i32.store offset=12 i32.const 1 - local.set 115 - local.get 114 - local.get 115 - i32.and - local.set 116 + local.set 12 local.get 4 - local.get 116 - i32.store8 offset=39 + local.get 12 + i32.store offset=8 end local.get 4 - i32.load8_u offset=39 - local.set 117 - i32.const 1 - local.set 118 - local.get 117 - local.get 118 - i32.and - local.set 119 - i32.const 192 - local.set 120 + i32.load offset=8 + local.set 13 local.get 4 - local.get 120 - i32.add - local.set 121 - local.get 121 - global.set $__stack_pointer - local.get 119 + i32.load offset=12 + local.set 14 + local.get 0 + local.get 14 + i32.store offset=4 + local.get 0 + local.get 13 + i32.store return) - (func $_ZN4core4char7methods15encode_utf8_raw17hac75b2f6d3db370fE (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h81ed307bba01b2a8E (type 5) (param i32 i32 i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer - local.set 4 - i32.const 128 - local.set 5 - local.get 4 - local.get 5 - i32.sub local.set 6 + i32.const 16 + local.set 7 local.get 6 + local.get 7 + i32.sub + local.set 8 + local.get 8 global.set $__stack_pointer - local.get 6 local.get 1 - i32.store offset=16 - local.get 6 - i32.load offset=16 - local.set 7 - i32.const 128 - local.set 8 - local.get 7 local.set 9 - local.get 8 + local.get 2 local.set 10 local.get 9 local.get 10 - i32.lt_u + i32.gt_u local.set 11 i32.const 1 local.set 12 @@ -1149,3665 +577,863 @@ block ;; label = @1 block ;; label = @2 block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - local.get 13 - br_if 0 (;@8;) - i32.const 2048 - local.set 14 - local.get 7 - local.set 15 - local.get 14 - local.set 16 - local.get 15 - local.get 16 - i32.lt_u - local.set 17 - i32.const 1 - local.set 18 - local.get 17 - local.get 18 - i32.and - local.set 19 - local.get 19 - br_if 2 (;@6;) - br 1 (;@7;) - end - i32.const 1 - local.set 20 - local.get 6 - local.get 20 - i32.store offset=20 - br 6 (;@1;) - end - i32.const 65536 - local.set 21 - local.get 7 - local.set 22 - local.get 21 - local.set 23 - local.get 22 - local.get 23 - i32.lt_u - local.set 24 - i32.const 1 - local.set 25 - local.get 24 - local.get 25 - i32.and - local.set 26 - local.get 26 - br_if 2 (;@4;) - br 1 (;@5;) - end - i32.const 2 - local.set 27 - local.get 6 - local.get 27 - i32.store offset=20 - br 3 (;@2;) - end - i32.const 4 - local.set 28 - local.get 6 - local.get 28 - i32.store offset=20 - br 1 (;@3;) - end - i32.const 3 - local.set 29 - local.get 6 - local.get 29 - i32.store offset=20 + local.get 13 + br_if 0 (;@3;) + local.get 2 + local.set 14 + local.get 4 + local.set 15 + local.get 14 + local.get 15 + i32.gt_u + local.set 16 + i32.const 1 + local.set 17 + local.get 16 + local.get 17 + i32.and + local.set 18 + local.get 18 + br_if 2 (;@1;) + br 1 (;@2;) end + local.get 1 + local.get 2 + local.get 5 + call $_ZN4core5slice5index22slice_index_order_fail17h511e34aef03a49cbE + unreachable end + local.get 2 + local.get 1 + i32.sub + local.set 19 + local.get 3 + local.get 1 + i32.add + local.set 20 + local.get 8 + local.get 20 + i32.store offset=8 + local.get 8 + local.get 19 + i32.store offset=12 + local.get 8 + i32.load offset=8 + local.set 21 + local.get 8 + i32.load offset=12 + local.set 22 + local.get 8 + local.get 21 + i32.store + local.get 8 + local.get 22 + i32.store offset=4 + local.get 8 + i32.load + local.set 23 + local.get 8 + i32.load offset=4 + local.set 24 + local.get 0 + local.get 24 + i32.store offset=4 + local.get 0 + local.get 23 + i32.store + i32.const 16 + local.set 25 + local.get 8 + local.get 25 + i32.add + local.set 26 + local.get 26 + global.set $__stack_pointer + return end - local.get 6 - i32.load offset=20 - local.set 30 - local.get 6 - local.get 30 - i32.store offset=24 - local.get 6 local.get 2 - i32.store offset=28 - i32.const 32 - local.set 31 - local.get 6 - local.get 31 - i32.add - local.set 32 - local.get 32 + local.get 4 + local.get 5 + call $_ZN4core5slice5index24slice_end_index_len_fail17h6448231a3cf176e8E + unreachable) + (func $_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter_nested..SpecFromIterNested$LT$T$C$I$GT$$GT$9from_iter17h6f338b4443ee7d7bE (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 3 + i32.const 96 + local.set 4 local.get 3 - i32.store + local.get 4 + i32.sub + local.set 5 + local.get 5 + global.set $__stack_pointer + local.get 5 + local.get 1 + i32.store offset=8 + local.get 5 + local.get 2 + i32.store offset=12 + i32.const 28 + local.set 6 + local.get 5 local.get 6 - i32.load offset=24 - local.set 33 - i32.const -1 - local.set 34 - local.get 33 - local.get 34 i32.add - local.set 35 - i32.const 3 - local.set 36 - local.get 35 - local.get 36 - i32.gt_u - drop + local.set 7 + local.get 7 + local.set 8 + i32.const 8 + local.set 9 + local.get 5 + local.get 9 + i32.add + local.set 10 + local.get 10 + local.set 11 + local.get 8 + local.get 11 + call $_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h02dbb3e914644c64E + local.get 5 + i32.load offset=32 + local.set 12 + i32.const 1 + local.set 13 + local.get 12 + local.set 14 + local.get 13 + local.set 15 + local.get 14 + local.get 15 + i32.eq + local.set 16 + i32.const 1 + local.set 17 + local.get 16 + local.get 17 + i32.and + local.set 18 block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - local.get 35 - br_table 0 (;@10;) 1 (;@9;) 2 (;@8;) 3 (;@7;) 9 (;@1;) - end - local.get 6 - i32.load offset=32 - local.set 37 - i32.const 1 - local.set 38 - local.get 37 - local.set 39 - local.get 38 - local.set 40 - local.get 39 - local.get 40 - i32.ge_u - local.set 41 - i32.const 1 - local.set 42 - local.get 41 - local.get 42 - i32.and - local.set 43 - local.get 43 - br_if 3 (;@6;) - br 8 (;@1;) - end - local.get 6 - i32.load offset=32 - local.set 44 - i32.const 2 - local.set 45 - local.get 44 - local.set 46 - local.get 45 - local.set 47 - local.get 46 - local.get 47 - i32.ge_u - local.set 48 - i32.const 1 - local.set 49 - local.get 48 - local.get 49 - i32.and - local.set 50 - local.get 50 - br_if 3 (;@5;) - br 7 (;@1;) - end - local.get 6 - i32.load offset=32 - local.set 51 - i32.const 3 - local.set 52 - local.get 51 - local.set 53 - local.get 52 - local.set 54 - local.get 53 - local.get 54 - i32.ge_u - local.set 55 - i32.const 1 - local.set 56 - local.get 55 - local.get 56 - i32.and - local.set 57 - local.get 57 - br_if 3 (;@4;) - br 6 (;@1;) - end - local.get 6 - i32.load offset=32 - local.set 58 - i32.const 4 - local.set 59 - local.get 58 - local.set 60 - local.get 59 - local.set 61 - local.get 60 - local.get 61 - i32.ge_u - local.set 62 - i32.const 1 - local.set 63 - local.get 62 - local.get 63 - i32.and - local.set 64 - local.get 64 - br_if 3 (;@3;) - br 5 (;@1;) - end - local.get 6 - i32.load offset=28 - local.set 65 - local.get 6 - i32.load offset=16 - local.set 66 - local.get 65 - local.get 66 - i32.store8 - br 3 (;@2;) - end - local.get 6 - i32.load offset=28 - local.set 67 - local.get 6 - i32.load offset=16 - local.set 68 - i32.const 6 - local.set 69 - local.get 68 - local.get 69 - i32.shr_u - local.set 70 - i32.const 31 - local.set 71 - local.get 70 - local.get 71 - i32.and - local.set 72 - i32.const 192 - local.set 73 - local.get 72 - local.get 73 - i32.or - local.set 74 - local.get 67 - local.get 74 - i32.store8 - local.get 6 - i32.load8_u offset=16 - local.set 75 - i32.const 63 - local.set 76 - local.get 75 - local.get 76 - i32.and - local.set 77 - i32.const -128 - local.set 78 - local.get 77 - local.get 78 - i32.or - local.set 79 - local.get 67 - local.get 79 - i32.store8 offset=1 - br 2 (;@2;) - end - local.get 6 - i32.load offset=28 - local.set 80 - local.get 6 - i32.load offset=16 - local.set 81 - i32.const 12 - local.set 82 - local.get 81 - local.get 82 - i32.shr_u - local.set 83 - i32.const 15 - local.set 84 - local.get 83 - local.get 84 - i32.and - local.set 85 - i32.const 224 - local.set 86 - local.get 85 - local.get 86 - i32.or - local.set 87 - local.get 80 - local.get 87 - i32.store8 - local.get 6 - i32.load offset=16 - local.set 88 - i32.const 6 - local.set 89 - local.get 88 - local.get 89 - i32.shr_u - local.set 90 - i32.const 63 - local.set 91 - local.get 90 - local.get 91 - i32.and - local.set 92 - i32.const 128 - local.set 93 - local.get 92 - local.get 93 - i32.or - local.set 94 - local.get 80 - local.get 94 - i32.store8 offset=1 - local.get 6 - i32.load8_u offset=16 - local.set 95 - local.get 95 - local.get 91 - i32.and - local.set 96 - i32.const -128 - local.set 97 - local.get 96 - local.get 97 - i32.or - local.set 98 - local.get 80 - local.get 98 - i32.store8 offset=2 - br 1 (;@2;) - end - local.get 6 - i32.load offset=28 - local.set 99 - local.get 6 - i32.load offset=16 - local.set 100 - i32.const 18 - local.set 101 - local.get 100 - local.get 101 - i32.shr_u - local.set 102 - i32.const 7 - local.set 103 - local.get 102 - local.get 103 - i32.and - local.set 104 - i32.const 240 - local.set 105 - local.get 104 - local.get 105 - i32.or - local.set 106 - local.get 99 - local.get 106 - i32.store8 - local.get 6 - i32.load offset=16 - local.set 107 - i32.const 12 - local.set 108 - local.get 107 - local.get 108 - i32.shr_u - local.set 109 - i32.const 63 - local.set 110 - local.get 109 - local.get 110 - i32.and - local.set 111 - i32.const 128 - local.set 112 - local.get 111 - local.get 112 - i32.or - local.set 113 - local.get 99 - local.get 113 - i32.store8 offset=1 - local.get 6 - i32.load offset=16 - local.set 114 - i32.const 6 - local.set 115 - local.get 114 - local.get 115 - i32.shr_u - local.set 116 - local.get 116 - local.get 110 - i32.and - local.set 117 - local.get 117 - local.get 112 - i32.or - local.set 118 - local.get 99 - local.get 118 - i32.store8 offset=2 - local.get 6 - i32.load8_u offset=16 - local.set 119 - local.get 119 - local.get 110 - i32.and - local.set 120 - i32.const -128 - local.set 121 - local.get 120 - local.get 121 - i32.or - local.set 122 - local.get 99 - local.get 122 - i32.store8 offset=3 - end - local.get 6 - i32.load offset=20 - local.set 123 - local.get 6 - local.get 123 - i32.store offset=116 - local.get 6 - i32.load offset=116 - local.set 124 - i32.const 0 - local.set 125 - local.get 6 - local.get 125 - i32.store offset=120 - local.get 6 - local.get 124 - i32.store offset=124 - local.get 6 - i32.load offset=120 - local.set 126 - local.get 6 - i32.load offset=124 - local.set 127 - i32.const 1049096 - local.set 128 - i32.const 8 - local.set 129 - local.get 6 - local.get 129 - i32.add - local.set 130 - local.get 130 - local.get 126 - local.get 127 - local.get 2 - local.get 3 - local.get 128 - call $_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hc3b80b5e55e05a91E - local.get 6 - i32.load offset=8 - local.set 131 - local.get 6 - i32.load offset=12 - local.set 132 - local.get 0 - local.get 132 - i32.store offset=4 - local.get 0 - local.get 131 - i32.store - i32.const 128 - local.set 133 - local.get 6 - local.get 133 - i32.add - local.set 134 - local.get 134 - global.set $__stack_pointer - return - end - i32.const 20 - local.set 135 - local.get 6 - local.get 135 - i32.add - local.set 136 - local.get 136 - local.set 137 - local.get 6 - local.get 137 - i32.store offset=88 - i32.const 2 - local.set 138 - local.get 6 - local.get 138 - i32.store offset=92 - i32.const 16 - local.set 139 - local.get 6 - local.get 139 - i32.add - local.set 140 - local.get 140 - local.set 141 - local.get 6 - local.get 141 - i32.store offset=96 - i32.const 3 - local.set 142 - local.get 6 - local.get 142 - i32.store offset=100 - local.get 6 - local.get 3 - i32.store offset=112 - i32.const 112 - local.set 143 - local.get 6 - local.get 143 - i32.add - local.set 144 - local.get 144 - local.set 145 - local.get 6 - local.get 145 - i32.store offset=104 - i32.const 2 - local.set 146 - local.get 6 - local.get 146 - i32.store offset=108 - local.get 6 - i32.load offset=88 - local.set 147 - local.get 6 - i32.load offset=92 - local.set 148 - local.get 6 - local.get 147 - i32.store offset=64 - local.get 6 - local.get 148 - i32.store offset=68 - local.get 6 - i32.load offset=96 - local.set 149 - local.get 6 - i32.load offset=100 - local.set 150 - local.get 6 - local.get 149 - i32.store offset=72 - local.get 6 - local.get 150 - i32.store offset=76 - local.get 6 - i32.load offset=104 - local.set 151 - local.get 6 - i32.load offset=108 - local.set 152 - local.get 6 - local.get 151 - i32.store offset=80 - local.get 6 - local.get 152 - i32.store offset=84 - i32.const 40 - local.set 153 - local.get 6 - local.get 153 - i32.add - local.set 154 - local.get 154 - local.set 155 - i32.const 1049172 - local.set 156 - i32.const 3 - local.set 157 - i32.const 64 - local.set 158 - local.get 6 - local.get 158 - i32.add - local.set 159 - local.get 159 - local.set 160 - local.get 155 - local.get 156 - local.get 157 - local.get 160 - local.get 157 - call $_ZN4core3fmt9Arguments6new_v117h9013fe1fe120800fE - i32.const 40 - local.set 161 - local.get 6 - local.get 161 - i32.add - local.set 162 - local.get 162 - local.set 163 - i32.const 1049196 - local.set 164 - local.get 163 - local.get 164 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E - unreachable) - (func $_ZN4core4iter6traits8iterator8Iterator6cloned17hbddc5cbb562d5c41E (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 3 - i32.const 16 - local.set 4 - local.get 3 - local.get 4 - i32.sub - local.set 5 - local.get 5 - local.get 1 - i32.store offset=8 - local.get 5 - local.get 2 - i32.store offset=12 - local.get 5 - i32.load offset=8 - local.set 6 - local.get 5 - i32.load offset=12 - local.set 7 - local.get 0 - local.get 7 - i32.store offset=4 - local.get 0 - local.get 6 - i32.store - return) - (func $_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$6chunks17h8af6da62acddedfeE (type 5) (param i32 i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 5 - i32.const 64 - local.set 6 - local.get 5 - local.get 6 - i32.sub - local.set 7 - local.get 7 - global.set $__stack_pointer - i32.const 0 - local.set 8 - local.get 3 - local.set 9 - local.get 8 - local.set 10 - local.get 9 - local.get 10 - i32.ne - local.set 11 - i32.const -1 - local.set 12 - local.get 11 - local.get 12 - i32.xor - local.set 13 - i32.const 1 - local.set 14 - local.get 13 - local.get 14 - i32.and - local.set 15 - block ;; label = @1 - local.get 15 - br_if 0 (;@1;) - local.get 0 - local.get 1 - i32.store - local.get 0 - local.get 2 - i32.store offset=4 - local.get 0 - local.get 3 - i32.store offset=8 - i32.const 64 - local.set 16 - local.get 7 - local.get 16 - i32.add - local.set 17 - local.get 17 - global.set $__stack_pointer - return - end - i32.const 0 - local.set 18 - i32.const 1 - local.set 19 - local.get 18 - local.get 19 - i32.and - local.set 20 - block ;; label = @1 - local.get 20 - br_if 0 (;@1;) - i32.const 0 - local.set 21 - local.get 7 - local.get 21 - i32.store offset=56 - i32.const 1049240 - local.set 22 - local.get 7 - local.get 22 - i32.store offset=8 - i32.const 1 - local.set 23 - local.get 7 - local.get 23 - i32.store offset=12 - local.get 7 - i32.load offset=56 - local.set 24 - local.get 7 - i32.load offset=60 - local.set 25 - local.get 7 - local.get 24 - i32.store offset=24 - local.get 7 - local.get 25 - i32.store offset=28 - i32.const 1048604 - local.set 26 - local.get 7 - local.get 26 - i32.store offset=16 - i32.const 0 - local.set 27 - local.get 7 - local.get 27 - i32.store offset=20 - i32.const 8 - local.set 28 - local.get 7 - local.get 28 - i32.add - local.set 29 - local.get 29 - local.set 30 - local.get 30 - local.get 4 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E - unreachable - end - i32.const 32 - local.set 31 - local.get 7 - local.get 31 - i32.add - local.set 32 - local.get 32 - local.set 33 - i32.const 1048728 - local.set 34 - i32.const 1 - local.set 35 - local.get 33 - local.get 34 - local.get 35 - call $_ZN4core3fmt9Arguments9new_const17h79371856f0b177bdE - i32.const 32 - local.set 36 - local.get 7 - local.get 36 - i32.add - local.set 37 - local.get 37 - local.set 38 - i32.const 1048812 - local.set 39 - local.get 38 - local.get 39 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E - unreachable) - (func $_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$8split_at17h3d53192321e14ca9E (type 5) (param i32 i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 5 - i32.const 32 - local.set 6 - local.get 5 - local.get 6 - i32.sub - local.set 7 - local.get 7 - global.set $__stack_pointer - local.get 3 - local.set 8 - local.get 2 - local.set 9 - local.get 8 - local.get 9 - i32.le_u - local.set 10 - i32.const -1 - local.set 11 - local.get 10 - local.get 11 - i32.xor - local.set 12 - i32.const 1 - local.set 13 - local.get 12 - local.get 13 - i32.and - local.set 14 - block ;; label = @1 - local.get 14 - br_if 0 (;@1;) - local.get 7 - local.get 1 - i32.store offset=8 - local.get 7 - local.get 3 - i32.store offset=12 - local.get 7 - i32.load offset=8 - local.set 15 - local.get 7 - i32.load offset=12 - local.set 16 - local.get 7 - local.get 15 - i32.store - local.get 7 - local.get 16 - i32.store offset=4 - local.get 7 - i32.load - local.set 17 - local.get 7 - i32.load offset=4 - local.set 18 - local.get 1 - local.get 3 - i32.add - local.set 19 - local.get 2 - local.get 3 - i32.sub - local.set 20 - local.get 7 - local.get 19 - i32.store offset=24 - local.get 7 - local.get 20 - i32.store offset=28 - local.get 7 - i32.load offset=24 - local.set 21 - local.get 7 - i32.load offset=28 - local.set 22 - local.get 7 - local.get 21 - i32.store offset=16 - local.get 7 - local.get 22 - i32.store offset=20 - local.get 7 - i32.load offset=16 - local.set 23 - local.get 7 - i32.load offset=20 - local.set 24 - local.get 0 - local.get 17 - i32.store - local.get 0 - local.get 18 - i32.store offset=4 - local.get 0 - local.get 23 - i32.store offset=8 - local.get 0 - local.get 24 - i32.store offset=12 - i32.const 32 - local.set 25 - local.get 7 - local.get 25 - i32.add - local.set 26 - local.get 26 - global.set $__stack_pointer - return - end - i32.const 1049248 - local.set 27 - i32.const 35 - local.set 28 - local.get 27 - local.get 28 - local.get 4 - call $_ZN4core9panicking5panic17hfd6e422134ee8ce5E - unreachable) - (func $_ZN4core5slice4iter87_$LT$impl$u20$core..iter..traits..collect..IntoIterator$u20$for$u20$$RF$$u5b$T$u5d$$GT$9into_iter17h5654324773eaa719E (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 3 - i32.const 16 - local.set 4 - local.get 3 - local.get 4 - i32.sub - local.set 5 - i32.const 0 - local.set 6 - i32.const 1 - local.set 7 - local.get 6 - local.get 7 - i32.and - local.set 8 - block ;; label = @1 - block ;; label = @2 - local.get 8 - br_if 0 (;@2;) - local.get 1 - local.get 2 - i32.add - local.set 9 - local.get 5 - local.get 9 - i32.store offset=8 - br 1 (;@1;) - end - local.get 5 - local.get 2 - i32.store offset=8 - end - local.get 5 - local.get 1 - i32.store offset=12 - local.get 5 - i32.load offset=8 - local.set 10 - local.get 5 - i32.load offset=12 - local.set 11 - local.get 5 - local.get 11 - i32.store - local.get 5 - local.get 10 - i32.store offset=4 - local.get 5 - i32.load - local.set 12 - local.get 5 - i32.load offset=4 - local.set 13 - local.get 0 - local.get 13 - i32.store offset=4 - local.get 0 - local.get 12 - i32.store - return) - (func $_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17hfdb9f03fedf2e165E (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 3 - i32.const 32 - local.set 4 - local.get 3 - local.get 4 - i32.sub - local.set 5 - local.get 5 - global.set $__stack_pointer - i32.const 0 - local.set 6 - i32.const 8 - local.set 7 - local.get 5 - local.get 7 - i32.add - local.set 8 - local.get 8 - local.get 2 - local.get 6 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17had64134155597456E - local.get 5 - i32.load offset=12 - local.set 9 - local.get 5 - i32.load offset=8 - local.set 10 - local.get 5 - local.get 10 - i32.store offset=16 - local.get 5 - local.get 9 - i32.store offset=20 - i32.const 0 - local.set 11 - local.get 5 - local.get 11 - i32.store offset=24 - local.get 5 - i32.load offset=16 - local.set 12 - i32.const 0 - local.set 13 - local.get 2 - local.get 13 - i32.shl - local.set 14 - local.get 12 - local.get 1 - local.get 14 - call $memcpy - drop - local.get 5 - local.get 2 - i32.store offset=24 - local.get 5 - i64.load offset=16 - local.set 15 - local.get 0 - local.get 15 - i64.store align=4 - i32.const 8 - local.set 16 - local.get 0 - local.get 16 - i32.add - local.set 17 - i32.const 16 - local.set 18 - local.get 5 - local.get 18 - i32.add - local.set 19 - local.get 19 - local.get 16 - i32.add - local.set 20 - local.get 20 - i32.load - local.set 21 - local.get 17 - local.get 21 - i32.store - i32.const 32 - local.set 22 - local.get 5 - local.get 22 - i32.add - local.set 23 - local.get 23 - global.set $__stack_pointer - return) - (func $_ZN59_$LT$alloc..alloc..Global$u20$as$u20$core..clone..Clone$GT$5clone17hb7397bf6d37ee229E (type 6) (param i32) - return) - (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$14extend_trusted17ha1a2256a8f2f7fc5E (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 3 - i32.const 112 - local.set 4 - local.get 3 - local.get 4 - i32.sub - local.set 5 - local.get 5 - global.set $__stack_pointer - local.get 5 - local.get 1 - i32.store - local.get 5 - local.get 2 - i32.store offset=4 - i32.const 16 - local.set 6 - local.get 5 - local.get 6 - i32.add - local.set 7 - local.get 7 - local.set 8 - local.get 5 - local.set 9 - local.get 8 - local.get 9 - call $_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h2be38d3b49ea97dfE - local.get 5 - i32.load offset=20 - local.set 10 - local.get 5 - i32.load offset=24 - local.set 11 - local.get 5 - local.get 10 - i32.store offset=8 - local.get 5 - local.get 11 - i32.store offset=12 - local.get 5 - i32.load offset=8 - local.set 12 - i32.const 1 - local.set 13 - local.get 12 - local.set 14 - local.get 13 - local.set 15 - local.get 14 - local.get 15 - i32.eq - local.set 16 - i32.const 1 - local.set 17 - local.get 16 - local.get 17 - i32.and - local.set 18 - block ;; label = @1 - local.get 18 - i32.eqz - br_if 0 (;@1;) - local.get 5 - i32.load offset=12 - local.set 19 - local.get 0 - local.get 19 - call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h1f90422e1c813c30E - local.get 0 - i32.load - local.set 20 - i32.const 8 - local.set 21 - local.get 0 - local.get 21 - i32.add - local.set 22 - local.get 0 - i32.load offset=8 - local.set 23 - local.get 5 - local.get 22 - i32.store offset=32 - local.get 5 - local.get 23 - i32.store offset=36 - local.get 5 - i32.load - local.set 24 - local.get 5 - i32.load offset=4 - local.set 25 - local.get 5 - local.get 20 - i32.store offset=48 - local.get 5 - i32.load offset=32 - local.set 26 - local.get 5 - i32.load offset=36 - local.set 27 - local.get 5 - local.get 26 - i32.store offset=40 - local.get 5 - local.get 27 - i32.store offset=44 - i32.const 40 - local.set 28 - local.get 5 - local.get 28 - i32.add - local.set 29 - local.get 29 - local.set 30 - local.get 24 - local.get 25 - local.get 30 - call $_ZN4core4iter6traits8iterator8Iterator8for_each17hab86fcec26390965E - i32.const 112 - local.set 31 - local.get 5 - local.get 31 - i32.add - local.set 32 - local.get 32 - global.set $__stack_pointer - return - end - i32.const 0 - local.set 33 - i32.const 1 - local.set 34 - local.get 33 - local.get 34 - i32.and - local.set 35 - block ;; label = @1 - local.get 35 - br_if 0 (;@1;) - i32.const 0 - local.set 36 - local.get 5 - local.get 36 - i32.store offset=104 - i32.const 1048596 - local.set 37 - local.get 5 - local.get 37 - i32.store offset=56 - i32.const 1 - local.set 38 - local.get 5 - local.get 38 - i32.store offset=60 - local.get 5 - i32.load offset=104 - local.set 39 - local.get 5 - i32.load offset=108 - local.set 40 - local.get 5 - local.get 39 - i32.store offset=72 - local.get 5 - local.get 40 - i32.store offset=76 - i32.const 1048604 - local.set 41 - local.get 5 - local.get 41 - i32.store offset=64 - i32.const 0 - local.set 42 - local.get 5 - local.get 42 - i32.store offset=68 - i32.const 56 - local.set 43 - local.get 5 - local.get 43 - i32.add - local.set 44 - local.get 44 - local.set 45 - i32.const 1049532 - local.set 46 - local.get 45 - local.get 46 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E - unreachable - end - i32.const 80 - local.set 47 - local.get 5 - local.get 47 - i32.add - local.set 48 - local.get 48 - local.set 49 - i32.const 1048728 - local.set 50 - i32.const 1 - local.set 51 - local.get 49 - local.get 50 - local.get 51 - call $_ZN4core3fmt9Arguments9new_const17h79371856f0b177bdE - i32.const 80 - local.set 52 - local.get 5 - local.get 52 - i32.add - local.set 53 - local.get 53 - local.set 54 - i32.const 1048812 - local.set 55 - local.get 54 - local.get 55 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E - unreachable) - (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h1f90422e1c813c30E (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 2 - i32.const 16 - local.set 3 - local.get 2 - local.get 3 - i32.sub - local.set 4 - local.get 4 - global.set $__stack_pointer - local.get 0 - i32.load offset=8 - local.set 5 - i32.const 0 - local.set 6 - i32.const 1 - local.set 7 - local.get 6 - local.get 7 - i32.and - local.set 8 - block ;; label = @1 - block ;; label = @2 - local.get 8 - br_if 0 (;@2;) - local.get 0 - i32.load offset=4 - local.set 9 - local.get 4 - local.get 9 - i32.store offset=12 - br 1 (;@1;) - end - i32.const -1 - local.set 10 - local.get 4 - local.get 10 - i32.store offset=12 - end - local.get 4 - i32.load offset=12 - local.set 11 - local.get 11 - local.get 5 - i32.sub - local.set 12 - local.get 1 - local.set 13 - local.get 12 - local.set 14 - local.get 13 - local.get 14 - i32.gt_u - local.set 15 - i32.const 1 - local.set 16 - local.get 15 - local.get 16 - i32.and - local.set 17 - block ;; label = @1 - local.get 17 - i32.eqz - br_if 0 (;@1;) - local.get 0 - local.get 5 - local.get 1 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17hcc9f16f24197b390E - end - i32.const 16 - local.set 18 - local.get 4 - local.get 18 - i32.add - local.set 19 - local.get 19 - global.set $__stack_pointer - return) - (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$14extend_trusted28_$u7b$$u7b$closure$u7d$$u7d$17h312a1cc67cc7b177E (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32) - local.get 0 - i32.load offset=8 - local.set 2 - local.get 0 - i32.load offset=4 - local.set 3 - local.get 2 - local.get 3 - i32.add - local.set 4 - local.get 1 - local.set 5 - local.get 4 - local.get 5 - i32.store8 - local.get 0 - i32.load offset=4 - local.set 6 - i32.const 1 - local.set 7 - local.get 6 - local.get 7 - i32.add - local.set 8 - local.get 0 - local.get 8 - i32.store offset=4 - return) - (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hfe1f54dd7402a16eE (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 3 - i32.const 16 - local.set 4 - local.get 3 - local.get 4 - i32.sub - local.set 5 - local.get 5 - global.set $__stack_pointer - i32.const 0 - local.set 6 - i32.const 1 - local.set 7 - local.get 6 - local.get 7 - i32.and - local.set 8 - block ;; label = @1 - block ;; label = @2 - local.get 8 - br_if 0 (;@2;) - local.get 1 - local.get 2 - i32.add - local.set 9 - local.get 5 - local.get 9 - i32.store offset=8 - br 1 (;@1;) - end - local.get 5 - local.get 2 - i32.store offset=8 - end - local.get 5 - local.get 1 - i32.store offset=12 - local.get 5 - i32.load offset=8 - local.set 10 - local.get 5 - i32.load offset=12 - local.set 11 - local.get 5 - local.get 11 - i32.store - local.get 5 - local.get 10 - i32.store offset=4 - local.get 5 - i32.load - local.set 12 - local.get 5 - i32.load offset=4 - local.set 13 - local.get 0 - local.get 12 - local.get 13 - call $_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17h7b6c970189b9c71bE - i32.const 16 - local.set 14 - local.get 5 - local.get 14 - i32.add - local.set 15 - local.get 15 - global.set $__stack_pointer - return) - (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd9436460a6029ec3E (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 2 - i32.const 16 - local.set 3 - local.get 2 - local.get 3 - i32.sub - local.set 4 - local.get 4 - global.set $__stack_pointer - local.get 0 - i32.load offset=8 - local.set 5 - i32.const 0 - local.set 6 - i32.const 1 - local.set 7 - local.get 6 - local.get 7 - i32.and - local.set 8 - block ;; label = @1 - block ;; label = @2 - local.get 8 - br_if 0 (;@2;) - local.get 0 - i32.load offset=4 - local.set 9 - local.get 4 - local.get 9 - i32.store offset=12 - br 1 (;@1;) - end - i32.const -1 - local.set 10 - local.get 4 - local.get 10 - i32.store offset=12 - end - local.get 4 - i32.load offset=12 - local.set 11 - local.get 5 - local.set 12 - local.get 11 - local.set 13 - local.get 12 - local.get 13 - i32.eq - local.set 14 - i32.const 1 - local.set 15 - local.get 14 - local.get 15 - i32.and - local.set 16 - block ;; label = @1 - local.get 16 - i32.eqz - br_if 0 (;@1;) - local.get 0 - i32.load offset=8 - local.set 17 - local.get 0 - local.get 17 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h3c7c9a1dbde60296E - end - local.get 0 - i32.load - local.set 18 - local.get 0 - i32.load offset=8 - local.set 19 - local.get 18 - local.get 19 - i32.add - local.set 20 - local.get 20 - local.get 1 - i32.store8 - local.get 0 - i32.load offset=8 - local.set 21 - i32.const 1 - local.set 22 - local.get 21 - local.get 22 - i32.add - local.set 23 - local.get 0 - local.get 23 - i32.store offset=8 - i32.const 16 - local.set 24 - local.get 4 - local.get 24 - i32.add - local.set 25 - local.get 25 - global.set $__stack_pointer - return) - (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$8as_slice17h8471d104d41e3a2aE (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 2 - i32.const 16 - local.set 3 - local.get 2 - local.get 3 - i32.sub - local.set 4 - local.get 1 - i32.load - local.set 5 - local.get 1 - i32.load offset=8 - local.set 6 - local.get 4 - local.get 5 - i32.store offset=8 - local.get 4 - local.get 6 - i32.store offset=12 - local.get 4 - i32.load offset=8 - local.set 7 - local.get 4 - i32.load offset=12 - local.set 8 - local.get 4 - local.get 7 - i32.store - local.get 4 - local.get 8 - i32.store offset=4 - local.get 4 - i32.load - local.set 9 - local.get 4 - i32.load offset=4 - local.set 10 - local.get 0 - local.get 10 - i32.store offset=4 - local.get 0 - local.get 9 - i32.store - return) - (func $_ZN5alloc5alloc6Global10alloc_impl17hd3af88dafb6ddfb2E (type 5) (param i32 i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 5 - i32.const 144 - local.set 6 - local.get 5 - local.get 6 - i32.sub - local.set 7 - local.get 7 - global.set $__stack_pointer - local.get 7 - local.get 2 - i32.store offset=8 - local.get 7 - local.get 3 - i32.store offset=12 - local.get 7 - i32.load offset=12 - local.set 8 - block ;; label = @1 - block ;; label = @2 - local.get 8 - br_if 0 (;@2;) - local.get 7 - i32.load offset=8 - local.set 9 - local.get 7 - local.get 9 - i32.store offset=84 - local.get 7 - i32.load offset=84 - local.set 10 - local.get 7 - local.get 10 - i32.store offset=32 - local.get 7 - i32.load offset=32 - local.set 11 - local.get 7 - local.get 11 - i32.store offset=96 - i32.const 0 - local.set 12 - local.get 7 - local.get 12 - i32.store offset=100 - local.get 7 - i32.load offset=96 - local.set 13 - local.get 7 - i32.load offset=100 - local.set 14 - local.get 7 - local.get 13 - i32.store offset=88 - local.get 7 - local.get 14 - i32.store offset=92 - local.get 7 - i32.load offset=88 - local.set 15 - local.get 7 - i32.load offset=92 - local.set 16 - local.get 7 - local.get 15 - i32.store offset=24 - local.get 7 - local.get 16 - i32.store offset=28 - local.get 7 - i32.load offset=24 - local.set 17 - local.get 7 - i32.load offset=28 - local.set 18 - local.get 7 - local.get 17 - i32.store offset=16 - local.get 7 - local.get 18 - i32.store offset=20 - br 1 (;@1;) - end - local.get 4 - local.set 19 - block ;; label = @2 - block ;; label = @3 - local.get 19 - br_if 0 (;@3;) - local.get 7 - i32.load offset=8 - local.set 20 - local.get 7 - i32.load offset=12 - local.set 21 - local.get 7 - local.get 20 - i32.store offset=48 - local.get 7 - local.get 21 - i32.store offset=52 - i32.const 0 - local.set 22 - local.get 22 - i32.load8_u offset=1051317 - local.set 23 - local.get 7 - local.get 23 - i32.store8 offset=143 - local.get 7 - i32.load offset=52 - local.set 24 - local.get 7 - i32.load offset=48 - local.set 25 - local.get 7 - local.get 25 - i32.store offset=108 - local.get 7 - i32.load offset=108 - local.set 26 - local.get 24 - local.get 26 - call $__rust_alloc - local.set 27 - local.get 7 - local.get 27 - i32.store offset=36 - br 1 (;@2;) - end - local.get 7 - i32.load offset=8 - local.set 28 - local.get 7 - i32.load offset=12 - local.set 29 - local.get 7 - local.get 28 - i32.store offset=40 - local.get 7 - local.get 29 - i32.store offset=44 - local.get 7 - i32.load offset=44 - local.set 30 - local.get 7 - i32.load offset=40 - local.set 31 - local.get 7 - local.get 31 - i32.store offset=104 - local.get 7 - i32.load offset=104 - local.set 32 - local.get 30 - local.get 32 - call $__rust_alloc_zeroed - local.set 33 - local.get 7 - local.get 33 - i32.store offset=36 - end - local.get 7 - i32.load offset=36 - local.set 34 - local.get 7 - local.get 34 - i32.store offset=116 - local.get 7 - i32.load offset=116 - local.set 35 - i32.const 0 - local.set 36 - local.get 35 - local.set 37 - local.get 36 - local.set 38 - local.get 37 - local.get 38 - i32.eq - local.set 39 - i32.const -1 - local.set 40 - local.get 39 - local.get 40 - i32.xor - local.set 41 - i32.const 1 - local.set 42 - local.get 41 - local.get 42 - i32.and - local.set 43 - block ;; label = @2 - block ;; label = @3 - local.get 43 - br_if 0 (;@3;) - i32.const 0 - local.set 44 - local.get 7 - local.get 44 - i32.store offset=68 - br 1 (;@2;) - end - local.get 7 - local.get 34 - i32.store offset=112 - local.get 7 - i32.load offset=112 - local.set 45 - local.get 7 - local.get 45 - i32.store offset=68 - end - local.get 7 - i32.load offset=68 - local.set 46 - i32.const 0 - local.set 47 - i32.const 1 - local.set 48 - local.get 48 - local.get 47 - local.get 46 - select - local.set 49 - block ;; label = @2 - block ;; label = @3 - local.get 49 - br_if 0 (;@3;) - i32.const 0 - local.set 50 - local.get 7 - local.get 50 - i32.store offset=64 - br 1 (;@2;) - end - local.get 7 - i32.load offset=68 - local.set 51 - local.get 7 - local.get 51 - i32.store offset=64 - end - local.get 7 - i32.load offset=64 - local.set 52 - i32.const 1 - local.set 53 - i32.const 0 - local.set 54 - local.get 54 - local.get 53 - local.get 52 - select - local.set 55 - block ;; label = @2 - block ;; label = @3 - local.get 55 - br_if 0 (;@3;) - local.get 7 - i32.load offset=64 - local.set 56 - local.get 7 - local.get 56 - i32.store offset=60 - br 1 (;@2;) - end - i32.const 0 - local.set 57 - local.get 7 - local.get 57 - i32.store offset=60 - end - local.get 7 - i32.load offset=60 - local.set 58 - i32.const 1 - local.set 59 - i32.const 0 - local.set 60 - local.get 60 - local.get 59 - local.get 58 - select - local.set 61 - block ;; label = @2 - local.get 61 - br_if 0 (;@2;) - local.get 7 - i32.load offset=60 - local.set 62 - local.get 7 - local.get 62 - i32.store offset=128 - local.get 7 - local.get 8 - i32.store offset=132 - local.get 7 - i32.load offset=128 - local.set 63 - local.get 7 - i32.load offset=132 - local.set 64 - local.get 7 - local.get 63 - i32.store offset=120 - local.get 7 - local.get 64 - i32.store offset=124 - local.get 7 - i32.load offset=120 - local.set 65 - local.get 7 - i32.load offset=124 - local.set 66 - local.get 7 - local.get 65 - i32.store offset=72 - local.get 7 - local.get 66 - i32.store offset=76 - local.get 7 - i32.load offset=72 - local.set 67 - local.get 7 - i32.load offset=76 - local.set 68 - local.get 7 - local.get 67 - i32.store offset=16 - local.get 7 - local.get 68 - i32.store offset=20 - br 1 (;@1;) - end - i32.const 0 - local.set 69 - local.get 7 - local.get 69 - i32.store offset=16 - end - local.get 7 - i32.load offset=16 - local.set 70 - local.get 7 - i32.load offset=20 - local.set 71 - local.get 0 - local.get 71 - i32.store offset=4 - local.get 0 - local.get 70 - i32.store - i32.const 144 - local.set 72 - local.get 7 - local.get 72 - i32.add - local.set 73 - local.get 73 - global.set $__stack_pointer - return) - (func $_ZN5alloc5alloc6Global9grow_impl17h909a4700248201a3E (type 7) (param i32 i32 i32 i32 i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 8 - i32.const 144 - local.set 9 - local.get 8 - local.get 9 - i32.sub - local.set 10 - local.get 10 - global.set $__stack_pointer - local.get 10 - local.get 3 - i32.store offset=24 - local.get 10 - local.get 4 - i32.store offset=28 - local.get 10 - local.get 5 - i32.store offset=32 - local.get 10 - local.get 6 - i32.store offset=36 - local.get 10 - i32.load offset=28 - local.set 11 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - local.get 11 - br_if 0 (;@3;) - local.get 10 - i32.load offset=32 - local.set 12 - local.get 10 - i32.load offset=36 - local.set 13 - i32.const 1 - local.set 14 - local.get 7 - local.get 14 - i32.and - local.set 15 - i32.const 8 - local.set 16 - local.get 10 - local.get 16 - i32.add - local.set 17 - local.get 17 - local.get 1 - local.get 12 - local.get 13 - local.get 15 - call $_ZN5alloc5alloc6Global10alloc_impl17hd3af88dafb6ddfb2E - local.get 10 - i32.load offset=8 - local.set 18 - local.get 10 - i32.load offset=12 - local.set 19 - local.get 10 - local.get 19 - i32.store offset=44 - local.get 10 - local.get 18 - i32.store offset=40 - br 1 (;@2;) - end - local.get 10 - i32.load offset=24 - local.set 20 - local.get 10 - local.get 20 - i32.store offset=100 - local.get 10 - i32.load offset=100 - local.set 21 - local.get 10 - i32.load offset=32 - local.set 22 - local.get 10 - local.get 22 - i32.store offset=104 - local.get 10 - i32.load offset=104 - local.set 23 - local.get 21 - local.set 24 - local.get 23 - local.set 25 - local.get 24 - local.get 25 - i32.eq - local.set 26 - i32.const 1 - local.set 27 - local.get 26 - local.get 27 - i32.and - local.set 28 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - local.get 28 - br_if 0 (;@10;) - local.get 10 - i32.load offset=32 - local.set 29 - local.get 10 - i32.load offset=36 - local.set 30 - i32.const 1 - local.set 31 - local.get 7 - local.get 31 - i32.and - local.set 32 - i32.const 16 - local.set 33 - local.get 10 - local.get 33 - i32.add - local.set 34 - local.get 34 - local.get 1 - local.get 29 - local.get 30 - local.get 32 - call $_ZN5alloc5alloc6Global10alloc_impl17hd3af88dafb6ddfb2E - local.get 10 - i32.load offset=16 - local.set 35 - local.get 10 - i32.load offset=20 - local.set 36 - local.get 10 - local.get 36 - i32.store offset=92 - local.get 10 - local.get 35 - i32.store offset=88 - local.get 10 - i32.load offset=88 - local.set 37 - i32.const 1 - local.set 38 - i32.const 0 - local.set 39 - local.get 39 - local.get 38 - local.get 37 - select - local.set 40 - local.get 40 - i32.eqz - br_if 1 (;@9;) - br 2 (;@8;) - end - local.get 10 - i32.load offset=36 - local.set 41 - local.get 10 - i32.load offset=24 - local.set 42 - local.get 10 - i32.load offset=28 - local.set 43 - local.get 10 - local.get 42 - i32.store offset=48 - local.get 10 - local.get 43 - i32.store offset=52 - local.get 10 - i32.load offset=52 - local.set 44 - local.get 10 - i32.load offset=48 - local.set 45 - local.get 10 - local.get 45 - i32.store offset=108 - local.get 10 - i32.load offset=108 - local.set 46 - local.get 2 - local.get 44 - local.get 46 - local.get 41 - call $__rust_realloc - local.set 47 - local.get 10 - local.get 47 - i32.store offset=116 - local.get 10 - i32.load offset=116 - local.set 48 - i32.const 0 - local.set 49 - local.get 48 - local.set 50 - local.get 49 - local.set 51 - local.get 50 - local.get 51 - i32.eq - local.set 52 - i32.const -1 - local.set 53 - local.get 52 - local.get 53 - i32.xor - local.set 54 - i32.const 1 - local.set 55 - local.get 54 - local.get 55 - i32.and - local.set 56 - local.get 56 - br_if 4 (;@5;) - br 3 (;@6;) - end - local.get 10 - i32.load offset=88 - local.set 57 - local.get 10 - i32.load offset=92 - local.set 58 - local.get 10 - local.get 57 - i32.store offset=80 - local.get 10 - local.get 58 - i32.store offset=84 - br 1 (;@7;) - end - i32.const 0 - local.set 59 - local.get 10 - local.get 59 - i32.store offset=80 - end - local.get 10 - i32.load offset=80 - local.set 60 - i32.const 1 - local.set 61 - i32.const 0 - local.set 62 - local.get 62 - local.get 61 - local.get 60 - select - local.set 63 - block ;; label = @7 - local.get 63 - br_if 0 (;@7;) - local.get 10 - i32.load offset=80 - local.set 64 - local.get 10 - i32.load offset=84 - local.set 65 - local.get 10 - local.get 64 - i32.store offset=140 - local.get 10 - i32.load offset=140 - local.set 66 - i32.const 0 - local.set 67 - local.get 11 - local.get 67 - i32.shl - local.set 68 - local.get 66 - local.get 2 - local.get 68 - call $memcpy - drop - local.get 10 - i32.load offset=24 - local.set 69 - local.get 10 - i32.load offset=28 - local.set 70 - local.get 1 - local.get 2 - local.get 69 - local.get 70 - call $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha34b8860f87e0fefE - local.get 10 - local.get 64 - i32.store offset=40 - local.get 10 - local.get 65 - i32.store offset=44 - br 5 (;@2;) - end - i32.const 0 - local.set 71 - local.get 10 - local.get 71 - i32.store offset=40 - br 3 (;@3;) - end - i32.const 0 - local.set 72 - local.get 10 - local.get 72 - i32.store offset=68 - br 1 (;@4;) - end - local.get 10 - local.get 47 - i32.store offset=112 - local.get 10 - i32.load offset=112 - local.set 73 - local.get 10 - local.get 73 - i32.store offset=68 - end - local.get 10 - i32.load offset=68 - local.set 74 - i32.const 0 - local.set 75 - i32.const 1 - local.set 76 - local.get 76 - local.get 75 - local.get 74 - select - local.set 77 - block ;; label = @4 - block ;; label = @5 - local.get 77 - br_if 0 (;@5;) - i32.const 0 - local.set 78 - local.get 10 - local.get 78 - i32.store offset=64 - br 1 (;@4;) - end - local.get 10 - i32.load offset=68 - local.set 79 - local.get 10 - local.get 79 - i32.store offset=64 - end - local.get 10 - i32.load offset=64 - local.set 80 - i32.const 1 - local.set 81 - i32.const 0 - local.set 82 - local.get 82 - local.get 81 - local.get 80 - select - local.set 83 - block ;; label = @4 - block ;; label = @5 - local.get 83 - br_if 0 (;@5;) - local.get 10 - i32.load offset=64 - local.set 84 - local.get 10 - local.get 84 - i32.store offset=60 - br 1 (;@4;) - end - i32.const 0 - local.set 85 - local.get 10 - local.get 85 - i32.store offset=60 - end - local.get 10 - i32.load offset=60 - local.set 86 - i32.const 1 - local.set 87 - i32.const 0 - local.set 88 - local.get 88 - local.get 87 - local.get 86 - select - local.set 89 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - local.get 89 - br_if 0 (;@6;) - local.get 10 - i32.load offset=60 - local.set 90 - local.get 7 - local.set 91 - local.get 91 - br_if 1 (;@5;) - br 2 (;@4;) - end - i32.const 0 - local.set 92 - local.get 10 - local.get 92 - i32.store offset=40 - br 2 (;@3;) - end - local.get 47 - local.get 11 - i32.add - local.set 93 - local.get 41 - local.get 11 - i32.sub - local.set 94 - i32.const 0 - local.set 95 - local.get 94 - local.get 95 - i32.shl - local.set 96 - i32.const 0 - local.set 97 - local.get 93 - local.get 97 - local.get 96 - call $memset - drop - end - local.get 10 - local.get 90 - i32.store offset=128 - local.get 10 - local.get 41 - i32.store offset=132 - local.get 10 - i32.load offset=128 - local.set 98 - local.get 10 - i32.load offset=132 - local.set 99 - local.get 10 - local.get 98 - i32.store offset=120 - local.get 10 - local.get 99 - i32.store offset=124 - local.get 10 - i32.load offset=120 - local.set 100 - local.get 10 - i32.load offset=124 - local.set 101 - local.get 10 - local.get 100 - i32.store offset=72 - local.get 10 - local.get 101 - i32.store offset=76 - local.get 10 - i32.load offset=72 - local.set 102 - local.get 10 - i32.load offset=76 - local.set 103 - local.get 10 - local.get 102 - i32.store offset=40 - local.get 10 - local.get 103 - i32.store offset=44 - br 1 (;@2;) - end - br 1 (;@1;) - end - end - local.get 10 - i32.load offset=40 - local.set 104 - local.get 10 - i32.load offset=44 - local.set 105 - local.get 0 - local.get 105 - i32.store offset=4 - local.get 0 - local.get 104 - i32.store - i32.const 144 - local.set 106 - local.get 10 - local.get 106 - i32.add - local.set 107 - local.get 107 - global.set $__stack_pointer - return) - (func $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha34b8860f87e0fefE (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 4 - i32.const 32 - local.set 5 - local.get 4 - local.get 5 - i32.sub - local.set 6 - local.get 6 - global.set $__stack_pointer - local.get 6 - local.get 2 - i32.store offset=8 - local.get 6 - local.get 3 - i32.store offset=12 - local.get 6 - i32.load offset=12 - local.set 7 - block ;; label = @1 - block ;; label = @2 - local.get 7 - br_if 0 (;@2;) - br 1 (;@1;) - end - local.get 6 - i32.load offset=8 - local.set 8 - local.get 6 - i32.load offset=12 - local.set 9 - local.get 6 - local.get 8 - i32.store offset=16 - local.get 6 - local.get 9 - i32.store offset=20 - local.get 6 - i32.load offset=20 - local.set 10 - local.get 6 - i32.load offset=16 - local.set 11 - local.get 6 - local.get 11 - i32.store offset=28 - local.get 6 - i32.load offset=28 - local.set 12 - local.get 1 - local.get 10 - local.get 12 - call $__rust_dealloc - end - i32.const 32 - local.set 13 - local.get 6 - local.get 13 - i32.add - local.set 14 - local.get 14 - global.set $__stack_pointer - return) - (func $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h88a31ea60a58b27eE (type 0) (param i32 i32) - (local i64 i32 i32 i32 i32) - local.get 1 - i64.load align=4 - local.set 2 - local.get 0 - local.get 2 - i64.store align=4 - i32.const 8 - local.set 3 - local.get 0 - local.get 3 - i32.add - local.set 4 - local.get 1 - local.get 3 - i32.add - local.set 5 - local.get 5 - i32.load - local.set 6 - local.get 4 - local.get 6 - i32.store - return) - (func $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$15allocate_zeroed17h70217a4478737a54E (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 4 - i32.const 16 - local.set 5 - local.get 4 - local.get 5 - i32.sub - local.set 6 - local.get 6 - global.set $__stack_pointer - i32.const 1 - local.set 7 - i32.const 8 - local.set 8 - local.get 6 - local.get 8 - i32.add - local.set 9 - local.get 9 - local.get 1 - local.get 2 - local.get 3 - local.get 7 - call $_ZN5alloc5alloc6Global10alloc_impl17hd3af88dafb6ddfb2E - local.get 6 - i32.load offset=8 - local.set 10 - local.get 6 - i32.load offset=12 - local.set 11 - local.get 0 - local.get 11 - i32.store offset=4 - local.get 0 - local.get 10 - i32.store - i32.const 16 - local.set 12 - local.get 6 - local.get 12 - i32.add - local.set 13 - local.get 13 - global.set $__stack_pointer - return) - (func $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$4grow17hb9f3c84a0ccba891E (type 8) (param i32 i32 i32 i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 7 - i32.const 16 - local.set 8 - local.get 7 - local.get 8 - i32.sub - local.set 9 - local.get 9 - global.set $__stack_pointer - i32.const 0 - local.set 10 - i32.const 8 - local.set 11 - local.get 9 - local.get 11 - i32.add - local.set 12 - local.get 12 - local.get 1 - local.get 2 - local.get 3 - local.get 4 - local.get 5 - local.get 6 - local.get 10 - call $_ZN5alloc5alloc6Global9grow_impl17h909a4700248201a3E - local.get 9 - i32.load offset=8 - local.set 13 - local.get 9 - i32.load offset=12 - local.set 14 - local.get 0 - local.get 14 - i32.store offset=4 - local.get 0 - local.get 13 - i32.store - i32.const 16 - local.set 15 - local.get 9 - local.get 15 - i32.add - local.set 16 - local.get 16 - global.set $__stack_pointer - return) - (func $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$8allocate17h9dfc244b2f625c7dE (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 4 - i32.const 16 - local.set 5 - local.get 4 - local.get 5 - i32.sub - local.set 6 - local.get 6 - global.set $__stack_pointer - i32.const 0 - local.set 7 - i32.const 8 - local.set 8 - local.get 6 - local.get 8 - i32.add - local.set 9 - local.get 9 - local.get 1 - local.get 2 - local.get 3 - local.get 7 - call $_ZN5alloc5alloc6Global10alloc_impl17hd3af88dafb6ddfb2E - local.get 6 - i32.load offset=8 - local.set 10 - local.get 6 - i32.load offset=12 - local.set 11 - local.get 0 - local.get 11 - i32.store offset=4 - local.get 0 - local.get 10 - i32.store - i32.const 16 - local.set 12 - local.get 6 - local.get 12 - i32.add - local.set 13 - local.get 13 - global.set $__stack_pointer - return) - (func $_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h689488db186db2bbE (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 2 - i32.const 16 - local.set 3 - local.get 2 - local.get 3 - i32.sub - local.set 4 - local.get 4 - global.set $__stack_pointer - local.get 1 - call $_ZN59_$LT$alloc..alloc..Global$u20$as$u20$core..clone..Clone$GT$5clone17hb7397bf6d37ee229E - local.get 1 - i32.load - local.set 5 - local.get 1 - i32.load offset=8 - local.set 6 - local.get 4 - local.get 5 - i32.store offset=8 - local.get 4 - local.get 6 - i32.store offset=12 - local.get 4 - i32.load offset=8 - local.set 7 - local.get 4 - i32.load offset=12 - local.set 8 - local.get 4 - local.get 7 - i32.store - local.get 4 - local.get 8 - i32.store offset=4 - local.get 4 - i32.load - local.set 9 - local.get 4 - i32.load offset=4 - local.set 10 - local.get 0 - local.get 9 - local.get 10 - call $_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17hfdb9f03fedf2e165E - i32.const 16 - local.set 11 - local.get 4 - local.get 11 - i32.add - local.set 12 - local.get 12 - global.set $__stack_pointer - return) - (func $_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h0c1126cfc22d667fE (type 6) (param i32) - (local i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 1 - i32.const 16 - local.set 2 - local.get 1 - local.get 2 - i32.sub - local.set 3 - local.get 0 - i32.load - local.set 4 - local.get 0 - i32.load offset=8 - local.set 5 - local.get 3 - local.get 4 - i32.store offset=8 - local.get 3 - local.get 5 - i32.store offset=12 - local.get 3 - i32.load offset=8 - local.set 6 - local.get 3 - i32.load offset=12 - local.set 7 - local.get 3 - local.get 6 - i32.store - local.get 3 - local.get 7 - i32.store offset=4 - return) - (func $_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h1ccf366d00469879E (type 6) (param i32) - (local i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 1 - i32.const 16 - local.set 2 - local.get 1 - local.get 2 - i32.sub - local.set 3 - local.get 0 - i32.load - local.set 4 - local.get 0 - i32.load offset=8 - local.set 5 - local.get 3 - local.get 4 - i32.store offset=8 - local.get 3 - local.get 5 - i32.store offset=12 - local.get 3 - i32.load offset=8 - local.set 6 - local.get 3 - i32.load offset=12 - local.set 7 - local.get 3 - local.get 6 - i32.store - local.get 3 - local.get 7 - i32.store offset=4 - return) - (func $_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h011a47b0357983f6E (type 1) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 3 - i32.const 16 - local.set 4 - local.get 3 - local.get 4 - i32.sub - local.set 5 - local.get 5 - global.set $__stack_pointer - local.get 0 - i32.load - local.set 6 - local.get 0 - i32.load offset=8 - local.set 7 - local.get 5 - local.get 6 - i32.store offset=8 - local.get 5 - local.get 7 - i32.store offset=12 - local.get 5 - i32.load offset=8 - local.set 8 - local.get 5 - i32.load offset=12 - local.set 9 - local.get 5 - local.get 8 - i32.store - local.get 5 - local.get 9 - i32.store offset=4 - local.get 5 - i32.load - local.set 10 - local.get 5 - i32.load offset=4 - local.set 11 - local.get 1 - local.get 10 - local.get 11 - local.get 2 - call $_ZN75_$LT$usize$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hdc6c05f733128a5bE - local.set 12 - i32.const 16 - local.set 13 - local.get 5 - local.get 13 - i32.add - local.set 14 - local.get 14 - global.set $__stack_pointer - local.get 12 - return) - (func $_ZN84_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..IndexMut$LT$I$GT$$GT$9index_mut17h2e17f3e69272d9aeE (type 1) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 3 - i32.const 16 - local.set 4 - local.get 3 - local.get 4 - i32.sub - local.set 5 - local.get 5 - global.set $__stack_pointer - local.get 0 - i32.load - local.set 6 - local.get 0 - i32.load offset=8 - local.set 7 - local.get 5 - local.get 6 - i32.store offset=8 - local.get 5 - local.get 7 - i32.store offset=12 - local.get 5 - i32.load offset=8 - local.set 8 - local.get 5 - i32.load offset=12 - local.set 9 - local.get 5 - local.get 8 - i32.store - local.get 5 - local.get 9 - i32.store offset=4 - local.get 5 - i32.load - local.set 10 - local.get 5 - i32.load offset=4 - local.set 11 - local.get 1 - local.get 10 - local.get 11 - local.get 2 - call $_ZN75_$LT$usize$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h1b0b70b4302f9317E - local.set 12 - i32.const 16 - local.set 13 - local.get 5 - local.get 13 - i32.add - local.set 14 - local.get 14 - global.set $__stack_pointer - local.get 12 - return) - (func $_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h94e67c15ceaf0550E (type 9) (param i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 1 - i32.const 16 - local.set 2 - local.get 1 - local.get 2 - i32.sub - local.set 3 - i32.const 1 - local.set 4 - i32.const 1 - local.set 5 - local.get 4 - local.get 5 - i32.and - local.set 6 - block ;; label = @1 - local.get 6 + local.get 18 i32.eqz br_if 0 (;@1;) - local.get 0 - i32.load offset=4 - local.set 7 - local.get 3 - local.get 7 - i32.store offset=8 - end - i32.const 0 - local.set 8 - i32.const 1 - local.set 9 - local.get 8 - local.get 9 - i32.and - local.set 10 - block ;; label = @1 - block ;; label = @2 - local.get 10 - br_if 0 (;@2;) - local.get 0 - i32.load - local.set 11 - local.get 0 - i32.load offset=4 - local.set 12 - local.get 11 - local.set 13 - local.get 12 - local.set 14 - local.get 13 - local.get 14 - i32.eq - local.set 15 - i32.const 1 - local.set 16 - local.get 15 - local.get 16 - i32.and - local.set 17 - local.get 3 - local.get 17 - i32.store8 offset=7 - br 1 (;@1;) - end - local.get 0 - i32.load offset=4 - local.set 18 - i32.const 0 + local.get 5 + i32.load offset=36 local.set 19 - local.get 18 + i32.const 0 local.set 20 + local.get 5 local.get 19 - local.set 21 local.get 20 - local.get 21 - i32.eq + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17h72fc51a304adc19aE + local.get 5 + i32.load offset=4 + local.set 21 + local.get 5 + i32.load local.set 22 - i32.const 1 - local.set 23 + local.get 5 local.get 22 + i32.store offset=16 + local.get 5 + local.get 21 + i32.store offset=20 + i32.const 0 + local.set 23 + local.get 5 local.get 23 - i32.and + i32.store offset=24 + local.get 5 + i32.load offset=8 local.set 24 - local.get 3 + local.get 5 + i32.load offset=12 + local.set 25 + i32.const 16 + local.set 26 + local.get 5 + local.get 26 + i32.add + local.set 27 + local.get 27 + local.set 28 + local.get 28 local.get 24 - i32.store8 offset=7 + local.get 25 + call $_ZN97_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$T$C$I$GT$$GT$11spec_extend17h341a5e54dda36425E + local.get 5 + i64.load offset=16 align=4 + local.set 29 + local.get 0 + local.get 29 + i64.store align=4 + i32.const 8 + local.set 30 + local.get 0 + local.get 30 + i32.add + local.set 31 + i32.const 16 + local.set 32 + local.get 5 + local.get 32 + i32.add + local.set 33 + local.get 33 + local.get 30 + i32.add + local.set 34 + local.get 34 + i32.load + local.set 35 + local.get 31 + local.get 35 + i32.store + i32.const 96 + local.set 36 + local.get 5 + local.get 36 + i32.add + local.set 37 + local.get 37 + global.set $__stack_pointer + return end - local.get 3 - i32.load8_u offset=7 - local.set 25 + i32.const 0 + local.set 38 i32.const 1 - local.set 26 - local.get 25 - local.get 26 + local.set 39 + local.get 38 + local.get 39 i32.and - local.set 27 + local.set 40 block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - local.get 27 - br_if 0 (;@5;) - local.get 0 - i32.load - local.set 28 - i32.const 0 - local.set 29 - i32.const 1 - local.set 30 - local.get 29 - local.get 30 - i32.and - local.set 31 - local.get 31 - br_if 2 (;@3;) - br 1 (;@4;) - end - i32.const 0 - local.set 32 - local.get 3 - local.get 32 - i32.store - br 3 (;@1;) - end - local.get 0 - i32.load - local.set 33 - i32.const 1 - local.set 34 - local.get 33 - local.get 34 - i32.add - local.set 35 - local.get 3 - local.get 35 - i32.store offset=12 - local.get 3 - i32.load offset=12 - local.set 36 - local.get 0 - local.get 36 - i32.store - br 1 (;@2;) - end - local.get 0 - i32.load offset=4 - local.set 37 - i32.const 1 - local.set 38 - local.get 37 - local.get 38 - i32.sub - local.set 39 - local.get 0 - local.get 39 - i32.store offset=4 - end - local.get 3 - local.get 28 - i32.store + local.get 40 + br_if 0 (;@1;) + i32.const 0 + local.set 41 + local.get 5 + local.get 41 + i32.store offset=88 + i32.const 1048596 + local.set 42 + local.get 5 + local.get 42 + i32.store offset=40 + i32.const 1 + local.set 43 + local.get 5 + local.get 43 + i32.store offset=44 + local.get 5 + i32.load offset=88 + local.set 44 + local.get 5 + i32.load offset=92 + local.set 45 + local.get 5 + local.get 44 + i32.store offset=56 + local.get 5 + local.get 45 + i32.store offset=60 + i32.const 1048604 + local.set 46 + local.get 5 + local.get 46 + i32.store offset=48 + i32.const 0 + local.set 47 + local.get 5 + local.get 47 + i32.store offset=52 + i32.const 40 + local.set 48 + local.get 5 + local.get 48 + i32.add + local.set 49 + local.get 49 + local.set 50 + i32.const 1048700 + local.set 51 + local.get 50 + local.get 51 + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE + unreachable end - local.get 3 - i32.load - local.set 40 - local.get 40 - return) - (func $_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he08419cea81a45a8E (type 9) (param i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + i32.const 64 + local.set 52 + local.get 5 + local.get 52 + i32.add + local.set 53 + local.get 53 + local.set 54 + i32.const 1048728 + local.set 55 + i32.const 1 + local.set 56 + local.get 54 + local.get 55 + local.get 56 + call $_ZN4core3fmt9Arguments9new_const17hc20d6a4705f59fffE + i32.const 64 + local.set 57 + local.get 5 + local.get 57 + i32.add + local.set 58 + local.get 58 + local.set 59 + i32.const 1048812 + local.set 60 + local.get 59 + local.get 60 + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE + unreachable) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17h72fc51a304adc19aE (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer - local.set 1 - i32.const 16 - local.set 2 - local.get 1 - local.get 2 - i32.sub local.set 3 - i32.const 1 + i32.const 96 local.set 4 - i32.const 1 - local.set 5 + local.get 3 local.get 4 + i32.sub + local.set 5 local.get 5 - i32.and + global.set $__stack_pointer + local.get 2 local.set 6 - block ;; label = @1 - local.get 6 - i32.eqz - br_if 0 (;@1;) - local.get 0 - i32.load offset=4 - local.set 7 - local.get 3 - local.get 7 - i32.store offset=8 - end + local.get 5 + local.get 6 + i32.store8 offset=26 i32.const 0 - local.set 8 + local.set 7 i32.const 1 - local.set 9 + local.set 8 + local.get 7 local.get 8 - local.get 9 i32.and - local.set 10 + local.set 9 block ;; label = @1 block ;; label = @2 + block ;; label = @3 + local.get 9 + br_if 0 (;@3;) + local.get 1 + br_if 1 (;@2;) + end + i32.const 1 + local.set 10 + local.get 5 local.get 10 - br_if 0 (;@2;) - local.get 0 - i32.load + i32.store offset=72 + local.get 5 + i32.load offset=72 local.set 11 - local.get 0 - i32.load offset=4 - local.set 12 + local.get 5 local.get 11 - local.set 13 + i32.store offset=68 + local.get 5 + i32.load offset=68 + local.set 12 + local.get 5 local.get 12 - local.set 14 + i32.store offset=28 + i32.const 0 + local.set 13 + local.get 5 local.get 13 - local.get 14 - i32.eq - local.set 15 - i32.const 1 - local.set 16 - local.get 15 - local.get 16 - i32.and - local.set 17 - local.get 3 - local.get 17 - i32.store8 offset=7 + i32.store offset=32 br 1 (;@1;) end - local.get 0 - i32.load offset=4 + i32.const 1 + local.set 14 + i32.const 16 + local.set 15 + local.get 5 + local.get 15 + i32.add + local.set 16 + local.get 16 + local.get 14 + local.get 14 + local.get 1 + call $_ZN4core5alloc6layout6Layout5array5inner17hde74f827f47f01deE + local.get 5 + i32.load offset=16 + local.set 17 + local.get 5 + i32.load offset=20 local.set 18 - i32.const 0 - local.set 19 + local.get 5 local.get 18 + i32.store offset=40 + local.get 5 + local.get 17 + i32.store offset=36 + local.get 5 + i32.load offset=36 + local.set 19 + i32.const 1 local.set 20 - local.get 19 + i32.const 0 local.set 21 - local.get 20 local.get 21 - i32.eq + local.get 20 + local.get 19 + select local.set 22 - i32.const 1 - local.set 23 - local.get 22 - local.get 23 - i32.and - local.set 24 - local.get 3 - local.get 24 - i32.store8 offset=7 - end - local.get 3 - i32.load8_u offset=7 - local.set 25 - i32.const 1 - local.set 26 - local.get 25 - local.get 26 - i32.and - local.set 27 - block ;; label = @1 block ;; label = @2 block ;; label = @3 block ;; label = @4 block ;; label = @5 - local.get 27 + local.get 22 br_if 0 (;@5;) - local.get 0 - i32.load + local.get 5 + i32.load offset=36 + local.set 23 + local.get 5 + i32.load offset=40 + local.set 24 + i32.const 2147483647 + local.set 25 + local.get 24 + local.set 26 + local.get 25 + local.set 27 + local.get 26 + local.get 27 + i32.gt_u local.set 28 - i32.const 0 - local.set 29 i32.const 1 - local.set 30 + local.set 29 + local.get 28 local.get 29 - local.get 30 i32.and - local.set 31 - local.get 31 + local.set 30 + local.get 30 br_if 2 (;@3;) br 1 (;@4;) end - i32.const 0 - local.set 32 - local.get 3 - local.get 32 - i32.store - br 3 (;@1;) + call $_ZN5alloc7raw_vec17capacity_overflow17h6742d6b707f6ebe7E + unreachable end - local.get 0 - i32.load - local.set 33 - i32.const 4 - local.set 34 - local.get 33 - local.get 34 + i32.const -2147483647 + local.set 31 + local.get 5 + local.get 31 + i32.store offset=44 + br 1 (;@2;) + end + i32.const 0 + local.set 32 + local.get 5 + local.get 32 + i32.store offset=84 + local.get 5 + i32.load offset=84 + local.set 33 + local.get 5 + i32.load offset=88 + local.set 34 + local.get 5 + local.get 33 + i32.store offset=76 + local.get 5 + local.get 34 + i32.store offset=80 + local.get 5 + i32.load offset=76 + local.set 35 + local.get 5 + i32.load offset=80 + local.set 36 + local.get 5 + local.get 35 + i32.store offset=44 + local.get 5 + local.get 36 + i32.store offset=48 + end + local.get 5 + i32.load offset=44 + local.set 37 + i32.const -2147483647 + local.set 38 + local.get 37 + local.set 39 + local.get 38 + local.set 40 + local.get 39 + local.get 40 + i32.eq + local.set 41 + i32.const 0 + local.set 42 + i32.const 1 + local.set 43 + i32.const 1 + local.set 44 + local.get 41 + local.get 44 + i32.and + local.set 45 + local.get 42 + local.get 43 + local.get 45 + select + local.set 46 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 46 + br_if 0 (;@5;) + local.get 5 + i32.load8_u offset=26 + local.set 47 + i32.const 1 + local.set 48 + local.get 47 + local.get 48 + i32.and + local.set 49 + local.get 49 + i32.eqz + br_if 1 (;@4;) + br 2 (;@3;) + end + call $_ZN5alloc7raw_vec17capacity_overflow17h6742d6b707f6ebe7E + unreachable + end + i32.const 27 + local.set 50 + local.get 5 + local.get 50 i32.add - local.set 35 - local.get 3 - local.get 35 - i32.store offset=12 - local.get 3 - i32.load offset=12 - local.set 36 - local.get 0 - local.get 36 - i32.store + local.set 51 + local.get 5 + local.get 51 + local.get 23 + local.get 24 + call $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$8allocate17h3e69157076b4a21bE + local.get 5 + i32.load + local.set 52 + local.get 5 + i32.load offset=4 + local.set 53 + local.get 5 + local.get 53 + i32.store offset=56 + local.get 5 + local.get 52 + i32.store offset=52 br 1 (;@2;) end - local.get 0 - i32.load offset=4 - local.set 37 - i32.const 1 - local.set 38 - local.get 37 - local.get 38 - i32.sub - local.set 39 - local.get 0 - local.get 39 - i32.store offset=4 + i32.const 8 + local.set 54 + local.get 5 + local.get 54 + i32.add + local.set 55 + i32.const 27 + local.set 56 + local.get 5 + local.get 56 + i32.add + local.set 57 + local.get 55 + local.get 57 + local.get 23 + local.get 24 + call $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$15allocate_zeroed17hfe62bc75efbfd71cE + local.get 5 + i32.load offset=8 + local.set 58 + local.get 5 + i32.load offset=12 + local.set 59 + local.get 5 + local.get 59 + i32.store offset=56 + local.get 5 + local.get 58 + i32.store offset=52 end - local.get 3 - local.get 28 - i32.store - end - local.get 3 - i32.load - local.set 40 - local.get 40 - return) - (func $_ZN93_$LT$core..slice..iter..Chunks$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hf4915ee3b706a7ddE (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 2 - i32.const 32 - local.set 3 - local.get 2 - local.get 3 - i32.sub - local.set 4 - local.get 4 - global.set $__stack_pointer - local.get 1 - i32.load offset=4 - local.set 5 - block ;; label = @1 + local.get 5 + i32.load offset=52 + local.set 60 + i32.const 1 + local.set 61 + i32.const 0 + local.set 62 + local.get 62 + local.get 61 + local.get 60 + select + local.set 63 block ;; label = @2 + local.get 63 + br_if 0 (;@2;) + local.get 5 + i32.load offset=52 + local.set 64 + local.get 5 + local.get 64 + i32.store offset=64 + local.get 5 + i32.load offset=64 + local.set 65 local.get 5 - br_if 0 (;@2;) - i32.const 0 - local.set 6 - local.get 4 - local.get 6 - i32.store offset=8 + local.get 65 + i32.store offset=92 + local.get 5 + i32.load offset=92 + local.set 66 + local.get 5 + local.get 66 + i32.store offset=60 + local.get 5 + i32.load offset=60 + local.set 67 + local.get 5 + local.get 67 + i32.store offset=28 + local.get 5 + local.get 1 + i32.store offset=32 br 1 (;@1;) end - local.get 1 - i32.load offset=4 - local.set 7 - local.get 1 - i32.load offset=8 - local.set 8 - local.get 7 - local.get 8 - call $_ZN4core3cmp6min_by17hdad5962bdda2ad85E - local.set 9 - local.get 1 - i32.load - local.set 10 - local.get 1 - i32.load offset=4 - local.set 11 - i32.const 16 - local.set 12 - local.get 4 - local.get 12 - i32.add - local.set 13 - local.get 13 - local.set 14 - i32.const 1049628 - local.set 15 - local.get 14 - local.get 10 - local.get 11 - local.get 9 - local.get 15 - call $_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$8split_at17h3d53192321e14ca9E - local.get 4 - i32.load offset=16 - local.set 16 - local.get 4 - i32.load offset=20 - local.set 17 - local.get 4 - i32.load offset=24 - local.set 18 - local.get 4 - i32.load offset=28 - local.set 19 - local.get 1 - local.get 18 - i32.store - local.get 1 - local.get 19 - i32.store offset=4 - local.get 4 - local.get 16 - i32.store offset=8 - local.get 4 - local.get 17 - i32.store offset=12 + local.get 23 + local.get 24 + call $_ZN5alloc5alloc18handle_alloc_error17h0853c609cdf121f4E + unreachable end - local.get 4 - i32.load offset=8 - local.set 20 - local.get 4 - i32.load offset=12 - local.set 21 + local.get 5 + i32.load offset=28 + local.set 68 + local.get 5 + i32.load offset=32 + local.set 69 local.get 0 - local.get 21 + local.get 69 i32.store offset=4 local.get 0 - local.get 20 + local.get 68 i32.store - i32.const 32 - local.set 22 - local.get 4 - local.get 22 - i32.add - local.set 23 - local.get 23 - global.set $__stack_pointer - return) - (func $_ZN95_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$core..iter..traits..collect..FromIterator$LT$T$GT$$GT$9from_iter17h61a23f55740af955E (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 3 - i32.const 16 - local.set 4 - local.get 3 - local.get 4 - i32.sub - local.set 5 - local.get 5 - global.set $__stack_pointer - i32.const 8 - local.set 6 - local.get 5 - local.get 6 - i32.add - local.set 7 - local.get 7 - local.get 1 - local.get 2 - call $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h7549af52fe0012acE - local.get 5 - i32.load offset=12 - local.set 8 - local.get 5 - i32.load offset=8 - local.set 9 - local.get 0 - local.get 9 - local.get 8 - call $_ZN98_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter..SpecFromIter$LT$T$C$I$GT$$GT$9from_iter17h2bee8bda4468da85E - i32.const 16 - local.set 10 + i32.const 96 + local.set 70 local.get 5 - local.get 10 + local.get 70 i32.add - local.set 11 - local.get 11 + local.set 71 + local.get 71 global.set $__stack_pointer return) - (func $_ZN98_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter..SpecFromIter$LT$T$C$I$GT$$GT$9from_iter17h2bee8bda4468da85E (type 3) (param i32 i32 i32) + (func $_ZN97_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$T$C$I$GT$$GT$11spec_extend17h341a5e54dda36425E (type 3) (param i32 i32 i32) local.get 0 local.get 1 local.get 2 - call $_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter_nested..SpecFromIterNested$LT$T$C$I$GT$$GT$9from_iter17hcc25453b8ccf35f4E + call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$14extend_trusted17h84834286af8af33cE return) - (func $new (type 6) (param i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN4core3fmt9Arguments9new_const17hc20d6a4705f59fffE (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer - local.set 1 - i32.const 80 - local.set 2 - local.get 1 - local.get 2 - i32.sub local.set 3 - local.get 3 - global.set $__stack_pointer - i32.const 0 + i32.const 32 local.set 4 - i32.const 4096 + local.get 3 + local.get 4 + i32.sub local.set 5 + local.get 5 + global.set $__stack_pointer i32.const 1 local.set 6 - local.get 4 - local.get 6 - i32.and - local.set 7 - block ;; label = @1 - local.get 7 - br_if 0 (;@1;) - i32.const 0 - local.set 8 - local.get 3 - local.get 8 - i32.store offset=56 - local.get 3 - local.get 5 - i32.store offset=60 - local.get 3 - i32.load offset=56 - local.set 9 - local.get 3 - i32.load offset=60 - local.set 10 - i32.const 8 - local.set 11 - local.get 3 - local.get 11 - i32.add - local.set 12 - local.get 12 - local.get 9 - local.get 10 - call $_ZN4core4iter6traits8iterator8Iterator3map17he04336be859eee61E - local.get 3 - i32.load offset=12 - local.set 13 - local.get 3 - i32.load offset=8 - local.set 14 - i32.const 40 - local.set 15 - local.get 3 - local.get 15 - i32.add - local.set 16 - local.get 16 - local.get 14 - local.get 13 - call $_ZN4core4iter6traits8iterator8Iterator7collect17h7201d532c4b3026bE - i32.const 8 - local.set 17 - i32.const 64 - local.set 18 - local.get 3 - local.get 18 - i32.add - local.set 19 - local.get 19 - local.get 17 - i32.add - local.set 20 - i32.const 40 - local.set 21 - local.get 3 - local.get 21 - i32.add - local.set 22 - local.get 22 - local.get 17 - i32.add - local.set 23 - local.get 23 - i32.load - local.set 24 - local.get 20 - local.get 24 - i32.store - local.get 3 - i64.load offset=40 - local.set 25 - local.get 3 - local.get 25 - i64.store offset=64 - i32.const 64 - local.set 26 - local.get 3 - local.get 26 - i32.store offset=28 - local.get 3 - local.get 26 - i32.store offset=32 - i32.const 16 - local.set 27 - local.get 3 - local.get 27 - i32.add - local.set 28 - local.get 28 - local.get 17 - i32.add - local.set 29 - local.get 20 - i32.load - local.set 30 - local.get 29 - local.get 30 + local.get 2 + local.set 7 + local.get 6 + local.set 8 + local.get 7 + local.get 8 + i32.gt_u + local.set 9 + i32.const 1 + local.set 10 + local.get 9 + local.get 10 + i32.and + local.set 11 + block ;; label = @1 + local.get 11 + br_if 0 (;@1;) + i32.const 0 + local.set 12 + local.get 5 + local.get 12 + i32.store offset=24 + local.get 0 + local.get 1 i32.store - local.get 3 - i64.load offset=64 - local.set 31 - local.get 3 - local.get 31 - i64.store offset=16 - local.get 29 - i32.load - local.set 32 - local.get 3 - i32.load offset=16 - local.set 33 - local.get 3 - i32.load offset=20 - local.set 34 - local.get 3 + local.get 0 + local.get 2 + i32.store offset=4 + local.get 5 + i32.load offset=24 + local.set 13 + local.get 5 i32.load offset=28 - local.set 35 - local.get 3 - i32.load offset=32 - local.set 36 + local.set 14 local.get 0 - local.get 36 + local.get 13 i32.store offset=16 local.get 0 - local.get 35 - i32.store offset=12 + local.get 14 + i32.store offset=20 + i32.const 1048604 + local.set 15 local.get 0 - local.get 32 + local.get 15 i32.store offset=8 + i32.const 0 + local.set 16 local.get 0 - local.get 34 - i32.store offset=4 - local.get 0 - local.get 33 - i32.store - i32.const 80 - local.set 37 - local.get 3 - local.get 37 + local.get 16 + i32.store offset=12 + i32.const 32 + local.set 17 + local.get 5 + local.get 17 i32.add - local.set 38 - local.get 38 + local.set 18 + local.get 18 global.set $__stack_pointer return end - i32.const 1049728 - local.set 39 - i32.const 33 - local.set 40 - i32.const 1049712 - local.set 41 - local.get 39 - local.get 40 - local.get 41 - call $_ZN4core9panicking5panic17hfd6e422134ee8ce5E + local.get 5 + local.set 19 + i32.const 1048728 + local.set 20 + i32.const 1 + local.set 21 + local.get 19 + local.get 20 + local.get 21 + call $_ZN4core3fmt9Arguments9new_const17hc20d6a4705f59fffE + local.get 5 + local.set 22 + i32.const 1048812 + local.set 23 + local.get 22 + local.get 23 + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE unreachable) - (func $_ZN5index8Universe3new28_$u7b$$u7b$closure$u7d$$u7d$17ha5612b59f698bd53E (type 2) (param i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17he8259e5e06c7688cE (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 3 + i32.const 32 + local.set 4 + local.get 3 + local.get 4 + i32.sub + local.set 5 + local.get 5 + global.set $__stack_pointer + local.get 5 + local.get 1 + i32.store offset=4 + local.get 5 + local.get 2 + i32.store offset=8 + local.get 5 + i32.load offset=4 + local.set 6 + local.get 5 + i32.load offset=8 + local.set 7 + local.get 7 + local.get 6 + i32.sub + local.set 8 + local.get 5 + local.get 8 + i32.store offset=12 + local.get 5 + local.get 6 + i32.store offset=24 + local.get 5 + i32.load offset=12 + local.set 9 + local.get 5 + local.get 9 + i32.store offset=28 + local.get 5 + i32.load offset=24 + local.set 10 + local.get 5 + i32.load offset=28 + local.set 11 + local.get 5 + local.get 10 + i32.store offset=16 + local.get 5 + local.get 11 + i32.store offset=20 + local.get 5 + i32.load offset=16 + local.set 12 + local.get 5 + i32.load offset=20 + local.set 13 + local.get 0 + local.get 13 + call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hb801ab09a80cef1bE + local.get 0 + i32.load offset=8 + local.set 14 + local.get 0 + i32.load + local.set 15 + local.get 15 + local.get 14 + i32.add + local.set 16 + i32.const 0 + local.set 17 + local.get 13 + local.get 17 + i32.shl + local.set 18 + local.get 16 + local.get 12 + local.get 18 + call $memcpy + drop + local.get 0 + i32.load offset=8 + local.set 19 + local.get 19 + local.get 13 + i32.add + local.set 20 + local.get 0 + local.get 20 + i32.store offset=8 + i32.const 32 + local.set 21 + local.get 5 + local.get 21 + i32.add + local.set 22 + local.get 22 + global.set $__stack_pointer + return) + (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17hb801ab09a80cef1bE (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 2 i32.const 16 @@ -4816,91 +1442,107 @@ local.get 3 i32.sub local.set 4 - i32.const 1 + local.get 4 + global.set $__stack_pointer + local.get 0 + i32.load offset=8 local.set 5 - local.get 1 - local.get 5 - i32.and + i32.const 0 local.set 6 + i32.const 1 + local.set 7 + local.get 6 + local.get 7 + i32.and + local.set 8 block ;; label = @1 block ;; label = @2 - local.get 6 + local.get 8 br_if 0 (;@2;) - i32.const 1 - local.set 7 + local.get 0 + i32.load offset=4 + local.set 9 local.get 4 - local.get 7 - i32.store8 offset=15 + local.get 9 + i32.store offset=12 br 1 (;@1;) end - i32.const 7 - local.set 8 - local.get 1 - local.get 8 - i32.rem_u - local.set 9 - i32.const 0 + i32.const -1 local.set 10 - local.get 9 - local.set 11 - local.get 10 - local.set 12 - local.get 11 - local.get 12 - i32.eq - local.set 13 - i32.const 1 - local.set 14 - local.get 13 - local.get 14 - i32.and - local.set 15 local.get 4 - local.get 15 - i32.store8 offset=15 + local.get 10 + i32.store offset=12 end local.get 4 - i32.load8_u offset=15 - local.set 16 + i32.load offset=12 + local.set 11 + local.get 11 + local.get 5 + i32.sub + local.set 12 + local.get 1 + local.set 13 + local.get 12 + local.set 14 + local.get 13 + local.get 14 + i32.gt_u + local.set 15 i32.const 1 - local.set 17 + local.set 16 + local.get 15 local.get 16 - local.get 17 i32.and - local.set 18 + local.set 17 block ;; label = @1 - block ;; label = @2 - local.get 18 - br_if 0 (;@2;) - i32.const 0 - local.set 19 - local.get 4 - local.get 19 - i32.store8 offset=14 - br 1 (;@1;) - end - i32.const 1 - local.set 20 - local.get 4 - local.get 20 - i32.store8 offset=14 + local.get 17 + i32.eqz + br_if 0 (;@1;) + local.get 0 + local.get 5 + local.get 1 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h50013dd7585d6be0E end + i32.const 16 + local.set 18 local.get 4 - i32.load8_u offset=14 - local.set 21 + local.get 18 + i32.add + local.set 19 + local.get 19 + global.set $__stack_pointer + return) + (func $_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h0768ec548bd9d79fE (type 4) (param i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 1 + i32.const 16 + local.set 2 + local.get 1 + local.get 2 + i32.sub + local.set 3 i32.const 1 - local.set 22 - local.get 21 - local.get 22 + local.set 4 + local.get 3 + local.get 4 + i32.store8 offset=15 + local.get 3 + i32.load8_u offset=15 + local.set 5 + i32.const 1 + local.set 6 + local.get 5 + local.get 6 i32.and - local.set 23 - local.get 23 + local.set 7 + local.get 7 return) - (func $render (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN45_$LT$T$u20$as$u20$alloc..string..ToString$GT$9to_string17hb6bda17ee49bda31E (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 2 - i32.const 16 + i32.const 80 local.set 3 local.get 2 local.get 3 @@ -4908,1213 +1550,1138 @@ local.set 4 local.get 4 global.set $__stack_pointer - local.get 4 - local.get 1 - call $_ZN45_$LT$T$u20$as$u20$alloc..string..ToString$GT$9to_string17h6229caebe45a591eE - local.get 4 - i32.load + i32.const 1 local.set 5 local.get 4 - i32.load offset=4 + local.get 5 + i32.store offset=64 + i32.const 0 local.set 6 local.get 4 - i32.load offset=8 + local.get 6 + i32.store offset=68 + i32.const 0 local.set 7 - local.get 0 + local.get 4 local.get 7 - i32.store offset=8 - local.get 0 - local.get 6 - i32.store offset=4 - local.get 0 - local.get 5 - i32.store - i32.const 16 + i32.store offset=72 + i32.const 8 local.set 8 + i32.const 8 + local.set 9 local.get 4 + local.get 9 + i32.add + local.set 10 + local.get 10 local.get 8 i32.add - local.set 9 - local.get 9 - global.set $__stack_pointer - return) - (func $tick (type 6) (param i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + local.set 11 + i32.const 64 + local.set 12 + local.get 4 + local.get 12 + i32.add + local.set 13 + local.get 13 + local.get 8 + i32.add + local.set 14 + local.get 14 + i32.load + local.set 15 + local.get 11 + local.get 15 + i32.store + local.get 4 + i64.load offset=64 align=4 + local.set 16 + local.get 4 + local.get 16 + i64.store offset=8 + i32.const 24 + local.set 17 + local.get 4 + local.get 17 + i32.add + local.set 18 + local.get 18 + local.set 19 + i32.const 8 + local.set 20 + local.get 4 + local.get 20 + i32.add + local.set 21 + local.get 21 + local.set 22 + i32.const 1048828 + local.set 23 + local.get 19 + local.get 22 + local.get 23 + call $_ZN4core3fmt9Formatter3new17h6af65e07b3260355E + i32.const 24 + local.set 24 + local.get 4 + local.get 24 + i32.add + local.set 25 + local.get 25 + local.set 26 + local.get 1 + local.get 26 + call $_ZN54_$LT$index..Universe$u20$as$u20$core..fmt..Display$GT$3fmt17h7676d7227ee3d747E + local.set 27 + i32.const 1 + local.set 28 + local.get 27 + local.get 28 + i32.and + local.set 29 + local.get 4 + local.get 29 + i32.store8 offset=63 + local.get 4 + i32.load8_u offset=63 + local.set 30 + i32.const 1 + local.set 31 + local.get 30 + local.get 31 + i32.and + local.set 32 + block ;; label = @1 + local.get 32 + br_if 0 (;@1;) + local.get 4 + i64.load offset=8 + local.set 33 + local.get 0 + local.get 33 + i64.store align=4 + i32.const 8 + local.set 34 + local.get 0 + local.get 34 + i32.add + local.set 35 + i32.const 8 + local.set 36 + local.get 4 + local.get 36 + i32.add + local.set 37 + local.get 37 + local.get 34 + i32.add + local.set 38 + local.get 38 + i32.load + local.set 39 + local.get 35 + local.get 39 + i32.store + i32.const 80 + local.set 40 + local.get 4 + local.get 40 + i32.add + local.set 41 + local.get 41 + global.set $__stack_pointer + return + end + i32.const 1048852 + local.set 42 + i32.const 55 + local.set 43 + i32.const 79 + local.set 44 + local.get 4 + local.get 44 + i32.add + local.set 45 + local.get 45 + local.set 46 + i32.const 1048908 + local.set 47 + i32.const 1049000 + local.set 48 + local.get 42 + local.get 43 + local.get 46 + local.get 47 + local.get 48 + call $_ZN4core6result13unwrap_failed17hc368cb5845aa399dE + unreachable) + (func $_ZN54_$LT$index..Universe$u20$as$u20$core..fmt..Display$GT$3fmt17h7676d7227ee3d747E (type 2) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer - local.set 1 - i32.const 128 local.set 2 - local.get 1 - local.get 2 - i32.sub + i32.const 176 local.set 3 + local.get 2 local.get 3 - global.set $__stack_pointer - i32.const 32 + i32.sub local.set 4 - local.get 3 local.get 4 - i32.add + global.set $__stack_pointer + i32.const 24 local.set 5 + local.get 4 local.get 5 + i32.add local.set 6 local.get 6 local.get 0 - call $_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h689488db186db2bbE - local.get 0 - i32.load offset=16 + call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$8as_slice17hf58bef610c257386E + local.get 4 + i32.load offset=28 local.set 7 - i32.const 0 + local.get 4 + i32.load offset=24 local.set 8 - local.get 3 - local.get 8 - i32.store offset=48 - local.get 3 - local.get 7 - i32.store offset=52 - local.get 3 - i32.load offset=48 + local.get 0 + i32.load offset=12 local.set 9 - local.get 3 - i32.load offset=52 + i32.const 52 local.set 10 - i32.const 24 + local.get 4 + local.get 10 + i32.add local.set 11 - local.get 3 local.get 11 - i32.add local.set 12 + i32.const 1050044 + local.set 13 local.get 12 + local.get 8 + local.get 7 local.get 9 - local.get 10 - call $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h6302d8e36f0c2609E - local.get 3 - i32.load offset=28 - local.set 13 - local.get 3 - i32.load offset=24 + local.get 13 + call $_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$6chunks17h3d5b5c43ca89da6dE + i32.const 40 local.set 14 - local.get 3 + local.get 4 local.get 14 - i32.store offset=56 - local.get 3 - local.get 13 - i32.store offset=60 - loop ;; label = @1 - i32.const 16 - local.set 15 - local.get 3 - local.get 15 - i32.add - local.set 16 - i32.const 56 - local.set 17 - local.get 3 - local.get 17 - i32.add - local.set 18 - local.get 16 - local.get 18 - call $_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$4next17h0eb5f198c843995bE - local.get 3 - i32.load offset=16 - local.set 19 - local.get 3 - i32.load offset=20 - local.set 20 - local.get 3 - local.get 20 - i32.store offset=68 - local.get 3 - local.get 19 - i32.store offset=64 - local.get 3 - i32.load offset=64 - local.set 21 - block ;; label = @2 - local.get 21 - br_if 0 (;@2;) - i32.const 8 - local.set 22 - i32.const 112 - local.set 23 - local.get 3 - local.get 23 - i32.add - local.set 24 - local.get 24 - local.get 22 - i32.add - local.set 25 - i32.const 32 - local.set 26 - local.get 3 - local.get 26 - i32.add - local.set 27 - local.get 27 - local.get 22 - i32.add - local.set 28 - local.get 28 - i32.load - local.set 29 - local.get 25 - local.get 29 - i32.store - local.get 3 - i64.load offset=32 - local.set 30 - local.get 3 - local.get 30 - i64.store offset=112 - local.get 0 - call $_ZN4core3ptr55drop_in_place$LT$alloc..vec..Vec$LT$index..Cell$GT$$GT$17hc64429c14b705e93E - local.get 3 - i64.load offset=112 - local.set 31 - local.get 0 - local.get 31 - i64.store align=4 - i32.const 8 - local.set 32 - local.get 0 - local.get 32 - i32.add - local.set 33 - i32.const 112 - local.set 34 - local.get 3 - local.get 34 - i32.add - local.set 35 - local.get 35 - local.get 32 - i32.add - local.set 36 - local.get 36 - i32.load - local.set 37 - local.get 33 - local.get 37 - i32.store - i32.const 128 - local.set 38 - local.get 3 - local.get 38 - i32.add - local.set 39 - local.get 39 - global.set $__stack_pointer - return - end - local.get 3 - i32.load offset=68 - local.set 40 - local.get 0 - i32.load offset=12 - local.set 41 - i32.const 0 - local.set 42 - local.get 3 - local.get 42 - i32.store offset=72 - local.get 3 - local.get 41 - i32.store offset=76 - local.get 3 - i32.load offset=72 - local.set 43 - local.get 3 - i32.load offset=76 - local.set 44 - i32.const 8 - local.set 45 - local.get 3 - local.get 45 - i32.add - local.set 46 - local.get 46 - local.get 43 - local.get 44 - call $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h6302d8e36f0c2609E - local.get 3 - i32.load offset=12 - local.set 47 - local.get 3 - i32.load offset=8 - local.set 48 - local.get 3 - local.get 48 - i32.store offset=80 - local.get 3 - local.get 47 - i32.store offset=84 - loop ;; label = @2 - i32.const 80 - local.set 49 - local.get 3 - local.get 49 - i32.add - local.set 50 - local.get 3 - local.get 50 - call $_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$4next17h0eb5f198c843995bE - local.get 3 - i32.load - local.set 51 - local.get 3 - i32.load offset=4 - local.set 52 - local.get 3 - local.get 52 - i32.store offset=92 - local.get 3 - local.get 51 - i32.store offset=88 - local.get 3 - i32.load offset=88 - local.set 53 - local.get 53 - i32.eqz - br_if 1 (;@1;) - local.get 3 - i32.load offset=92 - local.set 54 - local.get 0 - local.get 40 - local.get 54 - call $_ZN5index8Universe9get_index17h44b2afadeff1e6ffE - local.set 55 - i32.const 1049764 - local.set 56 - local.get 0 - local.get 55 - local.get 56 - call $_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h011a47b0357983f6E - local.set 57 - local.get 57 - i32.load8_u - local.set 58 - local.get 0 - local.get 40 - local.get 54 - call $_ZN5index8Universe19live_neighbor_count17h0eae33e53da0ac8aE - local.set 59 - i32.const 1 - local.set 60 - local.get 58 - local.get 60 - i32.and - local.set 61 - local.get 3 - local.get 61 - i32.store8 offset=104 - local.get 3 - local.get 59 - i32.store8 offset=105 - local.get 3 - i32.load8_u offset=104 - local.set 62 - i32.const 1 - local.set 63 - local.get 62 - local.get 63 - i32.and - local.set 64 + i32.add + local.set 15 + local.get 15 + local.set 16 + i32.const 52 + local.set 17 + local.get 4 + local.get 17 + i32.add + local.set 18 + local.get 18 + local.set 19 + local.get 16 + local.get 19 + call $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hf1002aae9a2c2681E + i32.const 8 + local.set 20 + i32.const 64 + local.set 21 + local.get 4 + local.get 21 + i32.add + local.set 22 + local.get 22 + local.get 20 + i32.add + local.set 23 + i32.const 40 + local.set 24 + local.get 4 + local.get 24 + i32.add + local.set 25 + local.get 25 + local.get 20 + i32.add + local.set 26 + local.get 26 + i32.load + local.set 27 + local.get 23 + local.get 27 + i32.store + local.get 4 + i64.load offset=40 align=4 + local.set 28 + local.get 4 + local.get 28 + i64.store offset=64 + block ;; label = @1 + loop ;; label = @2 + i32.const 16 + local.set 29 + local.get 4 + local.get 29 + i32.add + local.set 30 + i32.const 64 + local.set 31 + local.get 4 + local.get 31 + i32.add + local.set 32 + local.get 30 + local.get 32 + call $_ZN93_$LT$core..slice..iter..Chunks$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h51255239889b08a6E + local.get 4 + i32.load offset=16 + local.set 33 + local.get 4 + i32.load offset=20 + local.set 34 + local.get 4 + local.get 34 + i32.store offset=80 + local.get 4 + local.get 33 + i32.store offset=76 + local.get 4 + i32.load offset=76 + local.set 35 i32.const 0 - local.set 65 - i32.const 255 - local.set 66 - local.get 64 - local.get 66 - i32.and - local.set 67 - i32.const 255 - local.set 68 - local.get 65 - local.get 68 - i32.and - local.set 69 - local.get 67 - local.get 69 - i32.eq - local.set 70 + local.set 36 i32.const 1 - local.set 71 - local.get 70 - local.get 71 - i32.and - local.set 72 + local.set 37 + local.get 37 + local.get 36 + local.get 35 + select + local.set 38 block ;; label = @3 + local.get 38 + br_if 0 (;@3;) + i32.const 0 + local.set 39 + local.get 4 + local.get 39 + i32.store8 offset=39 + br 2 (;@1;) + end + local.get 4 + i32.load offset=76 + local.set 40 + local.get 4 + i32.load offset=80 + local.set 41 + i32.const 8 + local.set 42 + local.get 4 + local.get 42 + i32.add + local.set 43 + local.get 43 + local.get 40 + local.get 41 + call $_ZN4core5slice4iter87_$LT$impl$u20$core..iter..traits..collect..IntoIterator$u20$for$u20$$RF$$u5b$T$u5d$$GT$9into_iter17h2b52094caae78498E + local.get 4 + i32.load offset=12 + local.set 44 + local.get 4 + i32.load offset=8 + local.set 45 + local.get 4 + local.get 45 + i32.store offset=84 + local.get 4 + local.get 44 + i32.store offset=88 + loop ;; label = @3 + i32.const 84 + local.set 46 + local.get 4 + local.get 46 + i32.add + local.set 47 + local.get 47 + local.set 48 + local.get 48 + call $_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h7476dad7275f695fE + local.set 49 + local.get 4 + local.get 49 + i32.store offset=92 + local.get 4 + i32.load offset=92 + local.set 50 + i32.const 0 + local.set 51 + i32.const 1 + local.set 52 + local.get 52 + local.get 51 + local.get 50 + select + local.set 53 block ;; label = @4 block ;; label = @5 block ;; label = @6 block ;; label = @7 block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - block ;; label = @11 - local.get 72 - i32.eqz - br_if 0 (;@11;) - local.get 3 - i32.load8_u offset=105 - local.set 73 - i32.const 3 - local.set 74 - i32.const 255 - local.set 75 - local.get 73 - local.get 75 - i32.and - local.set 76 - i32.const 255 - local.set 77 - local.get 74 - local.get 77 - i32.and - local.set 78 - local.get 76 - local.get 78 - i32.eq - local.set 79 - i32.const 1 - local.set 80 - local.get 79 - local.get 80 - i32.and - local.set 81 - local.get 81 - br_if 1 (;@10;) - br 7 (;@4;) - end - local.get 3 - i32.load8_u offset=105 - local.set 82 - i32.const 2 - local.set 83 - i32.const 255 - local.set 84 - local.get 82 - local.get 84 - i32.and - local.set 85 - i32.const 255 - local.set 86 - local.get 83 - local.get 86 - i32.and - local.set 87 - local.get 85 - local.get 87 - i32.lt_u - local.set 88 - i32.const 1 - local.set 89 - local.get 88 - local.get 89 - i32.and - local.set 90 - local.get 90 - br_if 2 (;@8;) - br 1 (;@9;) - end - i32.const 1 - local.set 91 - local.get 3 - local.get 91 - i32.store8 offset=103 - br 6 (;@3;) - end - local.get 3 - i32.load8_u offset=105 - local.set 92 - i32.const -2 - local.set 93 - local.get 92 - local.get 93 + local.get 53 + br_if 0 (;@8;) + i32.const 144 + local.set 54 + local.get 4 + local.get 54 i32.add - local.set 94 - i32.const 255 - local.set 95 - local.get 94 - local.get 95 + local.set 55 + local.get 55 + local.set 56 + i32.const 1050064 + local.set 57 + i32.const 1 + local.set 58 + local.get 56 + local.get 57 + local.get 58 + call $_ZN4core3fmt9Arguments9new_const17hc20d6a4705f59fffE + i32.const 144 + local.set 59 + local.get 4 + local.get 59 + i32.add + local.set 60 + local.get 60 + local.set 61 + local.get 1 + local.get 61 + call $_ZN4core3fmt9Formatter9write_fmt17h9753a560d984b64cE + local.set 62 + i32.const 1 + local.set 63 + local.get 62 + local.get 63 i32.and - local.set 96 - i32.const 2 - local.set 97 - local.get 96 - local.get 97 - i32.lt_u - local.set 98 - local.get 98 - br_if 2 (;@6;) + local.set 64 + local.get 64 + call $_ZN79_$LT$core..result..Result$LT$T$C$E$GT$$u20$as$u20$core..ops..try_trait..Try$GT$6branch17h8a3a2ca631598309E + local.set 65 + i32.const 1 + local.set 66 + local.get 65 + local.get 66 + i32.and + local.set 67 + local.get 4 + local.get 67 + i32.store8 offset=143 + local.get 4 + i32.load8_u offset=143 + local.set 68 + i32.const 1 + local.set 69 + local.get 68 + local.get 69 + i32.and + local.set 70 + local.get 70 + i32.eqz + br_if 6 (;@2;) br 1 (;@7;) end - i32.const 0 - local.set 99 - local.get 3 - local.get 99 - i32.store8 offset=103 - br 4 (;@3;) + local.get 4 + i32.load offset=92 + local.set 71 + local.get 71 + i32.load8_u + local.set 72 + i32.const 1 + local.set 73 + local.get 72 + local.get 73 + i32.and + local.set 74 + local.get 4 + local.get 74 + i32.store8 offset=99 + i32.const 99 + local.set 75 + local.get 4 + local.get 75 + i32.add + local.set 76 + local.get 76 + local.set 77 + i32.const 1050088 + local.set 78 + local.get 77 + local.get 78 + call $_ZN52_$LT$index..Cell$u20$as$u20$core..cmp..PartialEq$GT$2eq17h986f028f9909c227E + local.set 79 + i32.const 1 + local.set 80 + local.get 79 + local.get 80 + i32.and + local.set 81 + local.get 81 + br_if 2 (;@5;) + br 1 (;@6;) end - local.get 3 - i32.load8_u offset=105 - local.set 100 - i32.const 3 - local.set 101 - i32.const 255 - local.set 102 - local.get 100 - local.get 102 - i32.and - local.set 103 - i32.const 255 - local.set 104 - local.get 101 - local.get 104 - i32.and - local.set 105 - local.get 103 - local.get 105 - i32.gt_u - local.set 106 + i32.const 1050072 + local.set 82 + local.get 82 + call $_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h0768ec548bd9d79fE + local.set 83 i32.const 1 - local.set 107 - local.get 106 - local.get 107 + local.set 84 + local.get 83 + local.get 84 i32.and - local.set 108 - local.get 108 - br_if 1 (;@5;) - br 2 (;@4;) + local.set 85 + local.get 4 + local.get 85 + i32.store8 offset=39 + br 5 (;@1;) end - i32.const 1 - local.set 109 - local.get 3 - local.get 109 - i32.store8 offset=103 - br 2 (;@3;) + i32.const 9724 + local.set 86 + local.get 4 + local.get 86 + i32.store offset=100 + br 1 (;@4;) end - i32.const 0 - local.set 110 - local.get 3 - local.get 110 - i32.store8 offset=103 - br 1 (;@3;) + i32.const 9723 + local.set 87 + local.get 4 + local.get 87 + i32.store offset=100 end - local.get 3 - i32.load8_u offset=104 - local.set 111 + i32.const 100 + local.set 88 + local.get 4 + local.get 88 + i32.add + local.set 89 + local.get 4 + local.get 89 + i32.store offset=168 i32.const 1 - local.set 112 - local.get 111 - local.get 112 + local.set 90 + local.get 4 + local.get 90 + i32.store offset=172 + local.get 4 + i32.load offset=168 + local.set 91 + local.get 4 + i32.load offset=172 + local.set 92 + local.get 4 + local.get 91 + i32.store offset=132 + local.get 4 + local.get 92 + i32.store offset=136 + i32.const 108 + local.set 93 + local.get 4 + local.get 93 + i32.add + local.set 94 + local.get 94 + local.set 95 + i32.const 1050092 + local.set 96 + i32.const 1 + local.set 97 + i32.const 132 + local.set 98 + local.get 4 + local.get 98 + i32.add + local.set 99 + local.get 99 + local.set 100 + local.get 95 + local.get 96 + local.get 97 + local.get 100 + local.get 97 + call $_ZN4core3fmt9Arguments6new_v117h428008ca3fafacb9E + i32.const 108 + local.set 101 + local.get 4 + local.get 101 + i32.add + local.set 102 + local.get 102 + local.set 103 + local.get 1 + local.get 103 + call $_ZN4core3fmt9Formatter9write_fmt17h9753a560d984b64cE + local.set 104 + i32.const 1 + local.set 105 + local.get 104 + local.get 105 i32.and - local.set 113 - local.get 3 - local.get 113 - i32.store8 offset=103 - end - local.get 3 - i32.load8_u offset=103 - local.set 114 - i32.const 32 - local.set 115 - local.get 3 - local.get 115 - i32.add - local.set 116 - local.get 116 - local.set 117 - i32.const 1049780 - local.set 118 - local.get 117 - local.get 55 - local.get 118 - call $_ZN84_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..IndexMut$LT$I$GT$$GT$9index_mut17h2e17f3e69272d9aeE - local.set 119 - i32.const 1 - local.set 120 - local.get 114 - local.get 120 - i32.and - local.set 121 - local.get 119 - local.get 121 - i32.store8 - br 0 (;@2;) - end - end) - (func $_ZN5index8Universe9get_index17h44b2afadeff1e6ffE (type 1) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - local.get 0 - i32.load offset=12 - local.set 3 - local.get 1 - local.get 3 - i32.add - local.set 4 - local.get 4 - local.get 1 - i32.lt_u - local.set 5 - i32.const 1 - local.set 6 - local.get 5 - local.get 6 - i32.and - local.set 7 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - local.get 7 - br_if 0 (;@3;) + local.set 106 + local.get 106 + call $_ZN79_$LT$core..result..Result$LT$T$C$E$GT$$u20$as$u20$core..ops..try_trait..Try$GT$6branch17h8a3a2ca631598309E + local.set 107 + i32.const 1 + local.set 108 + local.get 107 + local.get 108 + i32.and + local.set 109 local.get 4 - local.get 2 - i32.add - local.set 8 - local.get 8 + local.get 109 + i32.store8 offset=107 local.get 4 - i32.lt_u - local.set 9 + i32.load8_u offset=107 + local.set 110 i32.const 1 - local.set 10 - local.get 9 - local.get 10 + local.set 111 + local.get 110 + local.get 111 i32.and - local.set 11 - local.get 11 - br_if 2 (;@1;) - br 1 (;@2;) + local.set 112 + local.get 112 + i32.eqz + br_if 0 (;@3;) end - i32.const 1049824 - local.set 12 - i32.const 28 - local.set 13 - i32.const 1049796 - local.set 14 - local.get 12 - local.get 13 - local.get 14 - call $_ZN4core9panicking5panic17hfd6e422134ee8ce5E - unreachable end - local.get 8 - return + i32.const 1050100 + local.set 113 + local.get 113 + call $_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h0768ec548bd9d79fE + local.set 114 + i32.const 1 + local.set 115 + local.get 114 + local.get 115 + i32.and + local.set 116 + local.get 4 + local.get 116 + i32.store8 offset=39 end - i32.const 1049824 - local.set 15 - i32.const 28 - local.set 16 - i32.const 1049852 - local.set 17 - local.get 15 - local.get 16 - local.get 17 - call $_ZN4core9panicking5panic17hfd6e422134ee8ce5E - unreachable) - (func $_ZN5index8Universe19live_neighbor_count17h0eae33e53da0ac8aE (type 1) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + local.get 4 + i32.load8_u offset=39 + local.set 117 + i32.const 1 + local.set 118 + local.get 117 + local.get 118 + i32.and + local.set 119 + i32.const 176 + local.set 120 + local.get 4 + local.get 120 + i32.add + local.set 121 + local.get 121 + global.set $__stack_pointer + local.get 119 + return) + (func $_ZN47_$LT$u32$u20$as$u20$core..iter..range..Step$GT$13steps_between17h50fba028dc6caa02E (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 3 - i32.const 144 + i32.const 16 local.set 4 local.get 3 local.get 4 i32.sub local.set 5 - local.get 5 - global.set $__stack_pointer - i32.const 0 + local.get 1 + i32.load local.set 6 - local.get 5 - local.get 6 - i32.store8 offset=75 - local.get 0 - i32.load offset=16 + local.get 2 + i32.load local.set 7 - i32.const 1 + local.get 6 local.set 8 local.get 7 - local.get 8 - i32.sub local.set 9 - i32.const 1 + local.get 8 + local.get 9 + i32.le_u local.set 10 - local.get 7 + i32.const 1 local.set 11 local.get 10 - local.set 12 local.get 11 - local.get 12 - i32.lt_u - local.set 13 - i32.const 1 - local.set 14 - local.get 13 - local.get 14 i32.and - local.set 15 + local.set 12 block ;; label = @1 block ;; label = @2 - local.get 15 + local.get 12 br_if 0 (;@2;) - local.get 5 - local.get 9 - i32.store offset=76 i32.const 0 - local.set 16 - local.get 5 - local.get 16 - i32.store offset=80 - i32.const 1 - local.set 17 - local.get 5 - local.get 17 - i32.store offset=84 - i32.const 3 - local.set 18 - i32.const 48 - local.set 19 - local.get 5 - local.get 19 - i32.add - local.set 20 - i32.const 76 - local.set 21 - local.get 5 - local.get 21 - i32.add - local.set 22 - local.get 20 - local.get 22 - local.get 18 - call $_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4iter17h5b0a1e9c784f8daeE - local.get 5 - i32.load offset=52 - local.set 23 - local.get 5 - i32.load offset=48 - local.set 24 - i32.const 56 - local.set 25 - local.get 5 - local.get 25 - i32.add - local.set 26 - local.get 26 - local.get 24 - local.get 23 - call $_ZN4core4iter6traits8iterator8Iterator6cloned17hbddc5cbb562d5c41E - local.get 5 - i32.load offset=60 - local.set 27 - local.get 5 - i32.load offset=56 - local.set 28 - i32.const 64 - local.set 29 - local.get 5 - local.get 29 - i32.add - local.set 30 - local.get 30 - local.get 28 - local.get 27 - call $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h0b928096a65a1ebcE - local.get 5 - i32.load offset=68 - local.set 31 - local.get 5 - i32.load offset=64 - local.set 32 - local.get 5 - local.get 32 - i32.store offset=88 + local.set 13 local.get 5 - local.get 31 - i32.store offset=92 + local.get 13 + i32.store offset=8 br 1 (;@1;) end - i32.const 1049888 - local.set 33 - i32.const 33 - local.set 34 - i32.const 1049868 - local.set 35 - local.get 33 - local.get 34 - local.get 35 - call $_ZN4core9panicking5panic17hfd6e422134ee8ce5E - unreachable - end - loop ;; label = @1 - i32.const 40 - local.set 36 - local.get 5 - local.get 36 - i32.add - local.set 37 - i32.const 88 - local.set 38 - local.get 5 - local.get 38 - i32.add - local.set 39 - local.get 37 - local.get 39 - call $_ZN104_$LT$core..iter..adapters..cloned..Cloned$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h2d16eb32d1b6ef60E - local.get 5 - i32.load offset=40 - local.set 40 - local.get 5 - i32.load offset=44 - local.set 41 - local.get 5 - local.get 41 - i32.store offset=100 - local.get 5 - local.get 40 - i32.store offset=96 - local.get 5 - i32.load offset=96 - local.set 42 - block ;; label = @2 - local.get 42 - br_if 0 (;@2;) - local.get 5 - i32.load8_u offset=75 - local.set 43 - i32.const 144 - local.set 44 - local.get 5 - local.get 44 - i32.add - local.set 45 - local.get 45 - global.set $__stack_pointer - local.get 43 - return - end - local.get 5 - i32.load offset=100 - local.set 46 - local.get 0 - i32.load offset=12 - local.set 47 - i32.const 1 - local.set 48 - local.get 47 - local.get 48 + local.get 2 + i32.load + local.set 14 + local.get 1 + i32.load + local.set 15 + local.get 14 + local.get 15 i32.sub - local.set 49 - i32.const 1 - local.set 50 - local.get 47 - local.set 51 - local.get 50 - local.set 52 - local.get 51 - local.get 52 - i32.lt_u - local.set 53 + local.set 16 + local.get 5 + local.get 16 + i32.store offset=12 i32.const 1 - local.set 54 - local.get 53 - local.get 54 - i32.and - local.set 55 + local.set 17 + local.get 5 + local.get 17 + i32.store offset=8 + end + local.get 5 + i32.load offset=8 + local.set 18 + local.get 5 + i32.load offset=12 + local.set 19 + local.get 0 + local.get 19 + i32.store offset=4 + local.get 0 + local.get 18 + i32.store + return) + (func $_ZN47_$LT$u32$u20$as$u20$core..iter..range..Step$GT$17forward_unchecked17h5c549402a7911c6aE (type 2) (param i32 i32) (result i32) + (local i32) + local.get 0 + local.get 1 + i32.add + local.set 2 + local.get 2 + return) + (func $_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$usize$GT$3cmp17h58aee2a32d7d5fa8E (type 2) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 2 + i32.const 16 + local.set 3 + local.get 2 + local.get 3 + i32.sub + local.set 4 + local.get 0 + i32.load + local.set 5 + local.get 1 + i32.load + local.set 6 + local.get 5 + local.set 7 + local.get 6 + local.set 8 + local.get 7 + local.get 8 + i32.lt_u + local.set 9 + i32.const 1 + local.set 10 + local.get 9 + local.get 10 + i32.and + local.set 11 + block ;; label = @1 block ;; label = @2 block ;; label = @3 - local.get 55 - br_if 0 (;@3;) - local.get 5 - local.get 49 - i32.store offset=108 - i32.const 0 - local.set 56 - local.get 5 - local.get 56 - i32.store offset=112 + block ;; label = @4 + block ;; label = @5 + local.get 11 + br_if 0 (;@5;) + local.get 0 + i32.load + local.set 12 + local.get 1 + i32.load + local.set 13 + local.get 12 + local.set 14 + local.get 13 + local.set 15 + local.get 14 + local.get 15 + i32.eq + local.set 16 + i32.const 1 + local.set 17 + local.get 16 + local.get 17 + i32.and + local.set 18 + local.get 18 + br_if 2 (;@3;) + br 1 (;@4;) + end + i32.const 255 + local.set 19 + local.get 4 + local.get 19 + i32.store8 offset=15 + br 3 (;@1;) + end i32.const 1 - local.set 57 - local.get 5 - local.get 57 - i32.store offset=116 - i32.const 3 - local.set 58 - i32.const 16 - local.set 59 - local.get 5 - local.get 59 - i32.add - local.set 60 - i32.const 108 - local.set 61 - local.get 5 - local.get 61 - i32.add - local.set 62 - local.get 60 - local.get 62 - local.get 58 - call $_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4iter17h5b0a1e9c784f8daeE - local.get 5 - i32.load offset=20 - local.set 63 - local.get 5 - i32.load offset=16 - local.set 64 - i32.const 24 - local.set 65 - local.get 5 - local.get 65 - i32.add - local.set 66 - local.get 66 - local.get 64 - local.get 63 - call $_ZN4core4iter6traits8iterator8Iterator6cloned17hbddc5cbb562d5c41E - local.get 5 - i32.load offset=28 - local.set 67 - local.get 5 - i32.load offset=24 - local.set 68 - i32.const 32 - local.set 69 - local.get 5 - local.get 69 - i32.add - local.set 70 - local.get 70 - local.get 68 - local.get 67 - call $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h0b928096a65a1ebcE - local.get 5 - i32.load offset=36 - local.set 71 - local.get 5 - i32.load offset=32 - local.set 72 - local.get 5 - local.get 72 - i32.store offset=120 - local.get 5 - local.get 71 - i32.store offset=124 + local.set 20 + local.get 4 + local.get 20 + i32.store8 offset=15 br 1 (;@2;) end - i32.const 1049888 - local.set 73 - i32.const 33 - local.set 74 - i32.const 1049924 - local.set 75 - local.get 73 - local.get 74 - local.get 75 - call $_ZN4core9panicking5panic17hfd6e422134ee8ce5E - unreachable + i32.const 0 + local.set 21 + local.get 4 + local.get 21 + i32.store8 offset=15 end - loop ;; label = @2 - i32.const 8 - local.set 76 - local.get 5 - local.get 76 - i32.add - local.set 77 - i32.const 120 - local.set 78 - local.get 5 - local.get 78 - i32.add - local.set 79 - local.get 77 - local.get 79 - call $_ZN104_$LT$core..iter..adapters..cloned..Cloned$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h2d16eb32d1b6ef60E - local.get 5 - i32.load offset=8 - local.set 80 - local.get 5 - i32.load offset=12 - local.set 81 - local.get 5 - local.get 81 - i32.store offset=132 - local.get 5 - local.get 80 - i32.store offset=128 - local.get 5 - i32.load offset=128 - local.set 82 - local.get 82 - i32.eqz - br_if 1 (;@1;) - local.get 5 - i32.load offset=132 - local.set 83 + end + local.get 4 + i32.load8_u offset=15 + local.set 22 + local.get 22 + return) + (func $_ZN4core3cmp6max_by17hcb9c71ffbd8edb51E (type 2) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 2 + i32.const 32 + local.set 3 + local.get 2 + local.get 3 + i32.sub + local.set 4 + local.get 4 + global.set $__stack_pointer + local.get 4 + local.get 0 + i32.store offset=4 + local.get 4 + local.get 1 + i32.store offset=8 + i32.const 1 + local.set 5 + local.get 4 + local.get 5 + i32.store8 offset=31 + local.get 4 + local.get 5 + i32.store8 offset=30 + i32.const 4 + local.set 6 + local.get 4 + local.get 6 + i32.add + local.set 7 + local.get 4 + local.get 7 + i32.store offset=20 + i32.const 8 + local.set 8 + local.get 4 + local.get 8 + i32.add + local.set 9 + local.get 4 + local.get 9 + i32.store offset=24 + local.get 4 + i32.load offset=20 + local.set 10 + local.get 4 + i32.load offset=24 + local.set 11 + local.get 10 + local.get 11 + call $_ZN4core3ops8function6FnOnce9call_once17h12346e7351a3b12dE + local.set 12 + local.get 4 + local.get 12 + i32.store8 offset=19 + local.get 4 + i32.load8_u offset=19 + local.set 13 + local.get 13 + local.get 5 + i32.add + local.set 14 + i32.const 255 + local.set 15 + local.get 14 + local.get 15 + i32.and + local.set 16 + block ;; label = @1 + block ;; label = @2 block ;; label = @3 - block ;; label = @4 - local.get 46 - br_if 0 (;@4;) - i32.const 0 - local.set 84 - local.get 83 - local.set 85 - local.get 84 - local.set 86 - local.get 85 - local.get 86 - i32.eq - local.set 87 - i32.const 1 - local.set 88 - local.get 87 - local.get 88 - i32.and - local.set 89 - local.get 5 - local.get 89 - i32.store8 offset=142 - br 1 (;@3;) - end - i32.const 0 - local.set 90 - local.get 5 - local.get 90 - i32.store8 offset=142 + local.get 16 + br_table 0 (;@3;) 0 (;@3;) 1 (;@2;) 0 (;@3;) end - local.get 5 - i32.load8_u offset=142 - local.set 91 - i32.const 1 - local.set 92 - local.get 91 - local.get 92 - i32.and - local.set 93 - local.get 93 - br_if 0 (;@2;) - local.get 1 - local.get 46 - i32.add - local.set 94 - local.get 94 - local.get 1 - i32.lt_u - local.set 95 - i32.const 1 - local.set 96 - local.get 95 - local.get 96 - i32.and - local.set 97 + i32.const 0 + local.set 17 + local.get 4 + local.get 17 + i32.store8 offset=30 + local.get 4 + i32.load offset=8 + local.set 18 + local.get 4 + local.get 18 + i32.store offset=12 + br 1 (;@1;) + end + i32.const 0 + local.set 19 + local.get 4 + local.get 19 + i32.store8 offset=31 + local.get 4 + i32.load offset=4 + local.set 20 + local.get 4 + local.get 20 + i32.store offset=12 + end + local.get 4 + i32.load8_u offset=30 + local.set 21 + i32.const 1 + local.set 22 + local.get 21 + local.get 22 + i32.and + local.set 23 + block ;; label = @1 + local.get 23 + i32.eqz + br_if 0 (;@1;) + end + local.get 4 + i32.load8_u offset=31 + local.set 24 + i32.const 1 + local.set 25 + local.get 24 + local.get 25 + i32.and + local.set 26 + block ;; label = @1 + local.get 26 + i32.eqz + br_if 0 (;@1;) + end + local.get 4 + i32.load offset=12 + local.set 27 + i32.const 32 + local.set 28 + local.get 4 + local.get 28 + i32.add + local.set 29 + local.get 29 + global.set $__stack_pointer + local.get 27 + return + unreachable) + (func $_ZN4core3ops8function6FnOnce9call_once17h12346e7351a3b12dE (type 2) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 2 + i32.const 16 + local.set 3 + local.get 2 + local.get 3 + i32.sub + local.set 4 + local.get 4 + global.set $__stack_pointer + local.get 4 + local.get 0 + i32.store offset=8 + local.get 4 + local.get 1 + i32.store offset=12 + local.get 4 + i32.load offset=8 + local.set 5 + local.get 4 + i32.load offset=12 + local.set 6 + local.get 5 + local.get 6 + call $_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$usize$GT$3cmp17h58aee2a32d7d5fa8E + local.set 7 + i32.const 16 + local.set 8 + local.get 4 + local.get 8 + i32.add + local.set 9 + local.get 9 + global.set $__stack_pointer + local.get 7 + return) + (func $_ZN4core3cmp6min_by17h49e049503750c28bE (type 2) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 2 + i32.const 32 + local.set 3 + local.get 2 + local.get 3 + i32.sub + local.set 4 + local.get 4 + global.set $__stack_pointer + local.get 4 + local.get 0 + i32.store offset=4 + local.get 4 + local.get 1 + i32.store offset=8 + i32.const 1 + local.set 5 + local.get 4 + local.get 5 + i32.store8 offset=31 + local.get 4 + local.get 5 + i32.store8 offset=30 + i32.const 4 + local.set 6 + local.get 4 + local.get 6 + i32.add + local.set 7 + local.get 4 + local.get 7 + i32.store offset=20 + i32.const 8 + local.set 8 + local.get 4 + local.get 8 + i32.add + local.set 9 + local.get 4 + local.get 9 + i32.store offset=24 + local.get 4 + i32.load offset=20 + local.set 10 + local.get 4 + i32.load offset=24 + local.set 11 + local.get 10 + local.get 11 + call $_ZN4core3ops8function6FnOnce9call_once17h12346e7351a3b12dE + local.set 12 + local.get 4 + local.get 12 + i32.store8 offset=19 + local.get 4 + i32.load8_u offset=19 + local.set 13 + local.get 13 + local.get 5 + i32.add + local.set 14 + i32.const 255 + local.set 15 + local.get 14 + local.get 15 + i32.and + local.set 16 + block ;; label = @1 + block ;; label = @2 block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - block ;; label = @10 - block ;; label = @11 - local.get 97 - br_if 0 (;@11;) - local.get 0 - i32.load offset=16 - local.set 98 - i32.const 0 - local.set 99 - local.get 98 - local.set 100 - local.get 99 - local.set 101 - local.get 100 - local.get 101 - i32.eq - local.set 102 - i32.const 1 - local.set 103 - local.get 102 - local.get 103 - i32.and - local.set 104 - local.get 104 - br_if 2 (;@9;) - br 1 (;@10;) - end - i32.const 1049824 - local.set 105 - i32.const 28 - local.set 106 - i32.const 1049940 - local.set 107 - local.get 105 - local.get 106 - local.get 107 - call $_ZN4core9panicking5panic17hfd6e422134ee8ce5E - unreachable - end - local.get 94 - local.get 98 - i32.rem_u - local.set 108 - local.get 2 - local.get 83 - i32.add - local.set 109 - local.get 109 - local.get 2 - i32.lt_u - local.set 110 - i32.const 1 - local.set 111 - local.get 110 - local.get 111 - i32.and - local.set 112 - local.get 112 - br_if 2 (;@7;) - br 1 (;@8;) - end - i32.const 1049968 - local.set 113 - i32.const 57 - local.set 114 - i32.const 1049940 - local.set 115 - local.get 113 - local.get 114 - local.get 115 - call $_ZN4core9panicking5panic17hfd6e422134ee8ce5E - unreachable - end - local.get 0 - i32.load offset=12 - local.set 116 - i32.const 0 - local.set 117 - local.get 116 - local.set 118 - local.get 117 - local.set 119 - local.get 118 - local.get 119 - i32.eq - local.set 120 - i32.const 1 - local.set 121 - local.get 120 - local.get 121 - i32.and - local.set 122 - local.get 122 - br_if 2 (;@5;) - br 1 (;@6;) - end - i32.const 1049824 - local.set 123 - i32.const 28 - local.set 124 - i32.const 1050028 - local.set 125 - local.get 123 - local.get 124 - local.get 125 - call $_ZN4core9panicking5panic17hfd6e422134ee8ce5E - unreachable - end - local.get 109 - local.get 116 - i32.rem_u - local.set 126 - local.get 0 - local.get 108 - local.get 126 - call $_ZN5index8Universe9get_index17h44b2afadeff1e6ffE - local.set 127 - i32.const 1050044 - local.set 128 - local.get 0 - local.get 127 - local.get 128 - call $_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h011a47b0357983f6E - local.set 129 - local.get 129 - i32.load8_u - local.set 130 - local.get 5 - local.get 130 - i32.store8 offset=143 - local.get 5 - i32.load8_u offset=143 - local.set 131 - local.get 5 - i32.load8_u offset=75 - local.set 132 - local.get 132 - local.get 131 - i32.add - local.set 133 - i32.const 255 - local.set 134 - local.get 133 - local.get 134 - i32.and - local.set 135 - local.get 135 - local.get 133 - i32.ne - local.set 136 - local.get 133 - local.set 137 - i32.const 1 - local.set 138 - local.get 136 - local.get 138 - i32.and - local.set 139 - local.get 139 - br_if 2 (;@3;) - br 1 (;@4;) - end - i32.const 1049968 - local.set 140 - i32.const 57 - local.set 141 - i32.const 1050028 - local.set 142 - local.get 140 - local.get 141 - local.get 142 - call $_ZN4core9panicking5panic17hfd6e422134ee8ce5E - unreachable - end - local.get 5 - local.get 137 - i32.store8 offset=75 - br 1 (;@2;) + local.get 16 + br_table 0 (;@3;) 0 (;@3;) 1 (;@2;) 0 (;@3;) end + i32.const 0 + local.set 17 + local.get 4 + local.get 17 + i32.store8 offset=31 + local.get 4 + i32.load offset=4 + local.set 18 + local.get 4 + local.get 18 + i32.store offset=12 + br 1 (;@1;) end + i32.const 0 + local.set 19 + local.get 4 + local.get 19 + i32.store8 offset=30 + local.get 4 + i32.load offset=8 + local.set 20 + local.get 4 + local.get 20 + i32.store offset=12 end - i32.const 1049824 - local.set 143 - i32.const 28 - local.set 144 - i32.const 1050060 - local.set 145 - local.get 143 - local.get 144 - local.get 145 - call $_ZN4core9panicking5panic17hfd6e422134ee8ce5E + local.get 4 + i32.load8_u offset=30 + local.set 21 + i32.const 1 + local.set 22 + local.get 21 + local.get 22 + i32.and + local.set 23 + block ;; label = @1 + local.get 23 + i32.eqz + br_if 0 (;@1;) + end + local.get 4 + i32.load8_u offset=31 + local.set 24 + i32.const 1 + local.set 25 + local.get 24 + local.get 25 + i32.and + local.set 26 + block ;; label = @1 + local.get 26 + i32.eqz + br_if 0 (;@1;) + end + local.get 4 + i32.load offset=12 + local.set 27 + i32.const 32 + local.set 28 + local.get 4 + local.get 28 + i32.add + local.set 29 + local.get 29 + global.set $__stack_pointer + local.get 27 + return unreachable) - (func $_ZN52_$LT$index..Cell$u20$as$u20$core..cmp..PartialEq$GT$2eq17h5a9fb12553d13beaE (type 2) (param i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN4core3fmt5Write9write_fmt17he4c4efce63cb8009E (type 2) (param i32 i32) (result i32) + (local i32 i32 i32) local.get 0 - i32.load8_u + local.get 1 + call $_ZN75_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write..write_fmt..SpecWriteFmt$GT$14spec_write_fmt17h6e789f577b89103fE local.set 2 i32.const 1 local.set 3 @@ -6122,440 +2689,493 @@ local.get 3 i32.and local.set 4 + local.get 4 + return) + (func $_ZN75_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write..write_fmt..SpecWriteFmt$GT$14spec_write_fmt17h6e789f577b89103fE (type 2) (param i32 i32) (result i32) + (local i32 i32 i32 i32) + i32.const 1048828 + local.set 2 + local.get 0 + local.get 2 local.get 1 - i32.load8_u - local.set 5 + call $_ZN4core3fmt5write17h362bec5724a70484E + local.set 3 i32.const 1 + local.set 4 + local.get 3 + local.get 4 + i32.and + local.set 5 + local.get 5 + return) + (func $_ZN4core3fmt9Arguments6new_v117h428008ca3fafacb9E (type 6) (param i32 i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 5 + i32.const 48 local.set 6 local.get 5 local.get 6 - i32.and + i32.sub local.set 7 - i32.const 255 + local.get 7 + global.set $__stack_pointer + local.get 2 local.set 8 local.get 4 - local.get 8 - i32.and local.set 9 - i32.const 255 + local.get 8 + local.get 9 + i32.lt_u local.set 10 + i32.const 1 + local.set 11 + local.get 10 + local.get 11 + i32.and + local.set 12 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 12 + br_if 0 (;@3;) + i32.const 1 + local.set 13 + local.get 4 + local.get 13 + i32.add + local.set 14 + local.get 2 + local.set 15 + local.get 14 + local.set 16 + local.get 15 + local.get 16 + i32.gt_u + local.set 17 + i32.const 1 + local.set 18 + local.get 17 + local.get 18 + i32.and + local.set 19 + local.get 19 + br_if 2 (;@1;) + br 1 (;@2;) + end + br 1 (;@1;) + end + i32.const 0 + local.set 20 + local.get 7 + local.get 20 + i32.store offset=32 + local.get 0 + local.get 1 + i32.store + local.get 0 + local.get 2 + i32.store offset=4 + local.get 7 + i32.load offset=32 + local.set 21 + local.get 7 + i32.load offset=36 + local.set 22 + local.get 0 + local.get 21 + i32.store offset=16 + local.get 0 + local.get 22 + i32.store offset=20 + local.get 0 + local.get 3 + i32.store offset=8 + local.get 0 + local.get 4 + i32.store offset=12 + i32.const 48 + local.set 23 + local.get 7 + local.get 23 + i32.add + local.set 24 + local.get 24 + global.set $__stack_pointer + return + end + i32.const 0 + local.set 25 local.get 7 - local.get 10 - i32.and - local.set 11 - local.get 9 - local.get 11 - i32.eq - local.set 12 + local.get 25 + i32.store offset=40 + i32.const 1048728 + local.set 26 + local.get 7 + local.get 26 + i32.store offset=8 i32.const 1 - local.set 13 - local.get 12 - local.get 13 - i32.and - local.set 14 - local.get 14 - return) - (func $_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h302bb0e70f81a0b3E (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32) - global.get $__stack_pointer - local.set 3 - i32.const 16 - local.set 4 - local.get 3 - local.get 4 - i32.sub - local.set 5 - local.get 5 - global.set $__stack_pointer + local.set 27 + local.get 7 + local.get 27 + i32.store offset=12 + local.get 7 + i32.load offset=40 + local.set 28 + local.get 7 + i32.load offset=44 + local.set 29 + local.get 7 + local.get 28 + i32.store offset=24 + local.get 7 + local.get 29 + i32.store offset=28 + i32.const 1048604 + local.set 30 + local.get 7 + local.get 30 + i32.store offset=16 + i32.const 0 + local.set 31 + local.get 7 + local.get 31 + i32.store offset=20 i32.const 8 - local.set 6 - local.get 2 - local.get 6 - i32.add - local.set 7 + local.set 32 local.get 7 - i32.load - local.set 8 - local.get 5 - local.get 6 + local.get 32 i32.add - local.set 9 - local.get 9 - local.get 8 - i32.store - local.get 2 - i64.load align=4 - local.set 10 - local.get 5 - local.get 10 - i64.store - local.get 5 - local.set 11 + local.set 33 + local.get 33 + local.set 34 + i32.const 1049016 + local.set 35 + local.get 34 + local.get 35 + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE + unreachable) + (func $_ZN4core3ptr232drop_in_place$LT$alloc..vec..Vec$LT$index..Cell$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..ops..range..Range$LT$u32$GT$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hef06c7cdca480da7E (type 7) (param i32) local.get 0 - local.get 1 - local.get 11 - call $_ZN4core4iter6traits8iterator8Iterator4fold17hd0577d556e07e09fE - i32.const 16 - local.set 12 - local.get 5 - local.get 12 - i32.add - local.set 13 - local.get 13 - global.set $__stack_pointer + call $_ZN4core3ptr62drop_in_place$LT$alloc..vec..set_len_on_drop..SetLenOnDrop$GT$17hc7da027bf3a57578E return) - (func $_ZN4core4iter6traits8iterator8Iterator4fold17hd0577d556e07e09fE (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN4core3ptr62drop_in_place$LT$alloc..vec..set_len_on_drop..SetLenOnDrop$GT$17hc7da027bf3a57578E (type 7) (param i32) + local.get 0 + call $_ZN83_$LT$alloc..vec..set_len_on_drop..SetLenOnDrop$u20$as$u20$core..ops..drop..Drop$GT$4drop17ha6ea0093e8de25feE + return) + (func $_ZN4core3ptr337drop_in_place$LT$core..iter..traits..iterator..Iterator..for_each..call$LT$index..Cell$C$alloc..vec..Vec$LT$index..Cell$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..ops..range..Range$LT$u32$GT$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hc6e3189f69a88f26E (type 7) (param i32) + local.get 0 + call $_ZN4core3ptr232drop_in_place$LT$alloc..vec..Vec$LT$index..Cell$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..ops..range..Range$LT$u32$GT$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hef06c7cdca480da7E + return) + (func $_ZN4core3ptr37drop_in_place$LT$core..fmt..Error$GT$17h3320a8636f572fa7E (type 7) (param i32) + return) + (func $_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h74d38b69f88484d8E (type 7) (param i32) + local.get 0 + call $_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hbad5bc2a916b47fcE + return) + (func $_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17hbad5bc2a916b47fcE (type 7) (param i32) + local.get 0 + call $_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h665033f981da57bdE + local.get 0 + call $_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h2f429599acfc77f8E + return) + (func $_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h665033f981da57bdE (type 7) (param i32) + (local i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer + local.set 1 + i32.const 16 + local.set 2 + local.get 1 + local.get 2 + i32.sub local.set 3 - i32.const 32 + local.get 0 + i32.load local.set 4 + local.get 0 + i32.load offset=8 + local.set 5 local.get 3 local.get 4 - i32.sub - local.set 5 - local.get 5 - global.set $__stack_pointer - local.get 5 - local.get 0 i32.store offset=8 + local.get 3 local.get 5 - local.get 1 i32.store offset=12 - block ;; label = @1 - loop ;; label = @2 - i32.const 8 - local.set 6 - local.get 5 - local.get 6 - i32.add - local.set 7 - local.get 5 - local.get 7 - call $_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$4next17h0eb5f198c843995bE - local.get 5 - i32.load - local.set 8 - local.get 5 - i32.load offset=4 - local.set 9 - local.get 5 - local.get 9 - i32.store offset=20 - local.get 5 - local.get 8 - i32.store offset=16 - local.get 5 - i32.load offset=16 - local.set 10 - i32.const 1 - local.set 11 - local.get 10 - local.set 12 - local.get 11 - local.set 13 - local.get 12 - local.get 13 - i32.eq - local.set 14 - i32.const 1 - local.set 15 - local.get 14 - local.get 15 - i32.and - local.set 16 - local.get 16 - i32.eqz - br_if 1 (;@1;) - local.get 5 - i32.load offset=20 - local.set 17 - local.get 5 - local.get 17 - i32.store offset=28 - local.get 5 - i32.load offset=28 - local.set 18 - local.get 2 - local.get 18 - call $_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d$$u7d$17h863208fc2143410cE - br 0 (;@2;) - end - end - local.get 2 - call $_ZN4core3ptr492drop_in_place$LT$core..iter..adapters..map..map_fold$LT$u32$C$index..Cell$C$$LP$$RP$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$index..Cell$C$alloc..vec..Vec$LT$index..Cell$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..ops..range..Range$LT$u32$GT$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h1a64bc9c89865b9fE - i32.const 32 - local.set 19 - local.get 5 - local.get 19 - i32.add - local.set 20 - local.get 20 - global.set $__stack_pointer + local.get 3 + i32.load offset=8 + local.set 6 + local.get 3 + i32.load offset=12 + local.set 7 + local.get 3 + local.get 6 + i32.store + local.get 3 + local.get 7 + i32.store offset=4 return) - (func $_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h2be38d3b49ea97dfE (type 0) (param i32 i32) + (func $_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h2f429599acfc77f8E (type 7) (param i32) local.get 0 - local.get 1 - call $_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$9size_hint17h18c237fd073004f5E + call $_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hd616b02d3d3d5238E return) - (func $_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$9size_hint17h18c237fd073004f5E (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN4core3ptr492drop_in_place$LT$core..iter..adapters..map..map_fold$LT$u32$C$index..Cell$C$$LP$$RP$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$index..Cell$C$alloc..vec..Vec$LT$index..Cell$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..ops..range..Range$LT$u32$GT$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hcbe4b66420d1e594E (type 7) (param i32) + local.get 0 + call $_ZN4core3ptr337drop_in_place$LT$core..iter..traits..iterator..Iterator..for_each..call$LT$index..Cell$C$alloc..vec..Vec$LT$index..Cell$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..ops..range..Range$LT$u32$GT$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hc6e3189f69a88f26E + return) + (func $_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hd616b02d3d3d5238E (type 7) (param i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer + local.set 1 + i32.const 16 local.set 2 - i32.const 32 - local.set 3 + local.get 1 local.get 2 - local.get 3 i32.sub + local.set 3 + local.get 3 + global.set $__stack_pointer + i32.const 4 local.set 4 + local.get 3 local.get 4 - global.set $__stack_pointer - local.get 1 - i32.load + i32.add local.set 5 - local.get 1 - i32.load offset=4 - local.set 6 local.get 5 - local.set 7 + local.set 6 local.get 6 + local.get 0 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17ha4b462c499445094E + local.get 3 + i32.load offset=8 + local.set 7 + i32.const 0 local.set 8 - local.get 7 - local.get 8 - i32.lt_u - local.set 9 i32.const 1 - local.set 10 + local.set 9 local.get 9 + local.get 8 + local.get 7 + select + local.set 10 + i32.const 1 + local.set 11 local.get 10 + local.set 12 + local.get 11 + local.set 13 + local.get 12 + local.get 13 + i32.eq + local.set 14 + i32.const 1 + local.set 15 + local.get 14 + local.get 15 i32.and - local.set 11 + local.set 16 block ;; label = @1 - block ;; label = @2 - local.get 11 - br_if 0 (;@2;) - i32.const 0 - local.set 12 - local.get 4 - local.get 12 - i32.store offset=28 - i32.const 1 - local.set 13 - local.get 4 - local.get 13 - i32.store offset=24 - i32.const 0 - local.set 14 - local.get 0 - local.get 14 - i32.store - local.get 4 - i32.load offset=24 - local.set 15 - local.get 4 - i32.load offset=28 - local.set 16 - local.get 0 - local.get 15 - i32.store offset=4 - local.get 0 - local.get 16 - i32.store offset=8 - br 1 (;@1;) - end - i32.const 4 + local.get 16 + i32.eqz + br_if 0 (;@1;) + local.get 3 + i32.load offset=4 local.set 17 - local.get 1 - local.get 17 - i32.add + local.get 3 + i32.load offset=8 local.set 18 - local.get 4 - local.get 1 - local.get 18 - call $_ZN47_$LT$u32$u20$as$u20$core..iter..range..Step$GT$13steps_between17h1f1031c850441460E - local.get 4 - i32.load offset=4 + local.get 3 + i32.load offset=12 local.set 19 - local.get 4 - i32.load + i32.const 8 local.set 20 - local.get 4 - local.get 20 - i32.store offset=16 - local.get 4 - local.get 19 - i32.store offset=20 - local.get 4 - i32.load offset=16 - local.set 21 - block ;; label = @2 - block ;; label = @3 - local.get 21 - br_if 0 (;@3;) - i32.const -1 - local.set 22 - local.get 4 - local.get 22 - i32.store offset=12 - br 1 (;@2;) - end - local.get 4 - i32.load offset=20 - local.set 23 - local.get 4 - local.get 23 - i32.store offset=12 - end - local.get 4 - i32.load offset=12 - local.set 24 - local.get 0 - local.get 24 - i32.store local.get 0 local.get 20 - i32.store offset=4 - local.get 0 + i32.add + local.set 21 + local.get 21 + local.get 17 + local.get 18 local.get 19 - i32.store offset=8 + call $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17haebe2a7e43aecc52E end - i32.const 32 - local.set 25 - local.get 4 - local.get 25 + i32.const 16 + local.set 22 + local.get 3 + local.get 22 i32.add - local.set 26 - local.get 26 + local.set 23 + local.get 23 global.set $__stack_pointer return) - (func $_ZN104_$LT$core..iter..adapters..cloned..Cloned$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h2d16eb32d1b6ef60E (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN4core3ptr55drop_in_place$LT$alloc..vec..Vec$LT$index..Cell$GT$$GT$17h7e423565a133bf60E (type 7) (param i32) + local.get 0 + call $_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9b062bee7d6e5bb1E + local.get 0 + call $_ZN4core3ptr62drop_in_place$LT$alloc..raw_vec..RawVec$LT$index..Cell$GT$$GT$17h60bb2f556d071f26E + return) + (func $_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h9b062bee7d6e5bb1E (type 7) (param i32) + (local i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer - local.set 2 + local.set 1 i32.const 16 - local.set 3 + local.set 2 + local.get 1 local.get 2 - local.get 3 i32.sub + local.set 3 + local.get 0 + i32.load local.set 4 - local.get 4 - global.set $__stack_pointer - local.get 1 - call $_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he08419cea81a45a8E + local.get 0 + i32.load offset=8 local.set 5 - i32.const 8 - local.set 6 + local.get 3 local.get 4 - local.get 6 - i32.add + i32.store offset=8 + local.get 3 + local.get 5 + i32.store offset=12 + local.get 3 + i32.load offset=8 + local.set 6 + local.get 3 + i32.load offset=12 local.set 7 + local.get 3 + local.get 6 + i32.store + local.get 3 local.get 7 - local.get 5 - call $_ZN4core6option19Option$LT$$RF$T$GT$6cloned17h4fd9f12854999b6bE + i32.store offset=4 + return) + (func $_ZN4core3ptr62drop_in_place$LT$alloc..raw_vec..RawVec$LT$index..Cell$GT$$GT$17h60bb2f556d071f26E (type 7) (param i32) + local.get 0 + call $_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h3b75a7d5aa86b4edE + return) + (func $_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h3b75a7d5aa86b4edE (type 7) (param i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 1 + i32.const 16 + local.set 2 + local.get 1 + local.get 2 + i32.sub + local.set 3 + local.get 3 + global.set $__stack_pointer + i32.const 4 + local.set 4 + local.get 3 local.get 4 + i32.add + local.set 5 + local.get 5 + local.set 6 + local.get 6 + local.get 0 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17ha73de0fe0a34a4bcE + local.get 3 i32.load offset=8 + local.set 7 + i32.const 0 local.set 8 - local.get 4 - i32.load offset=12 + i32.const 1 local.set 9 - local.get 0 local.get 9 - i32.store offset=4 - local.get 0 local.get 8 - i32.store - i32.const 16 + local.get 7 + select local.set 10 - local.get 4 + i32.const 1 + local.set 11 local.get 10 + local.set 12 + local.get 11 + local.set 13 + local.get 12 + local.get 13 + i32.eq + local.set 14 + i32.const 1 + local.set 15 + local.get 14 + local.get 15 + i32.and + local.set 16 + block ;; label = @1 + local.get 16 + i32.eqz + br_if 0 (;@1;) + local.get 3 + i32.load offset=4 + local.set 17 + local.get 3 + i32.load offset=8 + local.set 18 + local.get 3 + i32.load offset=12 + local.set 19 + i32.const 8 + local.set 20 + local.get 0 + local.get 20 + i32.add + local.set 21 + local.get 21 + local.get 17 + local.get 18 + local.get 19 + call $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17haebe2a7e43aecc52E + end + i32.const 16 + local.set 22 + local.get 3 + local.get 22 i32.add - local.set 11 - local.get 11 + local.set 23 + local.get 23 global.set $__stack_pointer return) - (func $_ZN4core6option19Option$LT$$RF$T$GT$6cloned17h4fd9f12854999b6bE (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer + (func $_ZN83_$LT$alloc..vec..set_len_on_drop..SetLenOnDrop$u20$as$u20$core..ops..drop..Drop$GT$4drop17ha6ea0093e8de25feE (type 7) (param i32) + (local i32 i32) + local.get 0 + i32.load offset=4 + local.set 1 + local.get 0 + i32.load local.set 2 - i32.const 16 - local.set 3 local.get 2 - local.get 3 - i32.sub - local.set 4 - local.get 4 local.get 1 - i32.store offset=4 - local.get 4 - i32.load offset=4 - local.set 5 - i32.const 0 - local.set 6 - i32.const 1 - local.set 7 - local.get 7 - local.get 6 - local.get 5 - select - local.set 8 - block ;; label = @1 - block ;; label = @2 - local.get 8 - br_if 0 (;@2;) - i32.const 0 - local.set 9 - local.get 4 - local.get 9 - i32.store offset=8 - br 1 (;@1;) - end - local.get 4 - i32.load offset=4 - local.set 10 - local.get 10 - i32.load - local.set 11 - local.get 4 - local.get 11 - i32.store offset=12 - i32.const 1 - local.set 12 - local.get 4 - local.get 12 - i32.store offset=8 - end - local.get 4 - i32.load offset=8 - local.set 13 - local.get 4 - i32.load offset=12 - local.set 14 - local.get 0 - local.get 14 - i32.store offset=4 - local.get 0 - local.get 13 i32.store return) - (func $_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17hc3b80b5e55e05a91E (type 10) (param i32 i32 i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN4core4char7methods15encode_utf8_raw17h91b144acde76a0faE (type 8) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer + local.set 4 + i32.const 112 + local.set 5 + local.get 4 + local.get 5 + i32.sub local.set 6 - i32.const 16 - local.set 7 local.get 6 - local.get 7 - i32.sub - local.set 8 - local.get 8 global.set $__stack_pointer + local.get 6 local.get 1 + i32.store offset=20 + local.get 6 + i32.load offset=20 + local.set 7 + i32.const 128 + local.set 8 + local.get 7 local.set 9 - local.get 2 + local.get 8 local.set 10 local.get 9 local.get 10 - i32.gt_u + i32.lt_u local.set 11 i32.const 1 local.set 12 @@ -6566,284 +3186,621 @@ block ;; label = @1 block ;; label = @2 block ;; label = @3 - local.get 13 - br_if 0 (;@3;) + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 13 + br_if 0 (;@8;) + i32.const 2048 + local.set 14 + local.get 7 + local.set 15 + local.get 14 + local.set 16 + local.get 15 + local.get 16 + i32.lt_u + local.set 17 + i32.const 1 + local.set 18 + local.get 17 + local.get 18 + i32.and + local.set 19 + local.get 19 + br_if 2 (;@6;) + br 1 (;@7;) + end + i32.const 1 + local.set 20 + local.get 6 + local.get 20 + i32.store offset=24 + br 6 (;@1;) + end + i32.const 65536 + local.set 21 + local.get 7 + local.set 22 + local.get 21 + local.set 23 + local.get 22 + local.get 23 + i32.lt_u + local.set 24 + i32.const 1 + local.set 25 + local.get 24 + local.get 25 + i32.and + local.set 26 + local.get 26 + br_if 2 (;@4;) + br 1 (;@5;) + end + i32.const 2 + local.set 27 + local.get 6 + local.get 27 + i32.store offset=24 + br 3 (;@2;) + end + i32.const 4 + local.set 28 + local.get 6 + local.get 28 + i32.store offset=24 + br 1 (;@3;) + end + i32.const 3 + local.set 29 + local.get 6 + local.get 29 + i32.store offset=24 + end + end + end + local.get 6 + i32.load offset=24 + local.set 30 + i32.const -1 + local.set 31 + local.get 30 + local.get 31 + i32.add + local.set 32 + i32.const 3 + local.set 33 + local.get 32 + local.get 33 + i32.gt_u + drop + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + local.get 32 + br_table 0 (;@10;) 1 (;@9;) 2 (;@8;) 3 (;@7;) 9 (;@1;) + end + i32.const 1 + local.set 34 + local.get 3 + local.set 35 + local.get 34 + local.set 36 + local.get 35 + local.get 36 + i32.ge_u + local.set 37 + i32.const 1 + local.set 38 + local.get 37 + local.get 38 + i32.and + local.set 39 + local.get 39 + br_if 3 (;@6;) + br 8 (;@1;) + end + i32.const 2 + local.set 40 + local.get 3 + local.set 41 + local.get 40 + local.set 42 + local.get 41 + local.get 42 + i32.ge_u + local.set 43 + i32.const 1 + local.set 44 + local.get 43 + local.get 44 + i32.and + local.set 45 + local.get 45 + br_if 3 (;@5;) + br 7 (;@1;) + end + i32.const 3 + local.set 46 + local.get 3 + local.set 47 + local.get 46 + local.set 48 + local.get 47 + local.get 48 + i32.ge_u + local.set 49 + i32.const 1 + local.set 50 + local.get 49 + local.get 50 + i32.and + local.set 51 + local.get 51 + br_if 3 (;@4;) + br 6 (;@1;) + end + i32.const 4 + local.set 52 + local.get 3 + local.set 53 + local.get 52 + local.set 54 + local.get 53 + local.get 54 + i32.ge_u + local.set 55 + i32.const 1 + local.set 56 + local.get 55 + local.get 56 + i32.and + local.set 57 + local.get 57 + br_if 3 (;@3;) + br 5 (;@1;) + end + local.get 6 + i32.load offset=20 + local.set 58 + local.get 2 + local.get 58 + i32.store8 + br 3 (;@2;) + end + local.get 6 + i32.load offset=20 + local.set 59 + i32.const 6 + local.set 60 + local.get 59 + local.get 60 + i32.shr_u + local.set 61 + i32.const 31 + local.set 62 + local.get 61 + local.get 62 + i32.and + local.set 63 + i32.const 192 + local.set 64 + local.get 63 + local.get 64 + i32.or + local.set 65 + local.get 2 + local.get 65 + i32.store8 + local.get 6 + i32.load8_u offset=20 + local.set 66 + i32.const 63 + local.set 67 + local.get 66 + local.get 67 + i32.and + local.set 68 + i32.const -128 + local.set 69 + local.get 68 + local.get 69 + i32.or + local.set 70 + local.get 2 + local.get 70 + i32.store8 offset=1 + br 2 (;@2;) + end + local.get 6 + i32.load offset=20 + local.set 71 + i32.const 12 + local.set 72 + local.get 71 + local.get 72 + i32.shr_u + local.set 73 + i32.const 15 + local.set 74 + local.get 73 + local.get 74 + i32.and + local.set 75 + i32.const 224 + local.set 76 + local.get 75 + local.get 76 + i32.or + local.set 77 local.get 2 - local.set 14 - local.get 4 - local.set 15 - local.get 14 - local.get 15 - i32.gt_u - local.set 16 - i32.const 1 - local.set 17 - local.get 16 - local.get 17 + local.get 77 + i32.store8 + local.get 6 + i32.load offset=20 + local.set 78 + i32.const 6 + local.set 79 + local.get 78 + local.get 79 + i32.shr_u + local.set 80 + i32.const 63 + local.set 81 + local.get 80 + local.get 81 i32.and - local.set 18 - local.get 18 - br_if 2 (;@1;) + local.set 82 + i32.const 128 + local.set 83 + local.get 82 + local.get 83 + i32.or + local.set 84 + local.get 2 + local.get 84 + i32.store8 offset=1 + local.get 6 + i32.load8_u offset=20 + local.set 85 + local.get 85 + local.get 81 + i32.and + local.set 86 + i32.const -128 + local.set 87 + local.get 86 + local.get 87 + i32.or + local.set 88 + local.get 2 + local.get 88 + i32.store8 offset=2 br 1 (;@2;) end - local.get 1 + local.get 6 + i32.load offset=20 + local.set 89 + i32.const 18 + local.set 90 + local.get 89 + local.get 90 + i32.shr_u + local.set 91 + i32.const 7 + local.set 92 + local.get 91 + local.get 92 + i32.and + local.set 93 + i32.const 240 + local.set 94 + local.get 93 + local.get 94 + i32.or + local.set 95 local.get 2 - local.get 5 - call $_ZN4core5slice5index22slice_index_order_fail17h31507632e276d053E - unreachable + local.get 95 + i32.store8 + local.get 6 + i32.load offset=20 + local.set 96 + i32.const 12 + local.set 97 + local.get 96 + local.get 97 + i32.shr_u + local.set 98 + i32.const 63 + local.set 99 + local.get 98 + local.get 99 + i32.and + local.set 100 + i32.const 128 + local.set 101 + local.get 100 + local.get 101 + i32.or + local.set 102 + local.get 2 + local.get 102 + i32.store8 offset=1 + local.get 6 + i32.load offset=20 + local.set 103 + i32.const 6 + local.set 104 + local.get 103 + local.get 104 + i32.shr_u + local.set 105 + local.get 105 + local.get 99 + i32.and + local.set 106 + local.get 106 + local.get 101 + i32.or + local.set 107 + local.get 2 + local.get 107 + i32.store8 offset=2 + local.get 6 + i32.load8_u offset=20 + local.set 108 + local.get 108 + local.get 99 + i32.and + local.set 109 + i32.const -128 + local.set 110 + local.get 109 + local.get 110 + i32.or + local.set 111 + local.get 2 + local.get 111 + i32.store8 offset=3 end + local.get 6 + i32.load offset=24 + local.set 112 + i32.const 0 + local.set 113 + local.get 6 + local.get 113 + i32.store offset=104 + local.get 6 + local.get 112 + i32.store offset=108 + local.get 6 + i32.load offset=104 + local.set 114 + local.get 6 + i32.load offset=108 + local.set 115 + i32.const 1049112 + local.set 116 + i32.const 8 + local.set 117 + local.get 6 + local.get 117 + i32.add + local.set 118 + local.get 118 + local.get 114 + local.get 115 local.get 2 - local.get 1 - i32.sub - local.set 19 local.get 3 - local.get 1 - i32.add - local.set 20 - local.get 8 - local.get 20 - i32.store offset=8 - local.get 8 - local.get 19 - i32.store offset=12 - local.get 8 + local.get 116 + call $_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h81ed307bba01b2a8E + local.get 6 i32.load offset=8 - local.set 21 - local.get 8 + local.set 119 + local.get 6 i32.load offset=12 - local.set 22 - local.get 8 - local.get 21 - i32.store - local.get 8 - local.get 22 - i32.store offset=4 - local.get 8 - i32.load - local.set 23 - local.get 8 - i32.load offset=4 - local.set 24 + local.set 120 local.get 0 - local.get 24 + local.get 120 i32.store offset=4 local.get 0 - local.get 23 + local.get 119 i32.store - i32.const 16 - local.set 25 - local.get 8 - local.get 25 + i32.const 112 + local.set 121 + local.get 6 + local.get 121 i32.add - local.set 26 - local.get 26 + local.set 122 + local.get 122 global.set $__stack_pointer return end - local.get 2 - local.get 4 - local.get 5 - call $_ZN4core5slice5index24slice_end_index_len_fail17he06aaf6517598049E + i32.const 24 + local.set 123 + local.get 6 + local.get 123 + i32.add + local.set 124 + local.get 124 + local.set 125 + local.get 6 + local.get 125 + i32.store offset=76 + i32.const 2 + local.set 126 + local.get 6 + local.get 126 + i32.store offset=80 + i32.const 20 + local.set 127 + local.get 6 + local.get 127 + i32.add + local.set 128 + local.get 128 + local.set 129 + local.get 6 + local.get 129 + i32.store offset=84 + i32.const 3 + local.set 130 + local.get 6 + local.get 130 + i32.store offset=88 + local.get 6 + local.get 3 + i32.store offset=100 + i32.const 100 + local.set 131 + local.get 6 + local.get 131 + i32.add + local.set 132 + local.get 132 + local.set 133 + local.get 6 + local.get 133 + i32.store offset=92 + i32.const 2 + local.set 134 + local.get 6 + local.get 134 + i32.store offset=96 + local.get 6 + i32.load offset=76 + local.set 135 + local.get 6 + i32.load offset=80 + local.set 136 + local.get 6 + local.get 135 + i32.store offset=52 + local.get 6 + local.get 136 + i32.store offset=56 + local.get 6 + i32.load offset=84 + local.set 137 + local.get 6 + i32.load offset=88 + local.set 138 + local.get 6 + local.get 137 + i32.store offset=60 + local.get 6 + local.get 138 + i32.store offset=64 + local.get 6 + i32.load offset=92 + local.set 139 + local.get 6 + i32.load offset=96 + local.set 140 + local.get 6 + local.get 139 + i32.store offset=68 + local.get 6 + local.get 140 + i32.store offset=72 + i32.const 28 + local.set 141 + local.get 6 + local.get 141 + i32.add + local.set 142 + local.get 142 + local.set 143 + i32.const 1049188 + local.set 144 + i32.const 3 + local.set 145 + i32.const 52 + local.set 146 + local.get 6 + local.get 146 + i32.add + local.set 147 + local.get 147 + local.set 148 + local.get 143 + local.get 144 + local.get 145 + local.get 148 + local.get 145 + call $_ZN4core3fmt9Arguments6new_v117h428008ca3fafacb9E + i32.const 28 + local.set 149 + local.get 6 + local.get 149 + i32.add + local.set 150 + local.get 150 + local.set 151 + i32.const 1049212 + local.set 152 + local.get 151 + local.get 152 + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE unreachable) - (func $_ZN153_$LT$core..result..Result$LT$T$C$F$GT$$u20$as$u20$core..ops..try_trait..FromResidual$LT$core..result..Result$LT$core..convert..Infallible$C$E$GT$$GT$$GT$13from_residual17h302a9b0536e27f73E (type 9) (param i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32) + (func $_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$4next17hb8a5ddf94a022688E (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer - local.set 1 - i32.const 16 local.set 2 - local.get 1 + i32.const 16 + local.set 3 local.get 2 + local.get 3 i32.sub - local.set 3 - i32.const 1 local.set 4 - local.get 3 local.get 4 - i32.store8 offset=15 - local.get 3 - i32.load8_u offset=15 + global.set $__stack_pointer + i32.const 8 local.set 5 - i32.const 1 - local.set 6 - local.get 5 - local.get 6 - i32.and - local.set 7 - local.get 7 - return) - (func $_ZN47_$LT$u32$u20$as$u20$core..iter..range..Step$GT$13steps_between17h1f1031c850441460E (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 3 - i32.const 16 - local.set 4 - local.get 3 local.get 4 - i32.sub - local.set 5 - local.get 1 - i32.load + local.get 5 + i32.add local.set 6 - local.get 2 - i32.load - local.set 7 local.get 6 - local.set 8 - local.get 7 - local.set 9 - local.get 8 - local.get 9 - i32.le_u - local.set 10 - i32.const 1 - local.set 11 - local.get 10 - local.get 11 - i32.and - local.set 12 - block ;; label = @1 - block ;; label = @2 - local.get 12 - br_if 0 (;@2;) - i32.const 0 - local.set 13 - local.get 5 - local.get 13 - i32.store offset=8 - br 1 (;@1;) - end - local.get 2 - i32.load - local.set 14 - local.get 1 - i32.load - local.set 15 - local.get 14 - local.get 15 - i32.sub - local.set 16 - local.get 5 - local.get 16 - i32.store offset=12 - i32.const 1 - local.set 17 - local.get 5 - local.get 17 - i32.store offset=8 - end - local.get 5 + local.get 1 + call $_ZN89_$LT$core..ops..range..Range$LT$T$GT$$u20$as$u20$core..iter..range..RangeIteratorImpl$GT$9spec_next17h2ccfe74e6d393a7eE + local.get 4 i32.load offset=8 - local.set 18 - local.get 5 + local.set 7 + local.get 4 i32.load offset=12 - local.set 19 + local.set 8 local.get 0 - local.get 19 + local.get 8 i32.store offset=4 local.get 0 - local.get 18 + local.get 7 i32.store - return) - (func $_ZN47_$LT$u32$u20$as$u20$core..iter..range..Step$GT$17forward_unchecked17h9933b3ebecb573efE (type 2) (param i32 i32) (result i32) - (local i32) - local.get 0 - local.get 1 - i32.add - local.set 2 - local.get 2 - return) - (func $_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$usize$GT$3cmp17hf378a3b27c6a4c02E (type 2) (param i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 2 i32.const 16 - local.set 3 - local.get 2 - local.get 3 - i32.sub - local.set 4 - local.get 0 - i32.load - local.set 5 - local.get 1 - i32.load - local.set 6 - local.get 5 - local.set 7 - local.get 6 - local.set 8 - local.get 7 - local.get 8 - i32.lt_u local.set 9 - i32.const 1 - local.set 10 + local.get 4 local.get 9 + i32.add + local.set 10 local.get 10 - i32.and - local.set 11 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - local.get 11 - br_if 0 (;@5;) - local.get 0 - i32.load - local.set 12 - local.get 1 - i32.load - local.set 13 - local.get 12 - local.set 14 - local.get 13 - local.set 15 - local.get 14 - local.get 15 - i32.eq - local.set 16 - i32.const 1 - local.set 17 - local.get 16 - local.get 17 - i32.and - local.set 18 - local.get 18 - br_if 2 (;@3;) - br 1 (;@4;) - end - i32.const 255 - local.set 19 - local.get 4 - local.get 19 - i32.store8 offset=15 - br 3 (;@1;) - end - i32.const 1 - local.set 20 - local.get 4 - local.get 20 - i32.store8 offset=15 - br 1 (;@2;) - end - i32.const 0 - local.set 21 - local.get 4 - local.get 21 - i32.store8 offset=15 - end - end - local.get 4 - i32.load8_u offset=15 - local.set 22 - local.get 22 + global.set $__stack_pointer return) - (func $_ZN4core3cmp6max_by17h2f68f711d6289889E (type 2) (param i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN89_$LT$core..ops..range..Range$LT$T$GT$$u20$as$u20$core..iter..range..RangeIteratorImpl$GT$9spec_next17h2ccfe74e6d393a7eE (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 2 - i32.const 32 + i32.const 16 local.set 3 local.get 2 local.get 3 @@ -6851,133 +3808,110 @@ local.set 4 local.get 4 global.set $__stack_pointer - local.get 4 - local.get 0 - i32.store - local.get 4 local.get 1 - i32.store offset=4 - i32.const 1 + i32.load local.set 5 - local.get 4 - local.get 5 - i32.store8 offset=31 - local.get 4 - local.get 5 - i32.store8 offset=30 - local.get 4 - local.get 4 - i32.store offset=16 - i32.const 4 + local.get 1 + i32.load offset=4 local.set 6 - local.get 4 - local.get 6 - i32.add + local.get 5 local.set 7 - local.get 4 - local.get 7 - i32.store offset=20 - local.get 4 - i32.load offset=16 + local.get 6 local.set 8 - local.get 4 - i32.load offset=20 - local.set 9 + local.get 7 local.get 8 - local.get 9 - call $_ZN4core3ops8function6FnOnce9call_once17h3ce8a9a00f530154E + i32.lt_u + local.set 9 + i32.const 1 local.set 10 - local.get 4 + local.get 9 local.get 10 - i32.store8 offset=15 - local.get 4 - i32.load8_u offset=15 - local.set 11 - local.get 11 - local.get 5 - i32.add - local.set 12 - i32.const 255 - local.set 13 - local.get 12 - local.get 13 i32.and - local.set 14 + local.set 11 block ;; label = @1 block ;; label = @2 - block ;; label = @3 - local.get 14 - br_table 0 (;@3;) 0 (;@3;) 1 (;@2;) 0 (;@3;) - end + local.get 11 + br_if 0 (;@2;) i32.const 0 - local.set 15 - local.get 4 - local.get 15 - i32.store8 offset=30 - local.get 4 - i32.load offset=4 - local.set 16 + local.set 12 local.get 4 - local.get 16 + local.get 12 i32.store offset=8 br 1 (;@1;) end - i32.const 0 - local.set 17 - local.get 4 - local.get 17 - i32.store8 offset=31 - local.get 4 + local.get 1 i32.load - local.set 18 + local.set 13 + i32.const 1 + local.set 14 + local.get 13 + local.get 14 + call $_ZN47_$LT$u32$u20$as$u20$core..iter..range..Step$GT$17forward_unchecked17h5c549402a7911c6aE + local.set 15 + local.get 1 + local.get 15 + i32.store local.get 4 - local.get 18 + local.get 13 + i32.store offset=12 + i32.const 1 + local.set 16 + local.get 4 + local.get 16 i32.store offset=8 end local.get 4 - i32.load8_u offset=30 + i32.load offset=8 + local.set 17 + local.get 4 + i32.load offset=12 + local.set 18 + local.get 0 + local.get 18 + i32.store offset=4 + local.get 0 + local.get 17 + i32.store + i32.const 16 local.set 19 - i32.const 1 - local.set 20 + local.get 4 local.get 19 + i32.add + local.set 20 local.get 20 - i32.and - local.set 21 - block ;; label = @1 - local.get 21 - i32.eqz - br_if 0 (;@1;) - end - local.get 4 - i32.load8_u offset=31 - local.set 22 - i32.const 1 - local.set 23 - local.get 22 - local.get 23 - i32.and - local.set 24 - block ;; label = @1 - local.get 24 - i32.eqz - br_if 0 (;@1;) - end + global.set $__stack_pointer + return) + (func $_ZN4core4iter6traits8iterator8Iterator3map17h6424cf1e29a4fd28E (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 3 + i32.const 16 + local.set 4 + local.get 3 local.get 4 + i32.sub + local.set 5 + local.get 5 + local.get 1 + i32.store offset=8 + local.get 5 + local.get 2 + i32.store offset=12 + local.get 5 i32.load offset=8 - local.set 25 - i32.const 32 - local.set 26 - local.get 4 - local.get 26 - i32.add - local.set 27 - local.get 27 - global.set $__stack_pointer - local.get 25 - return - unreachable) - (func $_ZN4core3ops8function6FnOnce9call_once17h3ce8a9a00f530154E (type 2) (param i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32) + local.set 6 + local.get 5 + i32.load offset=12 + local.set 7 + local.get 0 + local.get 7 + i32.store offset=4 + local.get 0 + local.get 6 + i32.store + return) + (func $_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d$$u7d$17ha4a8b9f5d96ed1ddE (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 2 i32.const 16 @@ -6988,174 +3922,182 @@ local.set 4 local.get 4 global.set $__stack_pointer - local.get 4 + i32.const 12 + local.set 5 local.get 0 - i32.store offset=8 + local.get 5 + i32.add + local.set 6 local.get 4 local.get 1 i32.store offset=12 local.get 4 - i32.load offset=8 + i32.load offset=12 + local.set 7 + local.get 6 + local.get 7 + call $_ZN5index8Universe3new28_$u7b$$u7b$closure$u7d$$u7d$17h6e692734aa7fd611E + local.set 8 + i32.const 1 + local.set 9 + local.get 8 + local.get 9 + i32.and + local.set 10 + local.get 4 + local.get 10 + i32.store8 offset=11 + local.get 4 + i32.load8_u offset=11 + local.set 11 + i32.const 1 + local.set 12 + local.get 11 + local.get 12 + i32.and + local.set 13 + local.get 0 + local.get 13 + call $_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17hf7aa493f65175abaE + i32.const 16 + local.set 14 + local.get 4 + local.get 14 + i32.add + local.set 15 + local.get 15 + global.set $__stack_pointer + return) + (func $_ZN4core4iter6traits8iterator8Iterator6cloned17h3578c7209fd65b8cE (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 3 + i32.const 16 + local.set 4 + local.get 3 + local.get 4 + i32.sub local.set 5 + local.get 5 + local.get 1 + i32.store offset=8 + local.get 5 + local.get 2 + i32.store offset=12 + local.get 5 + i32.load offset=8 + local.set 6 + local.get 5 + i32.load offset=12 + local.set 7 + local.get 0 + local.get 7 + i32.store offset=4 + local.get 0 + local.get 6 + i32.store + return) + (func $_ZN4core4iter6traits8iterator8Iterator7collect17h5a7d05434a394ca9E (type 3) (param i32 i32 i32) + local.get 0 + local.get 1 + local.get 2 + call $_ZN95_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$core..iter..traits..collect..FromIterator$LT$T$GT$$GT$9from_iter17hb01c814e8a44c691E + return) + (func $_ZN95_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$core..iter..traits..collect..FromIterator$LT$T$GT$$GT$9from_iter17hb01c814e8a44c691E (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 3 + i32.const 16 + local.set 4 + local.get 3 local.get 4 - i32.load offset=12 + i32.sub + local.set 5 + local.get 5 + global.set $__stack_pointer + i32.const 8 local.set 6 local.get 5 local.get 6 - call $_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$usize$GT$3cmp17hf378a3b27c6a4c02E + i32.add local.set 7 - i32.const 16 + local.get 7 + local.get 1 + local.get 2 + call $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h0ba1ca6b454d9fe0E + local.get 5 + i32.load offset=12 local.set 8 - local.get 4 - local.get 8 - i32.add + local.get 5 + i32.load offset=8 local.set 9 + local.get 0 local.get 9 + local.get 8 + call $_ZN98_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter..SpecFromIter$LT$T$C$I$GT$$GT$9from_iter17hef5f9e0868bfddb3E + i32.const 16 + local.set 10 + local.get 5 + local.get 10 + i32.add + local.set 11 + local.get 11 global.set $__stack_pointer - local.get 7 return) - (func $_ZN4core3cmp6min_by17hdad5962bdda2ad85E (type 2) (param i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN4core4iter6traits8iterator8Iterator8for_each17h010828be079b2ddcE (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32) global.get $__stack_pointer - local.set 2 - i32.const 32 local.set 3 - local.get 2 - local.get 3 - i32.sub + i32.const 16 local.set 4 + local.get 3 local.get 4 - global.set $__stack_pointer - local.get 4 - local.get 0 - i32.store - local.get 4 - local.get 1 - i32.store offset=4 - i32.const 1 + i32.sub local.set 5 - local.get 4 - local.get 5 - i32.store8 offset=31 - local.get 4 local.get 5 - i32.store8 offset=30 - local.get 4 - local.get 4 - i32.store offset=16 - i32.const 4 + global.set $__stack_pointer + i32.const 8 local.set 6 - local.get 4 + local.get 2 local.get 6 i32.add local.set 7 - local.get 4 local.get 7 - i32.store offset=20 - local.get 4 - i32.load offset=16 + i32.load local.set 8 - local.get 4 - i32.load offset=20 + local.get 5 + local.get 6 + i32.add local.set 9 - local.get 8 local.get 9 - call $_ZN4core3ops8function6FnOnce9call_once17h3ce8a9a00f530154E + local.get 8 + i32.store + local.get 2 + i64.load align=4 local.set 10 - local.get 4 + local.get 5 local.get 10 - i32.store8 offset=15 - local.get 4 - i32.load8_u offset=15 + i64.store + local.get 5 local.set 11 + local.get 0 + local.get 1 local.get 11 + call $_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h07ca9642c4fa0a53E + i32.const 16 + local.set 12 local.get 5 + local.get 12 i32.add - local.set 12 - i32.const 255 local.set 13 - local.get 12 local.get 13 - i32.and - local.set 14 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - local.get 14 - br_table 0 (;@3;) 0 (;@3;) 1 (;@2;) 0 (;@3;) - end - i32.const 0 - local.set 15 - local.get 4 - local.get 15 - i32.store8 offset=31 - local.get 4 - i32.load - local.set 16 - local.get 4 - local.get 16 - i32.store offset=8 - br 1 (;@1;) - end - i32.const 0 - local.set 17 - local.get 4 - local.get 17 - i32.store8 offset=30 - local.get 4 - i32.load offset=4 - local.set 18 - local.get 4 - local.get 18 - i32.store offset=8 - end - local.get 4 - i32.load8_u offset=30 - local.set 19 - i32.const 1 - local.set 20 - local.get 19 - local.get 20 - i32.and - local.set 21 - block ;; label = @1 - local.get 21 - i32.eqz - br_if 0 (;@1;) - end - local.get 4 - i32.load8_u offset=31 - local.set 22 - i32.const 1 - local.set 23 - local.get 22 - local.get 23 - i32.and - local.set 24 - block ;; label = @1 - local.get 24 - i32.eqz - br_if 0 (;@1;) - end - local.get 4 - i32.load offset=8 - local.set 25 - i32.const 32 - local.set 26 - local.get 4 - local.get 26 - i32.add - local.set 27 - local.get 27 global.set $__stack_pointer - local.get 25 - return - unreachable) - (func $_ZN4core3fmt5Write9write_fmt17hf44274f11aa39af1E (type 2) (param i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i64 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + return) + (func $_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17hf7aa493f65175abaE (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 2 - i32.const 32 + i32.const 16 local.set 3 local.get 2 local.get 3 @@ -7163,771 +4105,836 @@ local.set 4 local.get 4 global.set $__stack_pointer - local.get 4 - local.get 0 - i32.store offset=4 - i32.const 16 - local.set 5 local.get 1 + local.set 5 + local.get 4 local.get 5 - i32.add + i32.store8 offset=15 + local.get 4 + i32.load8_u offset=15 local.set 6 - local.get 6 - i64.load align=4 + i32.const 1 local.set 7 - i32.const 8 + local.get 6 + local.get 7 + i32.and local.set 8 - local.get 4 + local.get 0 local.get 8 - i32.add + call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$14extend_trusted28_$u7b$$u7b$closure$u7d$$u7d$17h93a915138884be3fE + i32.const 16 local.set 9 - local.get 9 - local.get 5 - i32.add - local.set 10 - local.get 10 - local.get 7 - i64.store - i32.const 8 - local.set 11 - local.get 1 - local.get 11 - i32.add - local.set 12 - local.get 12 - i64.load align=4 - local.set 13 - i32.const 8 - local.set 14 - local.get 4 - local.get 14 - i32.add - local.set 15 - local.get 15 - local.get 11 - i32.add - local.set 16 - local.get 16 - local.get 13 - i64.store - local.get 1 - i64.load align=4 - local.set 17 - local.get 4 - local.get 17 - i64.store offset=8 - i32.const 4 - local.set 18 - local.get 4 - local.get 18 - i32.add - local.set 19 - local.get 19 - local.set 20 - i32.const 1050148 - local.set 21 - i32.const 8 - local.set 22 - local.get 4 - local.get 22 - i32.add - local.set 23 - local.get 23 - local.set 24 - local.get 20 - local.get 21 - local.get 24 - call $_ZN4core3fmt5write17hce4d120ebbfb2b82E - local.set 25 - i32.const 1 - local.set 26 - local.get 25 - local.get 26 - i32.and - local.set 27 - i32.const 32 - local.set 28 local.get 4 - local.get 28 + local.get 9 i32.add - local.set 29 - local.get 29 + local.set 10 + local.get 10 global.set $__stack_pointer - local.get 27 return) - (func $_ZN4core3fmt9Arguments6new_v117h9013fe1fe120800fE (type 5) (param i32 i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer + (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$14extend_trusted28_$u7b$$u7b$closure$u7d$$u7d$17h93a915138884be3fE (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32) + local.get 0 + i32.load offset=8 + local.set 2 + local.get 0 + i32.load offset=4 + local.set 3 + local.get 2 + local.get 3 + i32.add + local.set 4 + local.get 1 local.set 5 - i32.const 48 - local.set 6 + local.get 4 local.get 5 - local.get 6 - i32.sub + i32.store8 + local.get 0 + i32.load offset=4 + local.set 6 + i32.const 1 local.set 7 + local.get 6 local.get 7 - global.set $__stack_pointer - local.get 2 + i32.add local.set 8 - local.get 4 - local.set 9 + local.get 0 local.get 8 - local.get 9 - i32.lt_u - local.set 10 + i32.store offset=4 + return) + (func $_ZN5index8Universe3new28_$u7b$$u7b$closure$u7d$$u7d$17h6e692734aa7fd611E (type 2) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 2 + i32.const 16 + local.set 3 + local.get 2 + local.get 3 + i32.sub + local.set 4 i32.const 1 + local.set 5 + local.get 1 + local.get 5 + i32.and + local.set 6 + block ;; label = @1 + block ;; label = @2 + local.get 6 + i32.eqz + br_if 0 (;@2;) + i32.const 7 + local.set 7 + local.get 1 + local.get 7 + i32.rem_u + local.set 8 + local.get 8 + i32.eqz + br_if 0 (;@2;) + i32.const 0 + local.set 9 + local.get 4 + local.get 9 + i32.store8 offset=15 + br 1 (;@1;) + end + i32.const 1 + local.set 10 + local.get 4 + local.get 10 + i32.store8 offset=15 + end + local.get 4 + i32.load8_u offset=15 local.set 11 - local.get 10 + i32.const 1 + local.set 12 local.get 11 + local.get 12 i32.and - local.set 12 + local.set 13 + local.get 13 + return) + (func $_ZN4core5alloc6layout6Layout5array5inner17hde74f827f47f01deE (type 8) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 4 + i32.const 32 + local.set 5 + local.get 4 + local.get 5 + i32.sub + local.set 6 + local.get 6 + global.set $__stack_pointer block ;; label = @1 block ;; label = @2 - local.get 12 + local.get 1 + i32.eqz br_if 0 (;@2;) + local.get 6 + local.get 2 + i32.store offset=24 + local.get 6 + i32.load offset=24 + local.set 7 i32.const 1 + local.set 8 + local.get 7 + local.get 8 + i32.sub + local.set 9 + i32.const 2147483647 + local.set 10 + local.get 10 + local.get 9 + i32.sub + local.set 11 + i32.const 0 + local.set 12 + local.get 1 local.set 13 - local.get 4 - local.get 13 - i32.add + local.get 12 local.set 14 - local.get 2 - local.set 15 + local.get 13 local.get 14 + i32.eq + local.set 15 + i32.const 1 local.set 16 local.get 15 local.get 16 - i32.gt_u - local.set 17 - i32.const 1 - local.set 18 - local.get 17 - local.get 18 i32.and - local.set 19 - local.get 7 - local.get 19 - i32.store8 offset=7 + local.set 17 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 17 + br_if 0 (;@5;) + local.get 11 + local.get 1 + i32.div_u + local.set 18 + local.get 3 + local.set 19 + local.get 18 + local.set 20 + local.get 19 + local.get 20 + i32.gt_u + local.set 21 + i32.const 1 + local.set 22 + local.get 21 + local.get 22 + i32.and + local.set 23 + local.get 23 + br_if 2 (;@3;) + br 1 (;@4;) + end + i32.const 1049328 + local.set 24 + i32.const 25 + local.set 25 + i32.const 1049308 + local.set 26 + local.get 24 + local.get 25 + local.get 26 + call $_ZN4core9panicking5panic17hb41dbc4083d9884eE + unreachable + end + br 1 (;@2;) + end + i32.const 0 + local.set 27 + local.get 6 + local.get 27 + i32.store offset=8 br 1 (;@1;) end - i32.const 1 - local.set 20 - local.get 7 - local.get 20 - i32.store8 offset=7 - end - local.get 7 - i32.load8_u offset=7 - local.set 21 - i32.const 1 - local.set 22 - local.get 21 - local.get 22 - i32.and - local.set 23 - block ;; label = @1 - local.get 23 - br_if 0 (;@1;) - i32.const 0 - local.set 24 - local.get 7 - local.get 24 - i32.store offset=32 - local.get 0 local.get 1 - i32.store - local.get 0 - local.get 2 - i32.store offset=4 - local.get 7 - i32.load offset=32 - local.set 25 - local.get 7 - i32.load offset=36 - local.set 26 - local.get 0 - local.get 25 - i32.store offset=16 - local.get 0 - local.get 26 - i32.store offset=20 - local.get 0 local.get 3 - i32.store offset=8 - local.get 0 - local.get 4 - i32.store offset=12 - i32.const 48 - local.set 27 - local.get 7 - local.get 27 - i32.add + i32.mul local.set 28 + local.get 6 + local.get 2 + i32.store offset=28 + local.get 6 + i32.load offset=28 + local.set 29 + local.get 6 local.get 28 - global.set $__stack_pointer - return - end - i32.const 0 - local.set 29 - local.get 7 - local.get 29 - i32.store offset=40 - i32.const 1050184 - local.set 30 - local.get 7 - local.get 30 - i32.store offset=8 - i32.const 1 - local.set 31 - local.get 7 - local.get 31 - i32.store offset=12 - local.get 7 - i32.load offset=40 + i32.store offset=20 + local.get 6 + local.get 29 + i32.store offset=16 + local.get 6 + i32.load offset=16 + local.set 30 + local.get 6 + i32.load offset=20 + local.set 31 + local.get 6 + local.get 30 + i32.store offset=8 + local.get 6 + local.get 31 + i32.store offset=12 + end + local.get 6 + i32.load offset=8 local.set 32 - local.get 7 - i32.load offset=44 + local.get 6 + i32.load offset=12 local.set 33 - local.get 7 - local.get 32 - i32.store offset=24 - local.get 7 + local.get 0 local.get 33 - i32.store offset=28 - i32.const 1050192 + i32.store offset=4 + local.get 0 + local.get 32 + i32.store + i32.const 32 local.set 34 - local.get 7 + local.get 6 local.get 34 - i32.store offset=16 - i32.const 0 + i32.add local.set 35 - local.get 7 local.get 35 - i32.store offset=20 - i32.const 8 - local.set 36 - local.get 7 - local.get 36 - i32.add - local.set 37 - local.get 37 - local.set 38 - i32.const 1050268 - local.set 39 - local.get 38 - local.get 39 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E - unreachable) - (func $_ZN4core3fmt9Arguments9new_const17h79371856f0b177bdE (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.set $__stack_pointer + return) + (func $_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4iter17h2f82be2143302357E (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 3 - i32.const 32 + i32.const 16 local.set 4 local.get 3 local.get 4 i32.sub local.set 5 - local.get 5 - global.set $__stack_pointer - i32.const 1 + i32.const 0 local.set 6 - local.get 2 + i32.const 1 local.set 7 local.get 6 - local.set 8 local.get 7 - local.get 8 - i32.gt_u - local.set 9 - i32.const 1 - local.set 10 - local.get 9 - local.get 10 i32.and - local.set 11 + local.set 8 block ;; label = @1 - local.get 11 - br_if 0 (;@1;) - i32.const 0 - local.set 12 + block ;; label = @2 + local.get 8 + br_if 0 (;@2;) + i32.const 2 + local.set 9 + local.get 2 + local.get 9 + i32.shl + local.set 10 + local.get 1 + local.get 10 + i32.add + local.set 11 + local.get 5 + local.get 11 + i32.store offset=8 + br 1 (;@1;) + end local.get 5 - local.get 12 - i32.store offset=24 - local.get 0 - local.get 1 - i32.store - local.get 0 local.get 2 - i32.store offset=4 - local.get 5 - i32.load offset=24 - local.set 13 - local.get 5 - i32.load offset=28 - local.set 14 - local.get 0 - local.get 13 - i32.store offset=16 - local.get 0 - local.get 14 - i32.store offset=20 - i32.const 1050192 - local.set 15 - local.get 0 - local.get 15 i32.store offset=8 - i32.const 0 - local.set 16 - local.get 0 - local.get 16 - i32.store offset=12 - i32.const 32 - local.set 17 - local.get 5 - local.get 17 - i32.add - local.set 18 - local.get 18 - global.set $__stack_pointer - return end local.get 5 - local.set 19 - i32.const 1050184 - local.set 20 - i32.const 1 - local.set 21 - local.get 19 - local.get 20 - local.get 21 - call $_ZN4core3fmt9Arguments9new_const17h79371856f0b177bdE + local.get 1 + i32.store offset=12 local.get 5 - local.set 22 - i32.const 1050284 - local.set 23 - local.get 22 - local.get 23 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E - unreachable) - (func $_ZN4core3ptr232drop_in_place$LT$alloc..vec..Vec$LT$index..Cell$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..ops..range..Range$LT$u32$GT$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h73efff61ad21c810E (type 6) (param i32) - local.get 0 - call $_ZN4core3ptr62drop_in_place$LT$alloc..vec..set_len_on_drop..SetLenOnDrop$GT$17h4e6f2c10522271bdE - return) - (func $_ZN4core3ptr62drop_in_place$LT$alloc..vec..set_len_on_drop..SetLenOnDrop$GT$17h4e6f2c10522271bdE (type 6) (param i32) - local.get 0 - call $_ZN83_$LT$alloc..vec..set_len_on_drop..SetLenOnDrop$u20$as$u20$core..ops..drop..Drop$GT$4drop17h333ed7b739fafe46E - return) - (func $_ZN4core3ptr337drop_in_place$LT$core..iter..traits..iterator..Iterator..for_each..call$LT$index..Cell$C$alloc..vec..Vec$LT$index..Cell$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..ops..range..Range$LT$u32$GT$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h776e6f134896d44bE (type 6) (param i32) - local.get 0 - call $_ZN4core3ptr232drop_in_place$LT$alloc..vec..Vec$LT$index..Cell$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..ops..range..Range$LT$u32$GT$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h73efff61ad21c810E - return) - (func $_ZN4core3ptr37drop_in_place$LT$core..fmt..Error$GT$17h08b1104fdb863a57E (type 6) (param i32) - return) - (func $_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc0df4eb28d8cec84E (type 6) (param i32) - local.get 0 - call $_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h0969ff94233ee04eE - return) - (func $_ZN4core3ptr46drop_in_place$LT$alloc..vec..Vec$LT$u8$GT$$GT$17h0969ff94233ee04eE (type 6) (param i32) - local.get 0 - call $_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h1ccf366d00469879E - local.get 0 - call $_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8514fc5873688f59E - return) - (func $_ZN4core3ptr53drop_in_place$LT$alloc..raw_vec..RawVec$LT$u8$GT$$GT$17h8514fc5873688f59E (type 6) (param i32) + i32.load offset=8 + local.set 12 + local.get 5 + i32.load offset=12 + local.set 13 + local.get 5 + local.get 13 + i32.store + local.get 5 + local.get 12 + i32.store offset=4 + local.get 5 + i32.load + local.set 14 + local.get 5 + i32.load offset=4 + local.set 15 local.get 0 - call $_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h534547f25c920ed0E - return) - (func $_ZN4core3ptr492drop_in_place$LT$core..iter..adapters..map..map_fold$LT$u32$C$index..Cell$C$$LP$$RP$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$C$core..iter..traits..iterator..Iterator..for_each..call$LT$index..Cell$C$alloc..vec..Vec$LT$index..Cell$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..ops..range..Range$LT$u32$GT$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h1a64bc9c89865b9fE (type 6) (param i32) + local.get 15 + i32.store offset=4 local.get 0 - call $_ZN4core3ptr337drop_in_place$LT$core..iter..traits..iterator..Iterator..for_each..call$LT$index..Cell$C$alloc..vec..Vec$LT$index..Cell$GT$..extend_trusted$LT$core..iter..adapters..map..Map$LT$core..ops..range..Range$LT$u32$GT$$C$index..Universe..new..$u7b$$u7b$closure$u7d$$u7d$$GT$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$..$u7b$$u7b$closure$u7d$$u7d$$GT$17h776e6f134896d44bE + local.get 14 + i32.store return) - (func $_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h534547f25c920ed0E (type 6) (param i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$6chunks17h3d5b5c43ca89da6dE (type 6) (param i32 i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer - local.set 1 - i32.const 16 - local.set 2 - local.get 1 - local.get 2 - i32.sub - local.set 3 - local.get 3 - global.set $__stack_pointer - local.get 3 - local.set 4 - local.get 4 - local.get 0 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h3141b25b685e6b54E - local.get 3 - i32.load offset=4 local.set 5 - i32.const 0 + i32.const 64 local.set 6 - i32.const 1 + local.get 5 + local.get 6 + i32.sub local.set 7 local.get 7 - local.get 6 - local.get 5 - select - local.set 8 - i32.const 1 - local.set 9 - local.get 8 - local.set 10 - local.get 9 - local.set 11 - local.get 10 - local.get 11 - i32.eq - local.set 12 - i32.const 1 - local.set 13 - local.get 12 - local.get 13 - i32.and - local.set 14 + global.set $__stack_pointer block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + local.get 3 + br_if 0 (;@3;) + i32.const 0 + local.set 8 + i32.const 1 + local.set 9 + local.get 8 + local.get 9 + i32.and + local.set 10 + local.get 10 + br_if 2 (;@1;) + br 1 (;@2;) + end + local.get 0 + local.get 1 + i32.store + local.get 0 + local.get 2 + i32.store offset=4 + local.get 0 + local.get 3 + i32.store offset=8 + i32.const 64 + local.set 11 + local.get 7 + local.get 11 + i32.add + local.set 12 + local.get 12 + global.set $__stack_pointer + return + end + i32.const 0 + local.set 13 + local.get 7 + local.get 13 + i32.store offset=56 + i32.const 1049380 + local.set 14 + local.get 7 local.get 14 - i32.eqz - br_if 0 (;@1;) - local.get 3 - i32.load + i32.store offset=8 + i32.const 1 local.set 15 - local.get 3 - i32.load offset=4 + local.get 7 + local.get 15 + i32.store offset=12 + local.get 7 + i32.load offset=56 local.set 16 - local.get 3 - i32.load offset=8 + local.get 7 + i32.load offset=60 local.set 17 - local.get 0 - local.get 15 + local.get 7 local.get 16 + i32.store offset=24 + local.get 7 local.get 17 - call $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha34b8860f87e0fefE + i32.store offset=28 + i32.const 1048604 + local.set 18 + local.get 7 + local.get 18 + i32.store offset=16 + i32.const 0 + local.set 19 + local.get 7 + local.get 19 + i32.store offset=20 + i32.const 8 + local.set 20 + local.get 7 + local.get 20 + i32.add + local.set 21 + local.get 21 + local.set 22 + local.get 22 + local.get 4 + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE + unreachable end - i32.const 16 - local.set 18 - local.get 3 - local.get 18 + i32.const 32 + local.set 23 + local.get 7 + local.get 23 i32.add - local.set 19 - local.get 19 - global.set $__stack_pointer - return) - (func $_ZN4core3ptr54drop_in_place$LT$$RF$mut$u20$alloc..string..String$GT$17h9fa1a98b644b9394E (type 6) (param i32) - return) - (func $_ZN4core3ptr55drop_in_place$LT$alloc..vec..Vec$LT$index..Cell$GT$$GT$17hc64429c14b705e93E (type 6) (param i32) - local.get 0 - call $_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h0c1126cfc22d667fE - local.get 0 - call $_ZN4core3ptr62drop_in_place$LT$alloc..raw_vec..RawVec$LT$index..Cell$GT$$GT$17h01b27af323d4cdfbE - return) - (func $_ZN4core3ptr62drop_in_place$LT$alloc..raw_vec..RawVec$LT$index..Cell$GT$$GT$17h01b27af323d4cdfbE (type 6) (param i32) - local.get 0 - call $_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h07998af37998e37fE - return) - (func $_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h07998af37998e37fE (type 6) (param i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + local.set 24 + local.get 24 + local.set 25 + i32.const 1048728 + local.set 26 + i32.const 1 + local.set 27 + local.get 25 + local.get 26 + local.get 27 + call $_ZN4core3fmt9Arguments9new_const17hc20d6a4705f59fffE + i32.const 32 + local.set 28 + local.get 7 + local.get 28 + i32.add + local.set 29 + local.get 29 + local.set 30 + i32.const 1048812 + local.set 31 + local.get 30 + local.get 31 + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE + unreachable) + (func $_ZN4core5slice4iter87_$LT$impl$u20$core..iter..traits..collect..IntoIterator$u20$for$u20$$RF$$u5b$T$u5d$$GT$9into_iter17h2b52094caae78498E (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer - local.set 1 - i32.const 16 - local.set 2 - local.get 1 - local.get 2 - i32.sub local.set 3 - local.get 3 - global.set $__stack_pointer - local.get 3 + i32.const 16 local.set 4 - local.get 4 - local.get 0 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hd6d2f2b2901d29e4E local.get 3 - i32.load offset=4 + local.get 4 + i32.sub local.set 5 i32.const 0 local.set 6 i32.const 1 local.set 7 - local.get 7 local.get 6 - local.get 5 - select + local.get 7 + i32.and local.set 8 - i32.const 1 - local.set 9 - local.get 8 + block ;; label = @1 + block ;; label = @2 + local.get 8 + br_if 0 (;@2;) + local.get 1 + local.get 2 + i32.add + local.set 9 + local.get 5 + local.get 9 + i32.store offset=8 + br 1 (;@1;) + end + local.get 5 + local.get 2 + i32.store offset=8 + end + local.get 5 + local.get 1 + i32.store offset=12 + local.get 5 + i32.load offset=8 local.set 10 - local.get 9 + local.get 5 + i32.load offset=12 local.set 11 - local.get 10 + local.get 5 local.get 11 - i32.eq + i32.store + local.get 5 + local.get 10 + i32.store offset=4 + local.get 5 + i32.load local.set 12 - i32.const 1 + local.get 5 + i32.load offset=4 local.set 13 - local.get 12 - local.get 13 - i32.and - local.set 14 - block ;; label = @1 - local.get 14 - i32.eqz - br_if 0 (;@1;) - local.get 3 - i32.load - local.set 15 - local.get 3 - i32.load offset=4 - local.set 16 - local.get 3 - i32.load offset=8 - local.set 17 - local.get 0 - local.get 15 - local.get 16 - local.get 17 - call $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17ha34b8860f87e0fefE - end - i32.const 16 - local.set 18 - local.get 3 - local.get 18 - i32.add - local.set 19 - local.get 19 - global.set $__stack_pointer - return) - (func $_ZN83_$LT$alloc..vec..set_len_on_drop..SetLenOnDrop$u20$as$u20$core..ops..drop..Drop$GT$4drop17h333ed7b739fafe46E (type 6) (param i32) - (local i32 i32) local.get 0 - i32.load offset=4 - local.set 1 + local.get 13 + i32.store offset=4 local.get 0 - i32.load - local.set 2 - local.get 2 - local.get 1 + local.get 12 i32.store return) - (func $_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$4next17h0eb5f198c843995bE (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN4core6result19Result$LT$T$C$E$GT$7map_err17ha27e000805bea386E (type 8) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer - local.set 2 - i32.const 16 - local.set 3 - local.get 2 - local.get 3 - i32.sub local.set 4 - local.get 4 - global.set $__stack_pointer - i32.const 8 + i32.const 32 local.set 5 local.get 4 local.get 5 - i32.add + i32.sub local.set 6 local.get 6 - local.get 1 - call $_ZN89_$LT$core..ops..range..Range$LT$T$GT$$u20$as$u20$core..iter..range..RangeIteratorImpl$GT$9spec_next17h1039390077de1298E - local.get 4 - i32.load offset=8 - local.set 7 - local.get 4 - i32.load offset=12 - local.set 8 - local.get 0 - local.get 8 - i32.store offset=4 - local.get 0 - local.get 7 - i32.store - i32.const 16 - local.set 9 - local.get 4 - local.get 9 - i32.add - local.set 10 - local.get 10 global.set $__stack_pointer - return) - (func $_ZN89_$LT$core..ops..range..Range$LT$T$GT$$u20$as$u20$core..iter..range..RangeIteratorImpl$GT$9spec_next17h1039390077de1298E (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 2 - i32.const 16 - local.set 3 - local.get 2 - local.get 3 - i32.sub - local.set 4 - local.get 4 - global.set $__stack_pointer - local.get 1 - i32.load - local.set 5 + local.get 6 local.get 1 - i32.load offset=4 - local.set 6 - local.get 5 + i32.store offset=20 + local.get 6 + local.get 2 + i32.store offset=24 + i32.const 1 local.set 7 local.get 6 - local.set 8 local.get 7 - local.get 8 - i32.lt_u - local.set 9 + i32.store8 offset=31 + local.get 6 + i32.load offset=20 + local.set 8 i32.const 1 + local.set 9 + i32.const 0 local.set 10 - local.get 9 local.get 10 - i32.and + local.get 9 + local.get 8 + select local.set 11 block ;; label = @1 block ;; label = @2 local.get 11 br_if 0 (;@2;) - i32.const 0 + local.get 6 + i32.load offset=20 local.set 12 - local.get 4 + local.get 6 + i32.load offset=24 + local.set 13 + local.get 0 local.get 12 + i32.store offset=4 + local.get 0 + local.get 13 i32.store offset=8 + i32.const 0 + local.set 14 + local.get 0 + local.get 14 + i32.store br 1 (;@1;) end - local.get 1 - i32.load - local.set 13 - i32.const 1 - local.set 14 - local.get 13 - local.get 14 - call $_ZN47_$LT$u32$u20$as$u20$core..iter..range..Step$GT$17forward_unchecked17h9933b3ebecb573efE + i32.const 0 local.set 15 - local.get 1 + local.get 6 local.get 15 - i32.store - local.get 4 - local.get 13 - i32.store offset=12 - i32.const 1 + i32.store8 offset=31 + i32.const 8 local.set 16 - local.get 4 + local.get 6 local.get 16 + i32.add + local.set 17 + local.get 17 + local.get 3 + call $_ZN5alloc7raw_vec11finish_grow28_$u7b$$u7b$closure$u7d$$u7d$17hf7394e4207fe76deE + local.get 6 + i32.load offset=12 + local.set 18 + local.get 6 + i32.load offset=8 + local.set 19 + local.get 0 + local.get 19 + i32.store offset=4 + local.get 0 + local.get 18 i32.store offset=8 + i32.const 1 + local.set 20 + local.get 0 + local.get 20 + i32.store end - local.get 4 - i32.load offset=8 - local.set 17 - local.get 4 - i32.load offset=12 - local.set 18 - local.get 0 - local.get 18 - i32.store offset=4 - local.get 0 - local.get 17 - i32.store - i32.const 16 - local.set 19 - local.get 4 - local.get 19 + local.get 6 + i32.load8_u offset=31 + local.set 21 + i32.const 1 + local.set 22 + local.get 21 + local.get 22 + i32.and + local.set 23 + block ;; label = @1 + local.get 23 + i32.eqz + br_if 0 (;@1;) + end + i32.const 32 + local.set 24 + local.get 6 + local.get 24 i32.add - local.set 20 - local.get 20 + local.set 25 + local.get 25 global.set $__stack_pointer return) - (func $_ZN4core4iter6traits8iterator8Iterator3map17he04336be859eee61E (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32) + (func $_ZN5alloc7raw_vec11finish_grow28_$u7b$$u7b$closure$u7d$$u7d$17hf7394e4207fe76deE (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer + local.set 2 + i32.const 32 local.set 3 - i32.const 16 - local.set 4 + local.get 2 local.get 3 - local.get 4 i32.sub - local.set 5 - local.get 5 + local.set 4 + local.get 4 local.get 1 - i32.store offset=8 - local.get 5 - local.get 2 i32.store offset=12 + local.get 4 + i32.load offset=12 + local.set 5 local.get 5 - i32.load offset=8 + i32.load local.set 6 local.get 5 - i32.load offset=12 + i32.load offset=4 local.set 7 - local.get 0 + local.get 4 + local.get 6 + i32.store offset=24 + local.get 4 local.get 7 + i32.store offset=28 + local.get 4 + i32.load offset=24 + local.set 8 + local.get 4 + i32.load offset=28 + local.set 9 + local.get 4 + local.get 8 + i32.store offset=16 + local.get 4 + local.get 9 + i32.store offset=20 + local.get 4 + i32.load offset=16 + local.set 10 + local.get 4 + i32.load offset=20 + local.set 11 + local.get 0 + local.get 11 i32.store offset=4 local.get 0 - local.get 6 + local.get 10 i32.store return) - (func $_ZN4core4iter8adapters3map8map_fold28_$u7b$$u7b$closure$u7d$$u7d$17h863208fc2143410cE (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hb170707739300343E (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer - local.set 2 - i32.const 16 local.set 3 - local.get 2 - local.get 3 - i32.sub + i32.const 48 local.set 4 + local.get 3 local.get 4 + i32.sub + local.set 5 + local.get 5 global.set $__stack_pointer - local.get 4 + local.get 5 local.get 1 - i32.store offset=12 - local.get 4 - i32.load offset=12 - local.set 5 - local.get 0 + i32.store offset=20 local.get 5 - call $_ZN5index8Universe3new28_$u7b$$u7b$closure$u7d$$u7d$17ha5612b59f698bd53E - local.set 6 + local.get 2 + i32.store offset=24 i32.const 1 - local.set 7 + local.set 6 + local.get 5 local.get 6 - local.get 7 - i32.and + i32.store8 offset=47 + local.get 5 + i32.load offset=20 + local.set 7 + i32.const -2147483647 local.set 8 - local.get 4 - local.get 8 - i32.store8 offset=11 - local.get 4 - i32.load8_u offset=11 + local.get 7 local.set 9 + local.get 8 + local.set 10 + local.get 9 + local.get 10 + i32.eq + local.set 11 + i32.const 0 + local.set 12 + i32.const 1 + local.set 13 + i32.const 1 + local.set 14 + local.get 11 + local.get 14 + i32.and + local.set 15 + local.get 12 + local.get 13 + local.get 15 + select + local.set 16 + block ;; label = @1 + block ;; label = @2 + local.get 16 + br_if 0 (;@2;) + i32.const -2147483647 + local.set 17 + local.get 5 + local.get 17 + i32.store offset=28 + br 1 (;@1;) + end + local.get 5 + i32.load offset=20 + local.set 18 + local.get 5 + i32.load offset=24 + local.set 19 + i32.const 0 + local.set 20 + local.get 5 + local.get 20 + i32.store8 offset=47 + local.get 5 + local.get 18 + i32.store offset=36 + local.get 5 + local.get 19 + i32.store offset=40 + local.get 5 + i32.load offset=36 + local.set 21 + local.get 5 + i32.load offset=40 + local.set 22 + i32.const 8 + local.set 23 + local.get 5 + local.get 23 + i32.add + local.set 24 + local.get 24 + local.get 21 + local.get 22 + call $_ZN5alloc7raw_vec14handle_reserve28_$u7b$$u7b$closure$u7d$$u7d$17h30fb289a10eae6d1E + local.get 5 + i32.load offset=12 + local.set 25 + local.get 5 + i32.load offset=8 + local.set 26 + local.get 5 + local.get 26 + i32.store offset=28 + local.get 5 + local.get 25 + i32.store offset=32 + end + local.get 5 + i32.load8_u offset=47 + local.set 27 i32.const 1 - local.set 10 - local.get 9 - local.get 10 + local.set 28 + local.get 27 + local.get 28 i32.and - local.set 11 + local.set 29 + block ;; label = @1 + local.get 29 + i32.eqz + br_if 0 (;@1;) + end + local.get 5 + i32.load offset=28 + local.set 30 + local.get 5 + i32.load offset=32 + local.set 31 local.get 0 - local.get 11 - call $_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17hb1efe3ea1ce50084E - i32.const 16 - local.set 12 - local.get 4 - local.get 12 + local.get 31 + i32.store offset=4 + local.get 0 + local.get 30 + i32.store + i32.const 48 + local.set 32 + local.get 5 + local.get 32 i32.add - local.set 13 - local.get 13 + local.set 33 + local.get 33 global.set $__stack_pointer return) - (func $_ZN4core4iter6traits8iterator8Iterator7collect17h7201d532c4b3026bE (type 3) (param i32 i32 i32) - local.get 0 - local.get 1 - local.get 2 - call $_ZN95_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$core..iter..traits..collect..FromIterator$LT$T$GT$$GT$9from_iter17h61a23f55740af955E - return) - (func $_ZN4core4iter6traits8iterator8Iterator8for_each17hab86fcec26390965E (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32) + (func $_ZN5alloc7raw_vec14handle_reserve28_$u7b$$u7b$closure$u7d$$u7d$17h30fb289a10eae6d1E (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 3 i32.const 16 @@ -7937,461 +4944,510 @@ i32.sub local.set 5 local.get 5 - global.set $__stack_pointer - i32.const 8 - local.set 6 - local.get 2 - local.get 6 - i32.add - local.set 7 - local.get 7 - i32.load - local.set 8 - local.get 5 - local.get 6 - i32.add - local.set 9 - local.get 9 - local.get 8 - i32.store - local.get 2 - i64.load align=4 - local.set 10 - local.get 5 - local.get 10 - i64.store - local.get 5 - local.set 11 - local.get 0 local.get 1 - local.get 11 - call $_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h302bb0e70f81a0b3E - i32.const 16 - local.set 12 + i32.store local.get 5 - local.get 12 - i32.add - local.set 13 - local.get 13 - global.set $__stack_pointer - return) - (func $_ZN4core4iter6traits8iterator8Iterator8for_each4call28_$u7b$$u7b$closure$u7d$$u7d$17hb1efe3ea1ce50084E (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 2 - i32.const 16 - local.set 3 local.get 2 - local.get 3 - i32.sub - local.set 4 - local.get 4 - global.set $__stack_pointer - local.get 1 - local.set 5 - local.get 4 + i32.store offset=4 local.get 5 - i32.store8 offset=15 - local.get 4 - i32.load8_u offset=15 + i32.load local.set 6 - i32.const 1 + i32.const 0 local.set 7 - local.get 6 - local.get 7 - i32.and + i32.const 1 local.set 8 - local.get 0 local.get 8 - call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$14extend_trusted28_$u7b$$u7b$closure$u7d$$u7d$17h312a1cc67cc7b177E - i32.const 16 - local.set 9 - local.get 4 - local.get 9 - i32.add - local.set 10 - local.get 10 - global.set $__stack_pointer - return) - (func $_ZN4core5alloc6layout6Layout5array5inner17hfbb2edc59de7921aE (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 4 - i32.const 32 - local.set 5 - local.get 4 - local.get 5 - i32.sub - local.set 6 - local.get 6 - global.set $__stack_pointer - block ;; label = @1 - block ;; label = @2 - local.get 1 - br_if 0 (;@2;) - i32.const 0 - local.set 7 - local.get 6 - local.get 7 - i32.store8 offset=15 - br 1 (;@1;) - end - local.get 6 - local.get 2 - i32.store offset=24 - local.get 6 - i32.load offset=24 - local.set 8 - i32.const 1 - local.set 9 - local.get 8 - local.get 9 - i32.sub - local.set 10 - i32.const 2147483647 - local.set 11 - local.get 11 - local.get 10 - i32.sub - local.set 12 - i32.const 0 - local.set 13 - local.get 1 - local.set 14 - local.get 13 - local.set 15 - local.get 14 - local.get 15 - i32.eq - local.set 16 - i32.const 1 - local.set 17 - local.get 16 - local.get 17 - i32.and - local.set 18 - block ;; label = @2 - local.get 18 - br_if 0 (;@2;) - local.get 12 - local.get 1 - i32.div_u - local.set 19 - local.get 3 - local.set 20 - local.get 19 - local.set 21 - local.get 20 - local.get 21 - i32.gt_u - local.set 22 - i32.const 1 - local.set 23 - local.get 22 - local.get 23 - i32.and - local.set 24 - local.get 6 - local.get 24 - i32.store8 offset=15 - br 1 (;@1;) - end - i32.const 1050400 - local.set 25 - i32.const 25 - local.set 26 - i32.const 1050380 - local.set 27 - local.get 25 - local.get 26 - local.get 27 - call $_ZN4core9panicking5panic17hfd6e422134ee8ce5E - unreachable - end + local.get 7 local.get 6 - i32.load8_u offset=15 - local.set 28 - i32.const 1 - local.set 29 - local.get 28 - local.get 29 - i32.and - local.set 30 + select + local.set 9 block ;; label = @1 block ;; label = @2 - local.get 30 - br_if 0 (;@2;) - local.get 1 - local.get 3 - i32.mul - local.set 31 - local.get 6 - local.get 2 - i32.store offset=28 - local.get 6 - i32.load offset=28 - local.set 32 - local.get 6 - local.get 31 - i32.store offset=20 - local.get 6 - local.get 32 - i32.store offset=16 - local.get 6 - i32.load offset=16 - local.set 33 - local.get 6 - i32.load offset=20 - local.set 34 - local.get 6 - local.get 33 - i32.store - local.get 6 - local.get 34 - i32.store offset=4 + local.get 9 + br_if 0 (;@2;) + i32.const 0 + local.set 10 + local.get 5 + local.get 10 + i32.store offset=8 br 1 (;@1;) end - i32.const 0 - local.set 35 - local.get 6 - local.get 35 - i32.store + local.get 5 + i32.load + local.set 11 + local.get 5 + i32.load offset=4 + local.set 12 + local.get 5 + local.get 11 + i32.store offset=8 + local.get 5 + local.get 12 + i32.store offset=12 end - local.get 6 - i32.load - local.set 36 - local.get 6 - i32.load offset=4 - local.set 37 + local.get 5 + i32.load offset=8 + local.set 13 + local.get 5 + i32.load offset=12 + local.set 14 local.get 0 - local.get 37 + local.get 14 i32.store offset=4 local.get 0 - local.get 36 + local.get 13 i32.store - i32.const 32 - local.set 38 - local.get 6 - local.get 38 - i32.add - local.set 39 - local.get 39 - global.set $__stack_pointer return) - (func $_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4iter17h5b0a1e9c784f8daeE (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hf981c3cf46e0176cE (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 3 - i32.const 16 + i32.const 32 local.set 4 local.get 3 local.get 4 i32.sub local.set 5 - i32.const 0 - local.set 6 + local.get 5 + global.set $__stack_pointer + local.get 5 + local.get 1 + i32.store offset=20 + local.get 5 + local.get 2 + i32.store offset=24 i32.const 1 - local.set 7 + local.set 6 + local.get 5 local.get 6 - local.get 7 - i32.and + i32.store8 offset=31 + local.get 5 + i32.load offset=20 + local.set 7 + i32.const 1 local.set 8 + i32.const 0 + local.set 9 + local.get 9 + local.get 8 + local.get 7 + select + local.set 10 block ;; label = @1 block ;; label = @2 - local.get 8 - br_if 0 (;@2;) - i32.const 2 - local.set 9 - local.get 2 - local.get 9 - i32.shl - local.set 10 - local.get 1 local.get 10 - i32.add + br_if 0 (;@2;) + local.get 5 + i32.load offset=20 local.set 11 local.get 5 + i32.load offset=24 + local.set 12 + local.get 0 local.get 11 + i32.store offset=4 + local.get 0 + local.get 12 i32.store offset=8 + i32.const 0 + local.set 13 + local.get 0 + local.get 13 + i32.store br 1 (;@1;) end + i32.const 0 + local.set 14 local.get 5 - local.get 2 + local.get 14 + i32.store8 offset=31 + i32.const 8 + local.set 15 + local.get 5 + local.get 15 + i32.add + local.set 16 + local.get 16 + call $_ZN5alloc7raw_vec11finish_grow28_$u7b$$u7b$closure$u7d$$u7d$17h198907a555d90521E + local.get 5 + i32.load offset=12 + local.set 17 + local.get 5 + i32.load offset=8 + local.set 18 + local.get 0 + local.get 18 + i32.store offset=4 + local.get 0 + local.get 17 i32.store offset=8 + i32.const 1 + local.set 19 + local.get 0 + local.get 19 + i32.store end local.get 5 - local.get 1 - i32.store offset=12 + i32.load8_u offset=31 + local.set 20 + i32.const 1 + local.set 21 + local.get 20 + local.get 21 + i32.and + local.set 22 + block ;; label = @1 + local.get 22 + i32.eqz + br_if 0 (;@1;) + end + i32.const 32 + local.set 23 local.get 5 + local.get 23 + i32.add + local.set 24 + local.get 24 + global.set $__stack_pointer + return) + (func $_ZN5alloc7raw_vec11finish_grow28_$u7b$$u7b$closure$u7d$$u7d$17h198907a555d90521E (type 7) (param i32) + (local i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 1 + i32.const 16 + local.set 2 + local.get 1 + local.get 2 + i32.sub + local.set 3 + i32.const 0 + local.set 4 + local.get 3 + local.get 4 + i32.store offset=8 + local.get 3 i32.load offset=8 - local.set 12 - local.get 5 + local.set 5 + local.get 3 i32.load offset=12 - local.set 13 + local.set 6 + local.get 0 + local.get 6 + i32.store offset=4 + local.get 0 local.get 5 - local.get 13 i32.store + return) + (func $_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17hbb25be0127bcc92dE (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 3 + i32.const 32 + local.set 4 + local.get 3 + local.get 4 + i32.sub + local.set 5 + local.get 5 + global.set $__stack_pointer + i32.const 0 + local.set 6 + i32.const 8 + local.set 7 + local.get 5 + local.get 7 + i32.add + local.set 8 + local.get 8 + local.get 2 + local.get 6 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17h72fc51a304adc19aE + local.get 5 + i32.load offset=12 + local.set 9 + local.get 5 + i32.load offset=8 + local.set 10 local.get 5 + local.get 10 + i32.store offset=20 + local.get 5 + local.get 9 + i32.store offset=24 + i32.const 0 + local.set 11 + local.get 5 + local.get 11 + i32.store offset=28 + local.get 5 + i32.load offset=20 + local.set 12 + i32.const 0 + local.set 13 + local.get 2 + local.get 13 + i32.shl + local.set 14 local.get 12 - i32.store offset=4 + local.get 1 + local.get 14 + call $memcpy + drop + local.get 5 + local.get 2 + i32.store offset=28 + local.get 5 + i64.load offset=20 align=4 + local.set 15 + local.get 0 + local.get 15 + i64.store align=4 + i32.const 8 + local.set 16 + local.get 0 + local.get 16 + i32.add + local.set 17 + i32.const 20 + local.set 18 local.get 5 + local.get 18 + i32.add + local.set 19 + local.get 19 + local.get 16 + i32.add + local.set 20 + local.get 20 i32.load - local.set 14 + local.set 21 + local.get 17 + local.get 21 + i32.store + i32.const 32 + local.set 22 local.get 5 - i32.load offset=4 - local.set 15 - local.get 0 - local.get 15 - i32.store offset=4 + local.get 22 + i32.add + local.set 23 + local.get 23 + global.set $__stack_pointer + return) + (func $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char17ha63d6b9ea41d3f5eE (type 2) (param i32 i32) (result i32) + (local i32 i32 i32) local.get 0 - local.get 14 - i32.store + local.get 1 + call $_ZN5alloc6string6String4push17h85cf65877c43c877E + i32.const 0 + local.set 2 + i32.const 1 + local.set 3 + local.get 2 + local.get 3 + i32.and + local.set 4 + local.get 4 return) - (func $_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h39f39cc027ebcfa6E (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN5alloc6string6String4push17h85cf65877c43c877E (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer + local.set 2 + i32.const 16 local.set 3 - i32.const 48 - local.set 4 + local.get 2 local.get 3 - local.get 4 i32.sub - local.set 5 - local.get 5 + local.set 4 + local.get 4 global.set $__stack_pointer - local.get 5 + i32.const 128 + local.set 5 local.get 1 - i32.store offset=16 - local.get 5 - local.get 2 - i32.store offset=20 - i32.const 1 local.set 6 local.get 5 - local.get 6 - i32.store8 offset=47 - local.get 5 - i32.load offset=16 local.set 7 - i32.const -2147483647 - local.set 8 + local.get 6 local.get 7 + i32.lt_u + local.set 8 + i32.const 1 local.set 9 local.get 8 - local.set 10 local.get 9 - local.get 10 - i32.eq - local.set 11 - i32.const 0 - local.set 12 + i32.and + local.set 10 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + local.get 10 + br_if 0 (;@8;) + i32.const 2048 + local.set 11 + local.get 1 + local.set 12 + local.get 11 + local.set 13 + local.get 12 + local.get 13 + i32.lt_u + local.set 14 + i32.const 1 + local.set 15 + local.get 14 + local.get 15 + i32.and + local.set 16 + local.get 16 + br_if 2 (;@6;) + br 1 (;@7;) + end + i32.const 1 + local.set 17 + local.get 4 + local.get 17 + i32.store offset=8 + br 6 (;@1;) + end + i32.const 65536 + local.set 18 + local.get 1 + local.set 19 + local.get 18 + local.set 20 + local.get 19 + local.get 20 + i32.lt_u + local.set 21 + i32.const 1 + local.set 22 + local.get 21 + local.get 22 + i32.and + local.set 23 + local.get 23 + br_if 2 (;@4;) + br 1 (;@5;) + end + i32.const 2 + local.set 24 + local.get 4 + local.get 24 + i32.store offset=8 + br 3 (;@2;) + end + i32.const 4 + local.set 25 + local.get 4 + local.get 25 + i32.store offset=8 + br 1 (;@3;) + end + i32.const 3 + local.set 26 + local.get 4 + local.get 26 + i32.store offset=8 + end + end + end + local.get 4 + i32.load offset=8 + local.set 27 i32.const 1 - local.set 13 + local.set 28 + local.get 27 + local.set 29 + local.get 28 + local.set 30 + local.get 29 + local.get 30 + i32.eq + local.set 31 i32.const 1 - local.set 14 - local.get 11 - local.get 14 + local.set 32 + local.get 31 + local.get 32 i32.and - local.set 15 - local.get 12 - local.get 13 - local.get 15 - select - local.set 16 + local.set 33 block ;; label = @1 block ;; label = @2 - local.get 16 + local.get 33 + i32.eqz br_if 0 (;@2;) - i32.const -2147483647 - local.set 17 - local.get 5 - local.get 17 - i32.store offset=24 + local.get 0 + local.get 1 + call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h2ad7b993b202687cE br 1 (;@1;) end - local.get 5 - i32.load offset=16 - local.set 18 - local.get 5 - i32.load offset=20 - local.set 19 + i32.const 12 + local.set 34 + local.get 4 + local.get 34 + i32.add + local.set 35 + local.get 35 + local.set 36 i32.const 0 - local.set 20 - local.get 5 - local.get 20 - i32.store8 offset=47 - local.get 5 - local.get 18 - i32.store offset=32 - local.get 5 - local.get 19 - i32.store offset=36 - local.get 5 - i32.load offset=32 - local.set 21 - local.get 5 - i32.load offset=36 - local.set 22 - i32.const 8 - local.set 23 - local.get 5 - local.get 23 + local.set 37 + local.get 36 + local.get 37 + i32.store align=1 + i32.const 4 + local.set 38 + i32.const 12 + local.set 39 + local.get 4 + local.get 39 i32.add - local.set 24 - local.get 24 - local.get 21 - local.get 22 - call $_ZN5alloc7raw_vec14handle_reserve28_$u7b$$u7b$closure$u7d$$u7d$17he83bbe062444042bE - local.get 5 - i32.load offset=12 - local.set 25 - local.get 5 - i32.load offset=8 - local.set 26 - local.get 5 - local.get 26 - i32.store offset=24 - local.get 5 - local.get 25 - i32.store offset=28 + local.set 40 + local.get 4 + local.get 1 + local.get 40 + local.get 38 + call $_ZN4core4char7methods15encode_utf8_raw17h91b144acde76a0faE + local.get 4 + i32.load offset=4 + local.set 41 + local.get 4 + i32.load + local.set 42 + local.get 0 + local.get 42 + local.get 41 + call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17ha116ed55dbc06e13E end - local.get 5 - i32.load8_u offset=47 - local.set 27 + i32.const 16 + local.set 43 + local.get 4 + local.get 43 + i32.add + local.set 44 + local.get 44 + global.set $__stack_pointer + return) + (func $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$9write_str17h5739f5b458ff7fc1E (type 1) (param i32 i32 i32) (result i32) + (local i32 i32 i32) + local.get 0 + local.get 1 + local.get 2 + call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17ha116ed55dbc06e13E + i32.const 0 + local.set 3 i32.const 1 - local.set 28 - local.get 27 - local.get 28 + local.set 4 + local.get 3 + local.get 4 i32.and - local.set 29 - block ;; label = @1 - local.get 29 - i32.eqz - br_if 0 (;@1;) - end - local.get 5 - i32.load offset=24 - local.set 30 - local.get 5 - i32.load offset=28 - local.set 31 - local.get 0 - local.get 31 - i32.store offset=4 - local.get 0 - local.get 30 - i32.store - i32.const 48 - local.set 32 + local.set 5 local.get 5 - local.get 32 - i32.add - local.set 33 - local.get 33 - global.set $__stack_pointer return) - (func $_ZN5alloc7raw_vec14handle_reserve28_$u7b$$u7b$closure$u7d$$u7d$17he83bbe062444042bE (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17ha116ed55dbc06e13E (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 3 i32.const 16 @@ -8401,403 +5457,385 @@ i32.sub local.set 5 local.get 5 - local.get 1 - i32.store - local.get 5 - local.get 2 - i32.store offset=4 - local.get 5 - i32.load - local.set 6 + global.set $__stack_pointer i32.const 0 - local.set 7 + local.set 6 i32.const 1 - local.set 8 - local.get 8 - local.get 7 + local.set 7 local.get 6 - select - local.set 9 + local.get 7 + i32.and + local.set 8 block ;; label = @1 block ;; label = @2 - local.get 9 + local.get 8 br_if 0 (;@2;) - i32.const 0 - local.set 10 + local.get 1 + local.get 2 + i32.add + local.set 9 local.get 5 - local.get 10 + local.get 9 i32.store offset=8 br 1 (;@1;) end local.get 5 - i32.load - local.set 11 - local.get 5 - i32.load offset=4 - local.set 12 - local.get 5 - local.get 11 + local.get 2 i32.store offset=8 - local.get 5 - local.get 12 - i32.store offset=12 end local.get 5 + local.get 1 + i32.store offset=12 + local.get 5 i32.load offset=8 - local.set 13 + local.set 10 local.get 5 i32.load offset=12 - local.set 14 - local.get 0 - local.get 14 - i32.store offset=4 - local.get 0 - local.get 13 - i32.store - return) - (func $_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h5982f674a89010aaE (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 3 - i32.const 32 - local.set 4 - local.get 3 - local.get 4 - i32.sub - local.set 5 - local.get 5 - global.set $__stack_pointer - local.get 5 - local.get 1 - i32.store offset=16 + local.set 11 local.get 5 - local.get 2 - i32.store offset=20 - i32.const 1 - local.set 6 + local.get 11 + i32.store local.get 5 - local.get 6 - i32.store8 offset=31 + local.get 10 + i32.store offset=4 local.get 5 - i32.load offset=16 - local.set 7 - i32.const 1 - local.set 8 - i32.const 0 - local.set 9 - local.get 9 - local.get 8 - local.get 7 - select - local.set 10 - block ;; label = @1 - block ;; label = @2 - local.get 10 - br_if 0 (;@2;) - local.get 5 - i32.load offset=16 - local.set 11 - local.get 5 - i32.load offset=20 - local.set 12 - local.get 0 - local.get 11 - i32.store offset=4 - local.get 0 - local.get 12 - i32.store offset=8 - i32.const 0 - local.set 13 - local.get 0 - local.get 13 - i32.store - br 1 (;@1;) - end - i32.const 0 - local.set 14 - local.get 5 - local.get 14 - i32.store8 offset=31 - i32.const 8 - local.set 15 - local.get 5 - local.get 15 - i32.add - local.set 16 - local.get 16 - call $_ZN5alloc7raw_vec11finish_grow28_$u7b$$u7b$closure$u7d$$u7d$17hb1beaa90ea6ae120E - local.get 5 - i32.load offset=12 - local.set 17 - local.get 5 - i32.load offset=8 - local.set 18 - local.get 0 - local.get 18 - i32.store offset=4 - local.get 0 - local.get 17 - i32.store offset=8 - i32.const 1 - local.set 19 - local.get 0 - local.get 19 - i32.store - end + i32.load + local.set 12 local.get 5 - i32.load8_u offset=31 - local.set 20 - i32.const 1 - local.set 21 - local.get 20 - local.get 21 - i32.and - local.set 22 - block ;; label = @1 - local.get 22 - i32.eqz - br_if 0 (;@1;) - end - i32.const 32 - local.set 23 + i32.load offset=4 + local.set 13 + local.get 0 + local.get 12 + local.get 13 + call $_ZN132_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$alloc..vec..spec_extend..SpecExtend$LT$$RF$T$C$core..slice..iter..Iter$LT$T$GT$$GT$$GT$11spec_extend17he8259e5e06c7688cE + i32.const 16 + local.set 14 local.get 5 - local.get 23 + local.get 14 i32.add - local.set 24 - local.get 24 + local.set 15 + local.get 15 global.set $__stack_pointer return) - (func $_ZN5alloc7raw_vec11finish_grow28_$u7b$$u7b$closure$u7d$$u7d$17hb1beaa90ea6ae120E (type 6) (param i32) - (local i32 i32 i32 i32 i32 i32) + (func $_ZN59_$LT$alloc..alloc..Global$u20$as$u20$core..clone..Clone$GT$5clone17h7110c1abb4d70507E (type 7) (param i32) + return) + (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$14extend_trusted17h84834286af8af33cE (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer - local.set 1 - i32.const 16 - local.set 2 - local.get 1 - local.get 2 - i32.sub local.set 3 - i32.const 0 + i32.const 112 local.set 4 local.get 3 local.get 4 - i32.store offset=8 - local.get 3 - i32.load offset=8 - local.set 5 - local.get 3 - i32.load offset=12 - local.set 6 - local.get 0 - local.get 6 - i32.store offset=4 - local.get 0 - local.get 5 - i32.store - return) - (func $_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hd2deccd7c24a623aE (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 4 - i32.const 32 + i32.sub local.set 5 - local.get 4 local.get 5 - i32.sub - local.set 6 - local.get 6 global.set $__stack_pointer - local.get 6 + local.get 5 local.get 1 - i32.store offset=16 - local.get 6 + i32.store offset=8 + local.get 5 local.get 2 - i32.store offset=20 - i32.const 1 - local.set 7 + i32.store offset=12 + i32.const 24 + local.set 6 + local.get 5 local.get 6 + i32.add + local.set 7 local.get 7 - i32.store8 offset=31 - local.get 6 - i32.load offset=16 local.set 8 - i32.const 1 + i32.const 8 local.set 9 - i32.const 0 + local.get 5 + local.get 9 + i32.add local.set 10 local.get 10 - local.get 9 - local.get 8 - select local.set 11 + local.get 8 + local.get 11 + call $_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h02dbb3e914644c64E + local.get 5 + i32.load offset=28 + local.set 12 + local.get 5 + i32.load offset=32 + local.set 13 + local.get 5 + local.get 12 + i32.store offset=16 + local.get 5 + local.get 13 + i32.store offset=20 + local.get 5 + i32.load offset=16 + local.set 14 + i32.const 1 + local.set 15 + local.get 14 + local.set 16 + local.get 15 + local.set 17 + local.get 16 + local.get 17 + i32.eq + local.set 18 + i32.const 1 + local.set 19 + local.get 18 + local.get 19 + i32.and + local.set 20 block ;; label = @1 - block ;; label = @2 - local.get 11 - br_if 0 (;@2;) - local.get 6 - i32.load offset=16 - local.set 12 - local.get 6 - i32.load offset=20 - local.set 13 - local.get 0 - local.get 12 - i32.store offset=4 - local.get 0 - local.get 13 - i32.store offset=8 - i32.const 0 - local.set 14 - local.get 0 - local.get 14 - i32.store - br 1 (;@1;) - end - i32.const 0 - local.set 15 - local.get 6 - local.get 15 - i32.store8 offset=31 - i32.const 8 - local.set 16 - local.get 6 - local.get 16 - i32.add - local.set 17 - local.get 17 - local.get 3 - call $_ZN5alloc7raw_vec11finish_grow28_$u7b$$u7b$closure$u7d$$u7d$17h74d78b02557fe2f4E - local.get 6 - i32.load offset=12 - local.set 18 - local.get 6 - i32.load offset=8 - local.set 19 + local.get 20 + i32.eqz + br_if 0 (;@1;) + local.get 5 + i32.load offset=20 + local.set 21 local.get 0 - local.get 19 - i32.store offset=4 + local.get 21 + call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h60b34b485e4ec4baE local.get 0 - local.get 18 - i32.store offset=8 - i32.const 1 - local.set 20 + i32.load + local.set 22 + i32.const 8 + local.set 23 local.get 0 - local.get 20 - i32.store + local.get 23 + i32.add + local.set 24 + local.get 0 + i32.load offset=8 + local.set 25 + local.get 5 + local.get 24 + i32.store offset=36 + local.get 5 + local.get 25 + i32.store offset=40 + local.get 5 + i32.load offset=8 + local.set 26 + local.get 5 + i32.load offset=12 + local.set 27 + local.get 5 + local.get 22 + i32.store offset=52 + local.get 5 + i32.load offset=36 + local.set 28 + local.get 5 + i32.load offset=40 + local.set 29 + local.get 5 + local.get 28 + i32.store offset=44 + local.get 5 + local.get 29 + i32.store offset=48 + i32.const 44 + local.set 30 + local.get 5 + local.get 30 + i32.add + local.set 31 + local.get 31 + local.set 32 + local.get 26 + local.get 27 + local.get 32 + call $_ZN4core4iter6traits8iterator8Iterator8for_each17h010828be079b2ddcE + i32.const 112 + local.set 33 + local.get 5 + local.get 33 + i32.add + local.set 34 + local.get 34 + global.set $__stack_pointer + return end - local.get 6 - i32.load8_u offset=31 - local.set 21 + i32.const 0 + local.set 35 i32.const 1 - local.set 22 - local.get 21 - local.get 22 + local.set 36 + local.get 35 + local.get 36 i32.and - local.set 23 + local.set 37 block ;; label = @1 - local.get 23 - i32.eqz + local.get 37 br_if 0 (;@1;) + i32.const 0 + local.set 38 + local.get 5 + local.get 38 + i32.store offset=104 + i32.const 1048596 + local.set 39 + local.get 5 + local.get 39 + i32.store offset=56 + i32.const 1 + local.set 40 + local.get 5 + local.get 40 + i32.store offset=60 + local.get 5 + i32.load offset=104 + local.set 41 + local.get 5 + i32.load offset=108 + local.set 42 + local.get 5 + local.get 41 + i32.store offset=72 + local.get 5 + local.get 42 + i32.store offset=76 + i32.const 1048604 + local.set 43 + local.get 5 + local.get 43 + i32.store offset=64 + i32.const 0 + local.set 44 + local.get 5 + local.get 44 + i32.store offset=68 + i32.const 56 + local.set 45 + local.get 5 + local.get 45 + i32.add + local.set 46 + local.get 46 + local.set 47 + i32.const 1049464 + local.set 48 + local.get 47 + local.get 48 + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE + unreachable end - i32.const 32 - local.set 24 - local.get 6 - local.get 24 + i32.const 80 + local.set 49 + local.get 5 + local.get 49 + i32.add + local.set 50 + local.get 50 + local.set 51 + i32.const 1048728 + local.set 52 + i32.const 1 + local.set 53 + local.get 51 + local.get 52 + local.get 53 + call $_ZN4core3fmt9Arguments9new_const17hc20d6a4705f59fffE + i32.const 80 + local.set 54 + local.get 5 + local.get 54 i32.add - local.set 25 - local.get 25 - global.set $__stack_pointer - return) - (func $_ZN5alloc7raw_vec11finish_grow28_$u7b$$u7b$closure$u7d$$u7d$17h74d78b02557fe2f4E (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + local.set 55 + local.get 55 + local.set 56 + i32.const 1048812 + local.set 57 + local.get 56 + local.get 57 + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE + unreachable) + (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$7reserve17h60b34b485e4ec4baE (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 2 - i32.const 32 + i32.const 16 local.set 3 local.get 2 local.get 3 i32.sub local.set 4 local.get 4 - local.get 1 - i32.store offset=12 - local.get 4 - i32.load offset=12 + global.set $__stack_pointer + local.get 0 + i32.load offset=8 local.set 5 - local.get 5 - i32.load + i32.const 0 local.set 6 - local.get 5 - i32.load offset=4 + i32.const 1 local.set 7 - local.get 4 local.get 6 - i32.store offset=24 - local.get 4 local.get 7 - i32.store offset=28 - local.get 4 - i32.load offset=24 + i32.and local.set 8 + block ;; label = @1 + block ;; label = @2 + local.get 8 + br_if 0 (;@2;) + local.get 0 + i32.load offset=4 + local.set 9 + local.get 4 + local.get 9 + i32.store offset=12 + br 1 (;@1;) + end + i32.const -1 + local.set 10 + local.get 4 + local.get 10 + i32.store offset=12 + end local.get 4 - i32.load offset=28 - local.set 9 - local.get 4 - local.get 8 - i32.store offset=16 - local.get 4 - local.get 9 - i32.store offset=20 - local.get 4 - i32.load offset=16 - local.set 10 - local.get 4 - i32.load offset=20 + i32.load offset=12 local.set 11 - local.get 0 local.get 11 - i32.store offset=4 - local.get 0 - local.get 10 - i32.store - return) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17h9501e077cb028725E (type 2) (param i32 i32) (result i32) - (local i32 i32 i32 i32) - local.get 0 - i32.load - local.set 2 - local.get 2 - local.get 1 - call $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char17hc417d4dac098394aE - local.set 3 - i32.const 1 - local.set 4 - local.get 3 - local.get 4 - i32.and - local.set 5 local.get 5 - return) - (func $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char17hc417d4dac098394aE (type 2) (param i32 i32) (result i32) - (local i32 i32 i32) - local.get 0 + i32.sub + local.set 12 local.get 1 - call $_ZN5alloc6string6String4push17h12a274ecb6034912E - i32.const 0 - local.set 2 + local.set 13 + local.get 12 + local.set 14 + local.get 13 + local.get 14 + i32.gt_u + local.set 15 i32.const 1 - local.set 3 - local.get 2 - local.get 3 + local.set 16 + local.get 15 + local.get 16 i32.and - local.set 4 + local.set 17 + block ;; label = @1 + local.get 17 + i32.eqz + br_if 0 (;@1;) + local.get 0 + local.get 5 + local.get 1 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h04a9e7db033a5aeaE + end + i32.const 16 + local.set 18 local.get 4 + local.get 18 + i32.add + local.set 19 + local.get 19 + global.set $__stack_pointer return) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h0ace149d9fb3975bE (type 2) (param i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i64 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h2ad7b993b202687cE (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 2 - i32.const 32 + i32.const 16 local.set 3 local.get 2 local.get 3 @@ -8806,1475 +5844,1751 @@ local.get 4 global.set $__stack_pointer local.get 0 - i32.load + i32.load offset=8 local.set 5 - i32.const 16 + i32.const 0 local.set 6 - local.get 1 - local.get 6 - i32.add + i32.const 1 local.set 7 + local.get 6 local.get 7 - i64.load align=4 + i32.and local.set 8 - i32.const 8 - local.set 9 + block ;; label = @1 + block ;; label = @2 + local.get 8 + br_if 0 (;@2;) + local.get 0 + i32.load offset=4 + local.set 9 + local.get 4 + local.get 9 + i32.store offset=12 + br 1 (;@1;) + end + i32.const -1 + local.set 10 + local.get 4 + local.get 10 + i32.store offset=12 + end local.get 4 - local.get 9 - i32.add - local.set 10 - local.get 10 - local.get 6 - i32.add + i32.load offset=12 local.set 11 - local.get 11 - local.get 8 - i64.store - i32.const 8 + local.get 5 local.set 12 - local.get 1 - local.get 12 - i32.add + local.get 11 local.set 13 + local.get 12 local.get 13 - i64.load align=4 + i32.eq local.set 14 - i32.const 8 + i32.const 1 local.set 15 - local.get 4 + local.get 14 local.get 15 - i32.add + i32.and local.set 16 - local.get 16 - local.get 12 - i32.add - local.set 17 - local.get 17 - local.get 14 - i64.store - local.get 1 - i64.load align=4 + block ;; label = @1 + block ;; label = @2 + local.get 16 + br_if 0 (;@2;) + br 1 (;@1;) + end + local.get 0 + i32.load offset=8 + local.set 17 + local.get 0 + local.get 17 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h474eadd3108fa100E + end + local.get 0 + i32.load local.set 18 - local.get 4 - local.get 18 - i64.store offset=8 - i32.const 8 + local.get 0 + i32.load offset=8 local.set 19 - local.get 4 + local.get 18 local.get 19 i32.add local.set 20 local.get 20 + local.get 1 + i32.store8 + local.get 0 + i32.load offset=8 local.set 21 - local.get 5 - local.get 21 - call $_ZN4core3fmt5Write9write_fmt17hf44274f11aa39af1E - local.set 22 i32.const 1 - local.set 23 + local.set 22 + local.get 21 local.get 22 + i32.add + local.set 23 + local.get 0 local.get 23 - i32.and + i32.store offset=8 + i32.const 16 local.set 24 - i32.const 32 - local.set 25 local.get 4 - local.get 25 + local.get 24 i32.add - local.set 26 - local.get 26 + local.set 25 + local.get 25 global.set $__stack_pointer - local.get 24 return) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17he78419bed925594bE (type 1) (param i32 i32 i32) (result i32) - (local i32 i32 i32 i32) - local.get 0 - i32.load - local.set 3 - local.get 3 - local.get 1 + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h474eadd3108fa100E (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 2 + i32.const 16 + local.set 3 local.get 2 - call $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$9write_str17h8518f18cab991192E + local.get 3 + i32.sub local.set 4 + local.get 4 + global.set $__stack_pointer i32.const 1 local.set 5 - local.get 4 - local.get 5 - i32.and + i32.const 8 local.set 6 + local.get 4 local.get 6 - return) - (func $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$9write_str17h8518f18cab991192E (type 1) (param i32 i32 i32) (result i32) - (local i32 i32 i32) + i32.add + local.set 7 + local.get 7 local.get 0 local.get 1 - local.get 2 - call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hfe1f54dd7402a16eE - i32.const 0 + local.get 5 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h1ffc49a20d99d8a2E + local.get 4 + i32.load offset=12 + local.set 8 + local.get 4 + i32.load offset=8 + local.set 9 + local.get 9 + local.get 8 + call $_ZN5alloc7raw_vec14handle_reserve17h1c408bce1405e38fE + i32.const 16 + local.set 10 + local.get 4 + local.get 10 + i32.add + local.set 11 + local.get 11 + global.set $__stack_pointer + return) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h04a9e7db033a5aeaE (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer local.set 3 - i32.const 1 + i32.const 16 local.set 4 local.get 3 local.get 4 - i32.and + i32.sub local.set 5 local.get 5 + global.set $__stack_pointer + i32.const 8 + local.set 6 + local.get 5 + local.get 6 + i32.add + local.set 7 + local.get 7 + local.get 0 + local.get 1 + local.get 2 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h9b6dece91f0c91a9E + local.get 5 + i32.load offset=12 + local.set 8 + local.get 5 + i32.load offset=8 + local.set 9 + local.get 9 + local.get 8 + call $_ZN5alloc7raw_vec14handle_reserve17h1c408bce1405e38fE + i32.const 16 + local.set 10 + local.get 5 + local.get 10 + i32.add + local.set 11 + local.get 11 + global.set $__stack_pointer return) - (func $_ZN5alloc6string6String4push17h12a274ecb6034912E (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h50013dd7585d6be0E (type 3) (param i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer - local.set 2 - i32.const 16 local.set 3 - local.get 2 - local.get 3 - i32.sub + i32.const 16 local.set 4 + local.get 3 local.get 4 - global.set $__stack_pointer - i32.const 128 + i32.sub local.set 5 - local.get 1 + local.get 5 + global.set $__stack_pointer + i32.const 8 local.set 6 local.get 5 - local.set 7 local.get 6 + i32.add + local.set 7 local.get 7 - i32.lt_u + local.get 0 + local.get 1 + local.get 2 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h1ffc49a20d99d8a2E + local.get 5 + i32.load offset=12 local.set 8 - i32.const 1 + local.get 5 + i32.load offset=8 local.set 9 - local.get 8 local.get 9 - i32.and - local.set 10 - block ;; label = @1 - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 - block ;; label = @5 - block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - local.get 10 - br_if 0 (;@8;) - i32.const 2048 - local.set 11 - local.get 1 - local.set 12 - local.get 11 - local.set 13 - local.get 12 - local.get 13 - i32.lt_u - local.set 14 - i32.const 1 - local.set 15 - local.get 14 - local.get 15 - i32.and - local.set 16 - local.get 16 - br_if 2 (;@6;) - br 1 (;@7;) - end - i32.const 1 - local.set 17 - local.get 4 - local.get 17 - i32.store offset=8 - br 6 (;@1;) - end - i32.const 65536 - local.set 18 - local.get 1 - local.set 19 - local.get 18 - local.set 20 - local.get 19 - local.get 20 - i32.lt_u - local.set 21 - i32.const 1 - local.set 22 - local.get 21 - local.get 22 - i32.and - local.set 23 - local.get 23 - br_if 2 (;@4;) - br 1 (;@5;) - end - i32.const 2 - local.set 24 - local.get 4 - local.get 24 - i32.store offset=8 - br 3 (;@2;) - end - i32.const 4 - local.set 25 - local.get 4 - local.get 25 - i32.store offset=8 - br 1 (;@3;) - end - i32.const 3 - local.set 26 - local.get 4 - local.get 26 - i32.store offset=8 - end - end - end - local.get 4 - i32.load offset=8 - local.set 27 - i32.const 1 - local.set 28 - local.get 27 - local.set 29 - local.get 28 - local.set 30 - local.get 29 - local.get 30 - i32.eq - local.set 31 - i32.const 1 - local.set 32 - local.get 31 - local.get 32 - i32.and - local.set 33 - block ;; label = @1 - block ;; label = @2 - local.get 33 - i32.eqz - br_if 0 (;@2;) - local.get 0 - local.get 1 - call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17hd9436460a6029ec3E - br 1 (;@1;) - end - i32.const 12 - local.set 34 - local.get 4 - local.get 34 - i32.add - local.set 35 - local.get 35 - local.set 36 - i32.const 0 - local.set 37 - local.get 36 - local.get 37 - i32.store align=1 - i32.const 4 - local.set 38 - i32.const 12 - local.set 39 - local.get 4 - local.get 39 - i32.add - local.set 40 - local.get 4 - local.get 1 - local.get 40 - local.get 38 - call $_ZN4core4char7methods15encode_utf8_raw17hac75b2f6d3db370fE - local.get 4 - i32.load offset=4 - local.set 41 - local.get 4 - i32.load - local.set 42 - local.get 0 - local.get 42 - local.get 41 - call $_ZN5alloc3vec16Vec$LT$T$C$A$GT$17extend_from_slice17hfe1f54dd7402a16eE - end + local.get 8 + call $_ZN5alloc7raw_vec14handle_reserve17h1c408bce1405e38fE i32.const 16 - local.set 43 - local.get 4 - local.get 43 + local.set 10 + local.get 5 + local.get 10 i32.add - local.set 44 - local.get 44 + local.set 11 + local.get 11 global.set $__stack_pointer return) - (func $_ZN5alloc7raw_vec11finish_grow17h92fc14403172c315E (type 5) (param i32 i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN5alloc3vec16Vec$LT$T$C$A$GT$8as_slice17hf58bef610c257386E (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer + local.set 2 + i32.const 16 + local.set 3 + local.get 2 + local.get 3 + i32.sub + local.set 4 + local.get 1 + i32.load local.set 5 - i32.const 160 + local.get 1 + i32.load offset=8 local.set 6 + local.get 4 local.get 5 + i32.store offset=8 + local.get 4 local.get 6 - i32.sub + i32.store offset=12 + local.get 4 + i32.load offset=8 local.set 7 - local.get 7 - global.set $__stack_pointer - i32.const 40 + local.get 4 + i32.load offset=12 local.set 8 + local.get 4 local.get 7 + i32.store + local.get 4 local.get 8 - i32.add + i32.store offset=4 + local.get 4 + i32.load local.set 9 - local.get 9 + local.get 4 + i32.load offset=4 local.set 10 + local.get 0 local.get 10 - local.get 1 - local.get 2 - call $_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h5982f674a89010aaE + i32.store offset=4 + local.get 0 + local.get 9 + i32.store + return) + (func $_ZN5alloc5alloc6Global10alloc_impl17hd02206459eed2f07E (type 6) (param i32 i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 5 + i32.const 96 + local.set 6 + local.get 5 + local.get 6 + i32.sub + local.set 7 local.get 7 - i32.load offset=40 - local.set 11 + global.set $__stack_pointer block ;; label = @1 block ;; label = @2 + local.get 3 + br_if 0 (;@2;) + local.get 7 + local.get 2 + i32.store offset=44 + local.get 7 + i32.load offset=44 + local.set 8 + local.get 7 + local.get 8 + i32.store offset=16 + local.get 7 + i32.load offset=16 + local.set 9 + local.get 7 + local.get 9 + i32.store offset=56 + i32.const 0 + local.set 10 + local.get 7 + local.get 10 + i32.store offset=60 + local.get 7 + i32.load offset=56 + local.set 11 + local.get 7 + i32.load offset=60 + local.set 12 + local.get 7 local.get 11 + i32.store offset=48 + local.get 7 + local.get 12 + i32.store offset=52 + local.get 7 + i32.load offset=48 + local.set 13 + local.get 7 + i32.load offset=52 + local.set 14 + local.get 7 + local.get 13 + i32.store offset=8 + local.get 7 + local.get 14 + i32.store offset=12 + local.get 7 + i32.load offset=8 + local.set 15 + local.get 7 + i32.load offset=12 + local.set 16 + local.get 7 + local.get 15 + i32.store + local.get 7 + local.get 16 + i32.store offset=4 + br 1 (;@1;) + end + local.get 4 + local.set 17 + block ;; label = @2 + block ;; label = @3 + local.get 17 + br_if 0 (;@3;) + i32.const 0 + local.set 18 + local.get 18 + i32.load8_u offset=1051009 + local.set 19 + local.get 7 + local.get 19 + i32.store8 offset=95 + local.get 7 + local.get 2 + i32.store offset=68 + local.get 7 + i32.load offset=68 + local.set 20 + local.get 3 + local.get 20 + call $__rust_alloc + local.set 21 + local.get 7 + local.get 21 + i32.store offset=20 + br 1 (;@2;) + end + local.get 7 + local.get 2 + i32.store offset=64 + local.get 7 + i32.load offset=64 + local.set 22 + local.get 3 + local.get 22 + call $__rust_alloc_zeroed + local.set 23 + local.get 7 + local.get 23 + i32.store offset=20 + end + local.get 7 + i32.load offset=20 + local.set 24 + block ;; label = @2 + block ;; label = @3 + local.get 24 + br_if 0 (;@3;) + i32.const 0 + local.set 25 + local.get 7 + local.get 25 + i32.store offset=32 + br 1 (;@2;) + end + local.get 7 + local.get 24 + i32.store offset=72 + local.get 7 + i32.load offset=72 + local.set 26 + local.get 7 + local.get 26 + i32.store offset=32 + end + local.get 7 + i32.load offset=32 + local.set 27 + i32.const 0 + local.set 28 + i32.const 1 + local.set 29 + local.get 29 + local.get 28 + local.get 27 + select + local.set 30 + block ;; label = @2 + block ;; label = @3 + local.get 30 + br_if 0 (;@3;) + i32.const 0 + local.set 31 + local.get 7 + local.get 31 + i32.store offset=28 + br 1 (;@2;) + end + local.get 7 + i32.load offset=32 + local.set 32 + local.get 7 + local.get 32 + i32.store offset=28 + end + local.get 7 + i32.load offset=28 + local.set 33 + i32.const 1 + local.set 34 + i32.const 0 + local.set 35 + local.get 35 + local.get 34 + local.get 33 + select + local.set 36 + block ;; label = @2 + block ;; label = @3 + local.get 36 + br_if 0 (;@3;) + local.get 7 + i32.load offset=28 + local.set 37 + local.get 7 + local.get 37 + i32.store offset=24 + br 1 (;@2;) + end + i32.const 0 + local.set 38 + local.get 7 + local.get 38 + i32.store offset=24 + end + local.get 7 + i32.load offset=24 + local.set 39 + i32.const 1 + local.set 40 + i32.const 0 + local.set 41 + local.get 41 + local.get 40 + local.get 39 + select + local.set 42 + block ;; label = @2 + local.get 42 br_if 0 (;@2;) local.get 7 - i32.load offset=44 - local.set 12 + i32.load offset=24 + local.set 43 + local.get 7 + local.get 43 + i32.store offset=84 + local.get 7 + local.get 3 + i32.store offset=88 + local.get 7 + i32.load offset=84 + local.set 44 + local.get 7 + i32.load offset=88 + local.set 45 + local.get 7 + local.get 44 + i32.store offset=76 local.get 7 - i32.load offset=48 - local.set 13 + local.get 45 + i32.store offset=80 local.get 7 - local.get 12 - i32.store offset=28 + i32.load offset=76 + local.set 46 local.get 7 - local.get 13 - i32.store offset=32 - i32.const 0 - local.set 14 + i32.load offset=80 + local.set 47 local.get 7 - local.get 14 - i32.store offset=24 + local.get 46 + i32.store offset=36 + local.get 7 + local.get 47 + i32.store offset=40 + local.get 7 + i32.load offset=36 + local.set 48 + local.get 7 + i32.load offset=40 + local.set 49 + local.get 7 + local.get 48 + i32.store + local.get 7 + local.get 49 + i32.store offset=4 br 1 (;@1;) end + i32.const 0 + local.set 50 local.get 7 - i32.load offset=44 - local.set 15 - local.get 7 - i32.load offset=48 - local.set 16 - local.get 7 - local.get 15 - i32.store offset=112 - local.get 7 - local.get 16 - i32.store offset=116 - local.get 7 - i32.load offset=112 - local.set 17 - local.get 7 - i32.load offset=116 - local.set 18 - local.get 7 - local.get 17 - i32.store offset=28 - local.get 7 - local.get 18 - i32.store offset=32 - i32.const 1 - local.set 19 - local.get 7 - local.get 19 - i32.store offset=24 + local.get 50 + i32.store end local.get 7 - i32.load offset=24 - local.set 20 + i32.load + local.set 51 + local.get 7 + i32.load offset=4 + local.set 52 + local.get 0 + local.get 52 + i32.store offset=4 + local.get 0 + local.get 51 + i32.store + i32.const 96 + local.set 53 + local.get 7 + local.get 53 + i32.add + local.set 54 + local.get 54 + global.set $__stack_pointer + return) + (func $_ZN5alloc5alloc6Global9grow_impl17h8d3f0bd84b349e8aE (type 9) (param i32 i32 i32 i32 i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 8 + i32.const 96 + local.set 9 + local.get 8 + local.get 9 + i32.sub + local.set 10 + local.get 10 + global.set $__stack_pointer block ;; label = @1 block ;; label = @2 + block ;; label = @3 + local.get 4 + br_if 0 (;@3;) + i32.const 1 + local.set 11 + local.get 7 + local.get 11 + i32.and + local.set 12 + local.get 10 + local.get 1 + local.get 5 + local.get 6 + local.get 12 + call $_ZN5alloc5alloc6Global10alloc_impl17hd02206459eed2f07E + local.get 10 + i32.load + local.set 13 + local.get 10 + i32.load offset=4 + local.set 14 + local.get 10 + local.get 14 + i32.store offset=20 + local.get 10 + local.get 13 + i32.store offset=16 + br 1 (;@2;) + end + local.get 10 + local.get 3 + i32.store offset=60 + local.get 10 + i32.load offset=60 + local.set 15 + local.get 10 + local.get 5 + i32.store offset=64 + local.get 10 + i32.load offset=64 + local.set 16 + local.get 15 + local.set 17 + local.get 16 + local.set 18 + local.get 17 + local.get 18 + i32.eq + local.set 19 + i32.const 1 + local.set 20 + local.get 19 + local.get 20 + i32.and + local.set 21 block ;; label = @3 block ;; label = @4 block ;; label = @5 block ;; label = @6 - local.get 20 - br_if 0 (;@6;) - local.get 7 - i32.load offset=28 - local.set 21 - local.get 7 - i32.load offset=32 - local.set 22 - local.get 7 - local.get 21 - i32.store offset=16 - local.get 7 - local.get 22 - i32.store offset=20 - local.get 7 - i32.load offset=20 - local.set 23 - i32.const 2147483647 - local.set 24 - local.get 23 - local.set 25 - local.get 24 - local.set 26 - local.get 25 - local.get 26 - i32.gt_u - local.set 27 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + local.get 21 + br_if 0 (;@10;) + i32.const 1 + local.set 22 + local.get 7 + local.get 22 + i32.and + local.set 23 + i32.const 8 + local.set 24 + local.get 10 + local.get 24 + i32.add + local.set 25 + local.get 25 + local.get 1 + local.get 5 + local.get 6 + local.get 23 + call $_ZN5alloc5alloc6Global10alloc_impl17hd02206459eed2f07E + local.get 10 + i32.load offset=8 + local.set 26 + local.get 10 + i32.load offset=12 + local.set 27 + local.get 10 + local.get 27 + i32.store offset=56 + local.get 10 + local.get 26 + i32.store offset=52 + local.get 10 + i32.load offset=52 + local.set 28 + i32.const 1 + local.set 29 + i32.const 0 + local.set 30 + local.get 30 + local.get 29 + local.get 28 + select + local.set 31 + local.get 31 + i32.eqz + br_if 1 (;@9;) + br 2 (;@8;) + end + local.get 10 + local.get 3 + i32.store offset=68 + local.get 10 + i32.load offset=68 + local.set 32 + local.get 2 + local.get 4 + local.get 32 + local.get 6 + call $__rust_realloc + local.set 33 + local.get 33 + i32.eqz + br_if 3 (;@6;) + br 4 (;@5;) + end + local.get 10 + i32.load offset=52 + local.set 34 + local.get 10 + i32.load offset=56 + local.set 35 + local.get 10 + local.get 34 + i32.store offset=44 + local.get 10 + local.get 35 + i32.store offset=48 + br 1 (;@7;) + end + i32.const 0 + local.set 36 + local.get 10 + local.get 36 + i32.store offset=44 + end + local.get 10 + i32.load offset=44 + local.set 37 i32.const 1 - local.set 28 - local.get 27 - local.get 28 - i32.and - local.set 29 - local.get 29 - br_if 2 (;@4;) - br 1 (;@5;) + local.set 38 + i32.const 0 + local.set 39 + local.get 39 + local.get 38 + local.get 37 + select + local.set 40 + block ;; label = @7 + local.get 40 + br_if 0 (;@7;) + local.get 10 + i32.load offset=44 + local.set 41 + local.get 10 + i32.load offset=48 + local.set 42 + local.get 10 + local.get 41 + i32.store offset=92 + local.get 10 + i32.load offset=92 + local.set 43 + i32.const 0 + local.set 44 + local.get 4 + local.get 44 + i32.shl + local.set 45 + local.get 43 + local.get 2 + local.get 45 + call $memcpy + drop + local.get 1 + local.get 2 + local.get 3 + local.get 4 + call $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17haebe2a7e43aecc52E + local.get 10 + local.get 41 + i32.store offset=16 + local.get 10 + local.get 42 + i32.store offset=20 + br 5 (;@2;) + end + i32.const 0 + local.set 46 + local.get 10 + local.get 46 + i32.store offset=16 + br 3 (;@3;) end - local.get 7 - i32.load offset=28 - local.set 30 - local.get 7 - i32.load offset=32 - local.set 31 - local.get 7 - local.get 30 - i32.store offset=56 - local.get 7 - local.get 31 - i32.store offset=60 - local.get 7 - i32.load offset=56 - local.set 32 - local.get 7 - i32.load offset=60 - local.set 33 - local.get 7 - local.get 32 - i32.store offset=120 - local.get 7 - local.get 33 - i32.store offset=124 - local.get 7 - i32.load offset=120 - local.set 34 - local.get 7 - i32.load offset=124 - local.set 35 - local.get 0 - local.get 34 - i32.store offset=4 - local.get 0 - local.get 35 - i32.store offset=8 - i32.const 1 - local.set 36 - local.get 0 - local.get 36 - i32.store - br 3 (;@2;) + i32.const 0 + local.set 47 + local.get 10 + local.get 47 + i32.store offset=32 + br 1 (;@4;) end - i32.const -2147483647 - local.set 37 - local.get 7 - local.get 37 + local.get 10 + local.get 33 i32.store offset=72 - br 1 (;@3;) + local.get 10 + i32.load offset=72 + local.set 48 + local.get 10 + local.get 48 + i32.store offset=32 end + local.get 10 + i32.load offset=32 + local.set 49 i32.const 0 - local.set 38 - local.get 7 - local.get 38 - i32.store offset=136 - local.get 7 - i32.load offset=136 - local.set 39 - local.get 7 - i32.load offset=140 - local.set 40 - local.get 7 - local.get 39 - i32.store offset=128 - local.get 7 - local.get 40 - i32.store offset=132 - local.get 7 - i32.load offset=128 - local.set 41 - local.get 7 - i32.load offset=132 - local.set 42 - local.get 7 - local.get 41 - i32.store offset=72 - local.get 7 - local.get 42 - i32.store offset=76 - end - local.get 7 - i32.load offset=72 - local.set 43 - i32.const -2147483647 - local.set 44 - local.get 43 - local.set 45 - local.get 44 - local.set 46 - local.get 45 - local.get 46 - i32.eq - local.set 47 - i32.const 0 - local.set 48 - i32.const 1 - local.set 49 - i32.const 1 - local.set 50 - local.get 47 - local.get 50 - i32.and - local.set 51 - local.get 48 - local.get 49 - local.get 51 - select - local.set 52 - block ;; label = @3 + local.set 50 + i32.const 1 + local.set 51 + local.get 51 + local.get 50 + local.get 49 + select + local.set 52 block ;; label = @4 - local.get 52 - br_if 0 (;@4;) - i32.const -2147483647 - local.set 53 - local.get 7 - local.get 53 - i32.store offset=64 - br 1 (;@3;) + block ;; label = @5 + local.get 52 + br_if 0 (;@5;) + i32.const 0 + local.set 53 + local.get 10 + local.get 53 + i32.store offset=28 + br 1 (;@4;) + end + local.get 10 + i32.load offset=32 + local.set 54 + local.get 10 + local.get 54 + i32.store offset=28 end - local.get 7 - i32.load offset=72 - local.set 54 - local.get 7 - i32.load offset=76 + local.get 10 + i32.load offset=28 local.set 55 - local.get 7 - local.get 54 - i32.store offset=144 - local.get 7 - local.get 55 - i32.store offset=148 - local.get 7 - i32.load offset=144 + i32.const 1 local.set 56 - local.get 7 - i32.load offset=148 + i32.const 0 local.set 57 - local.get 7 - local.get 56 - i32.store offset=64 - local.get 7 local.get 57 - i32.store offset=68 - end - local.get 7 - i32.load offset=64 - local.set 58 - i32.const -2147483647 - local.set 59 - local.get 58 - local.set 60 - local.get 59 - local.set 61 - local.get 60 - local.get 61 - i32.eq - local.set 62 - i32.const 0 - local.set 63 - i32.const 1 - local.set 64 - i32.const 1 - local.set 65 - local.get 62 - local.get 65 - i32.and - local.set 66 - local.get 63 - local.get 64 - local.get 66 - select - local.set 67 - block ;; label = @3 + local.get 56 + local.get 55 + select + local.set 58 + block ;; label = @4 + block ;; label = @5 + local.get 58 + br_if 0 (;@5;) + local.get 10 + i32.load offset=28 + local.set 59 + local.get 10 + local.get 59 + i32.store offset=24 + br 1 (;@4;) + end + i32.const 0 + local.set 60 + local.get 10 + local.get 60 + i32.store offset=24 + end + local.get 10 + i32.load offset=24 + local.set 61 + i32.const 1 + local.set 62 + i32.const 0 + local.set 63 + local.get 63 + local.get 62 + local.get 61 + select + local.set 64 block ;; label = @4 block ;; label = @5 block ;; label = @6 - local.get 67 + local.get 64 br_if 0 (;@6;) - local.get 3 - i32.load offset=4 - local.set 68 - i32.const 0 - local.set 69 - i32.const 1 - local.set 70 - local.get 70 - local.get 69 - local.get 68 - select - local.set 71 - i32.const 1 - local.set 72 - local.get 71 - local.set 73 - local.get 72 - local.set 74 - local.get 73 - local.get 74 - i32.eq - local.set 75 - i32.const 1 - local.set 76 - local.get 75 - local.get 76 - i32.and - local.set 77 - local.get 77 + local.get 10 + i32.load offset=24 + local.set 65 + local.get 7 + local.set 66 + local.get 66 br_if 1 (;@5;) br 2 (;@4;) end - local.get 7 - i32.load offset=64 - local.set 78 - local.get 7 - i32.load offset=68 - local.set 79 - local.get 7 - local.get 78 - i32.store offset=80 - local.get 7 - local.get 79 - i32.store offset=84 - local.get 7 - i32.load offset=80 - local.set 80 - local.get 7 - i32.load offset=84 - local.set 81 - local.get 0 - local.get 80 - i32.store offset=4 - local.get 0 - local.get 81 - i32.store offset=8 - i32.const 1 - local.set 82 - local.get 0 - local.get 82 - i32.store - br 3 (;@2;) + i32.const 0 + local.set 67 + local.get 10 + local.get 67 + i32.store offset=16 + br 2 (;@3;) end - local.get 3 - i32.load - local.set 83 - local.get 3 - i32.load offset=4 - local.set 84 - i32.const 8 - local.set 85 - local.get 3 - local.get 85 + local.get 33 + local.get 4 i32.add - local.set 86 - local.get 86 - i32.load - local.set 87 - local.get 7 - local.get 84 - i32.store offset=96 - local.get 7 - local.get 87 - i32.store offset=100 - local.get 7 - i32.load offset=96 - local.set 88 - local.get 7 - local.get 88 - i32.store offset=152 - local.get 7 - i32.load offset=16 - local.set 89 - local.get 7 - local.get 89 - i32.store offset=156 - local.get 7 - i32.load offset=96 - local.set 90 - local.get 7 - i32.load offset=100 - local.set 91 - local.get 7 - i32.load offset=16 - local.set 92 - local.get 7 - i32.load offset=20 - local.set 93 - local.get 7 + local.set 68 + local.get 6 local.get 4 - local.get 83 - local.get 90 - local.get 91 - local.get 92 - local.get 93 - call $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$4grow17hb9f3c84a0ccba891E - local.get 7 - i32.load - local.set 94 - local.get 7 - i32.load offset=4 - local.set 95 - local.get 7 - local.get 95 - i32.store offset=92 - local.get 7 - local.get 94 - i32.store offset=88 - br 1 (;@3;) + i32.sub + local.set 69 + i32.const 0 + local.set 70 + local.get 69 + local.get 70 + i32.shl + local.set 71 + i32.const 0 + local.set 72 + local.get 68 + local.get 72 + local.get 71 + call $memset + drop end - local.get 7 - i32.load offset=16 - local.set 96 - local.get 7 - i32.load offset=20 - local.set 97 - i32.const 8 - local.set 98 - local.get 7 - local.get 98 - i32.add - local.set 99 - local.get 99 - local.get 4 - local.get 96 - local.get 97 - call $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$8allocate17h9dfc244b2f625c7dE - local.get 7 - i32.load offset=8 - local.set 100 - local.get 7 - i32.load offset=12 - local.set 101 - local.get 7 - local.get 101 - i32.store offset=92 - local.get 7 - local.get 100 + local.get 10 + local.get 65 + i32.store offset=84 + local.get 10 + local.get 6 i32.store offset=88 - end - local.get 7 - i32.load offset=88 - local.set 102 - local.get 7 - i32.load offset=92 - local.set 103 - i32.const 16 - local.set 104 - local.get 7 - local.get 104 - i32.add - local.set 105 - local.get 105 - local.set 106 - local.get 7 - local.get 106 - i32.store offset=108 - local.get 7 - i32.load offset=108 - local.set 107 - local.get 0 - local.get 102 - local.get 103 - local.get 107 - call $_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hd2deccd7c24a623aE - br 1 (;@1;) - end - end - i32.const 160 - local.set 108 - local.get 7 - local.get 108 - i32.add - local.set 109 - local.get 109 - global.set $__stack_pointer - return) - (func $_ZN5alloc7raw_vec14handle_reserve17h05fd33db22a196d0E (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 2 - i32.const 16 - local.set 3 - local.get 2 - local.get 3 - i32.sub - local.set 4 - local.get 4 - global.set $__stack_pointer - local.get 4 - local.get 0 - local.get 1 - call $_ZN4core6result19Result$LT$T$C$E$GT$7map_err17h39f39cc027ebcfa6E - local.get 4 - i32.load - local.set 5 - local.get 4 - i32.load offset=4 - local.set 6 - local.get 4 - local.get 6 - i32.store offset=12 - local.get 4 - local.get 5 - i32.store offset=8 - local.get 4 - i32.load offset=8 - local.set 7 - i32.const -2147483647 - local.set 8 - local.get 7 - local.set 9 - local.get 8 - local.set 10 - local.get 9 - local.get 10 - i32.eq - local.set 11 - i32.const 0 - local.set 12 - i32.const 1 - local.set 13 - i32.const 1 - local.set 14 - local.get 11 - local.get 14 - i32.and - local.set 15 - local.get 12 - local.get 13 - local.get 15 - select - local.set 16 - block ;; label = @1 - local.get 16 - br_if 0 (;@1;) - i32.const 16 - local.set 17 - local.get 4 - local.get 17 - i32.add - local.set 18 - local.get 18 - global.set $__stack_pointer - return - end - local.get 4 - i32.load offset=8 - local.set 19 - i32.const 0 - local.set 20 - i32.const 1 - local.set 21 - local.get 21 - local.get 20 - local.get 19 - select - local.set 22 - block ;; label = @1 - local.get 22 - br_if 0 (;@1;) - call $_ZN5alloc7raw_vec17capacity_overflow17h69391d2b6a90e408E - unreachable + local.get 10 + i32.load offset=84 + local.set 73 + local.get 10 + i32.load offset=88 + local.set 74 + local.get 10 + local.get 73 + i32.store offset=76 + local.get 10 + local.get 74 + i32.store offset=80 + local.get 10 + i32.load offset=76 + local.set 75 + local.get 10 + i32.load offset=80 + local.set 76 + local.get 10 + local.get 75 + i32.store offset=36 + local.get 10 + local.get 76 + i32.store offset=40 + local.get 10 + i32.load offset=36 + local.set 77 + local.get 10 + i32.load offset=40 + local.set 78 + local.get 10 + local.get 77 + i32.store offset=16 + local.get 10 + local.get 78 + i32.store offset=20 + br 1 (;@2;) + end + br 1 (;@1;) + end end - local.get 4 - i32.load offset=8 - local.set 23 - local.get 4 - i32.load offset=12 - local.set 24 - local.get 23 - local.get 24 - call $_ZN5alloc5alloc18handle_alloc_error17hbbf685130f283420E - unreachable) - (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17had64134155597456E (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + local.get 10 + i32.load offset=16 + local.set 79 + local.get 10 + i32.load offset=20 + local.set 80 + local.get 0 + local.get 80 + i32.store offset=4 + local.get 0 + local.get 79 + i32.store + i32.const 96 + local.set 81 + local.get 10 + local.get 81 + i32.add + local.set 82 + local.get 82 + global.set $__stack_pointer + return) + (func $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$10deallocate17haebe2a7e43aecc52E (type 8) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32) global.get $__stack_pointer - local.set 3 - i32.const 128 local.set 4 - local.get 3 - local.get 4 - i32.sub + i32.const 16 local.set 5 + local.get 4 local.get 5 + i32.sub + local.set 6 + local.get 6 global.set $__stack_pointer - local.get 2 + block ;; label = @1 + block ;; label = @2 + local.get 3 + br_if 0 (;@2;) + br 1 (;@1;) + end + local.get 6 + local.get 2 + i32.store offset=12 + local.get 6 + i32.load offset=12 + local.set 7 + local.get 1 + local.get 3 + local.get 7 + call $__rust_dealloc + end + i32.const 16 + local.set 8 + local.get 6 + local.get 8 + i32.add + local.set 9 + local.get 9 + global.set $__stack_pointer + return) + (func $_ZN5alloc7raw_vec11finish_grow17he731c50f6660e204E (type 6) (param i32 i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 5 + i32.const 144 local.set 6 local.get 5 local.get 6 - i32.store8 offset=31 - i32.const 0 + i32.sub local.set 7 - i32.const 1 + local.get 7 + global.set $__stack_pointer + i32.const 40 local.set 8 local.get 7 local.get 8 - i32.and + i32.add local.set 9 + local.get 9 + local.set 10 + local.get 10 + local.get 1 + local.get 2 + call $_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hf981c3cf46e0176cE + local.get 7 + i32.load offset=40 + local.set 11 block ;; label = @1 block ;; label = @2 - local.get 9 + local.get 11 br_if 0 (;@2;) - i32.const 0 - local.set 10 - local.get 1 - local.set 11 - local.get 10 + local.get 7 + i32.load offset=44 local.set 12 - local.get 11 - local.get 12 - i32.eq + local.get 7 + i32.load offset=48 local.set 13 - i32.const 1 - local.set 14 + local.get 7 + local.get 12 + i32.store offset=32 + local.get 7 local.get 13 + i32.store offset=36 + i32.const 0 + local.set 14 + local.get 7 local.get 14 - i32.and - local.set 15 - local.get 5 - local.get 15 - i32.store8 offset=55 + i32.store offset=28 br 1 (;@1;) end - i32.const 1 + local.get 7 + i32.load offset=44 + local.set 15 + local.get 7 + i32.load offset=48 local.set 16 - local.get 5 + local.get 7 + local.get 15 + i32.store offset=96 + local.get 7 local.get 16 - i32.store8 offset=55 + i32.store offset=100 + local.get 7 + i32.load offset=96 + local.set 17 + local.get 7 + i32.load offset=100 + local.set 18 + local.get 7 + local.get 17 + i32.store offset=32 + local.get 7 + local.get 18 + i32.store offset=36 + i32.const 1 + local.set 19 + local.get 7 + local.get 19 + i32.store offset=28 end - local.get 5 - i32.load8_u offset=55 - local.set 17 - i32.const 1 - local.set 18 - local.get 17 - local.get 18 - i32.and - local.set 19 + local.get 7 + i32.load offset=28 + local.set 20 block ;; label = @1 block ;; label = @2 block ;; label = @3 block ;; label = @4 block ;; label = @5 block ;; label = @6 - block ;; label = @7 - local.get 19 - br_if 0 (;@7;) - i32.const 1 - local.set 20 - i32.const 16 - local.set 21 - local.get 5 - local.get 21 - i32.add - local.set 22 - local.get 22 - local.get 20 - local.get 20 - local.get 1 - call $_ZN4core5alloc6layout6Layout5array5inner17hfbb2edc59de7921aE - local.get 5 - i32.load offset=16 - local.set 23 - local.get 5 - i32.load offset=20 - local.set 24 - local.get 5 - local.get 24 - i32.store offset=68 - local.get 5 - local.get 23 - i32.store offset=64 - local.get 5 - i32.load offset=64 - local.set 25 - i32.const 1 - local.set 26 - i32.const 0 - local.set 27 - local.get 27 - local.get 26 - local.get 25 - select - local.set 28 - local.get 28 - i32.eqz - br_if 1 (;@6;) - br 2 (;@5;) - end + local.get 20 + br_if 0 (;@6;) + local.get 7 + i32.load offset=32 + local.set 21 + local.get 7 + i32.load offset=36 + local.set 22 + local.get 7 + local.get 21 + i32.store offset=20 + local.get 7 + local.get 22 + i32.store offset=24 + local.get 7 + i32.load offset=24 + local.set 23 + i32.const 2147483647 + local.set 24 + local.get 23 + local.set 25 + local.get 24 + local.set 26 + local.get 25 + local.get 26 + i32.gt_u + local.set 27 i32.const 1 + local.set 28 + local.get 27 + local.get 28 + i32.and local.set 29 - local.get 5 local.get 29 - i32.store offset=100 - local.get 5 - i32.load offset=100 - local.set 30 - local.get 5 - local.get 30 - i32.store offset=96 - local.get 5 - i32.load offset=96 - local.set 31 - local.get 5 - local.get 31 - i32.store offset=40 - i32.const 0 - local.set 32 - local.get 5 - local.get 32 - i32.store offset=44 - br 5 (;@1;) + br_if 2 (;@4;) + br 1 (;@5;) end - local.get 5 - i32.load offset=64 + local.get 7 + i32.load offset=32 + local.set 30 + local.get 7 + i32.load offset=36 + local.set 31 + local.get 7 + local.get 30 + i32.store offset=52 + local.get 7 + local.get 31 + i32.store offset=56 + local.get 7 + i32.load offset=52 + local.set 32 + local.get 7 + i32.load offset=56 local.set 33 - local.get 5 - i32.load offset=68 - local.set 34 - local.get 5 + local.get 7 + local.get 32 + i32.store offset=104 + local.get 7 local.get 33 - i32.store offset=56 - local.get 5 - local.get 34 - i32.store offset=60 - local.get 5 - i32.load offset=60 + i32.store offset=108 + local.get 7 + i32.load offset=104 + local.set 34 + local.get 7 + i32.load offset=108 local.set 35 - i32.const 2147483647 - local.set 36 + local.get 0 + local.get 34 + i32.store offset=4 + local.get 0 local.get 35 - local.set 37 - local.get 36 - local.set 38 - local.get 37 - local.get 38 - i32.gt_u - local.set 39 + i32.store offset=8 i32.const 1 - local.set 40 - local.get 39 - local.get 40 - i32.and - local.set 41 - local.get 41 - br_if 2 (;@3;) - br 1 (;@4;) + local.set 36 + local.get 0 + local.get 36 + i32.store + br 3 (;@2;) end - call $_ZN5alloc7raw_vec17capacity_overflow17h69391d2b6a90e408E - unreachable + i32.const -2147483647 + local.set 37 + local.get 7 + local.get 37 + i32.store offset=68 + br 1 (;@3;) end - i32.const -2147483647 + i32.const 0 + local.set 38 + local.get 7 + local.get 38 + i32.store offset=120 + local.get 7 + i32.load offset=120 + local.set 39 + local.get 7 + i32.load offset=124 + local.set 40 + local.get 7 + local.get 39 + i32.store offset=112 + local.get 7 + local.get 40 + i32.store offset=116 + local.get 7 + i32.load offset=112 + local.set 41 + local.get 7 + i32.load offset=116 local.set 42 - local.get 5 + local.get 7 + local.get 41 + i32.store offset=68 + local.get 7 local.get 42 i32.store offset=72 - br 1 (;@2;) end - i32.const 0 + local.get 7 + i32.load offset=68 local.set 43 - local.get 5 - local.get 43 - i32.store offset=112 - local.get 5 - i32.load offset=112 + i32.const -2147483647 local.set 44 - local.get 5 - i32.load offset=116 + local.get 43 local.set 45 - local.get 5 local.get 44 - i32.store offset=104 - local.get 5 - local.get 45 - i32.store offset=108 - local.get 5 - i32.load offset=104 local.set 46 - local.get 5 - i32.load offset=108 - local.set 47 - local.get 5 + local.get 45 local.get 46 - i32.store offset=72 - local.get 5 + i32.eq + local.set 47 + i32.const 0 + local.set 48 + i32.const 1 + local.set 49 + i32.const 1 + local.set 50 local.get 47 - i32.store offset=76 - end - local.get 5 - i32.load offset=72 - local.set 48 - i32.const -2147483647 - local.set 49 - local.get 48 - local.set 50 - local.get 49 - local.set 51 - local.get 50 - local.get 51 - i32.eq - local.set 52 - i32.const 0 - local.set 53 - i32.const 1 - local.set 54 - i32.const 1 - local.set 55 - local.get 52 - local.get 55 - i32.and - local.set 56 - local.get 53 - local.get 54 - local.get 56 - select - local.set 57 - block ;; label = @2 + local.get 50 + i32.and + local.set 51 + local.get 48 + local.get 49 + local.get 51 + select + local.set 52 + block ;; label = @3 + block ;; label = @4 + local.get 52 + br_if 0 (;@4;) + i32.const -2147483647 + local.set 53 + local.get 7 + local.get 53 + i32.store offset=60 + br 1 (;@3;) + end + local.get 7 + i32.load offset=68 + local.set 54 + local.get 7 + i32.load offset=72 + local.set 55 + local.get 7 + local.get 54 + i32.store offset=128 + local.get 7 + local.get 55 + i32.store offset=132 + local.get 7 + i32.load offset=128 + local.set 56 + local.get 7 + i32.load offset=132 + local.set 57 + local.get 7 + local.get 56 + i32.store offset=60 + local.get 7 + local.get 57 + i32.store offset=64 + end + local.get 7 + i32.load offset=60 + local.set 58 + i32.const -2147483647 + local.set 59 + local.get 58 + local.set 60 + local.get 59 + local.set 61 + local.get 60 + local.get 61 + i32.eq + local.set 62 + i32.const 0 + local.set 63 + i32.const 1 + local.set 64 + i32.const 1 + local.set 65 + local.get 62 + local.get 65 + i32.and + local.set 66 + local.get 63 + local.get 64 + local.get 66 + select + local.set 67 block ;; label = @3 block ;; label = @4 block ;; label = @5 - local.get 57 - br_if 0 (;@5;) - local.get 5 - i32.load8_u offset=31 - local.set 58 + block ;; label = @6 + local.get 67 + br_if 0 (;@6;) + local.get 3 + i32.load offset=4 + local.set 68 + i32.const 0 + local.set 69 + i32.const 1 + local.set 70 + local.get 70 + local.get 69 + local.get 68 + select + local.set 71 + i32.const 1 + local.set 72 + local.get 71 + local.set 73 + local.get 72 + local.set 74 + local.get 73 + local.get 74 + i32.eq + local.set 75 + i32.const 1 + local.set 76 + local.get 75 + local.get 76 + i32.and + local.set 77 + local.get 77 + br_if 1 (;@5;) + br 2 (;@4;) + end + local.get 7 + i32.load offset=60 + local.set 78 + local.get 7 + i32.load offset=64 + local.set 79 + local.get 7 + local.get 78 + i32.store offset=76 + local.get 7 + local.get 79 + i32.store offset=80 + local.get 7 + i32.load offset=76 + local.set 80 + local.get 7 + i32.load offset=80 + local.set 81 + local.get 0 + local.get 80 + i32.store offset=4 + local.get 0 + local.get 81 + i32.store offset=8 i32.const 1 - local.set 59 - local.get 58 - local.get 59 - i32.and - local.set 60 - local.get 60 - i32.eqz - br_if 1 (;@4;) - br 2 (;@3;) + local.set 82 + local.get 0 + local.get 82 + i32.store + br 3 (;@2;) end - call $_ZN5alloc7raw_vec17capacity_overflow17h69391d2b6a90e408E - unreachable + local.get 3 + i32.load + local.set 83 + local.get 3 + i32.load offset=4 + local.set 84 + i32.const 8 + local.set 85 + local.get 3 + local.get 85 + i32.add + local.set 86 + local.get 86 + i32.load + local.set 87 + local.get 7 + local.get 84 + i32.store offset=136 + local.get 7 + i32.load offset=20 + local.set 88 + local.get 7 + local.get 88 + i32.store offset=140 + local.get 7 + i32.load offset=20 + local.set 89 + local.get 7 + i32.load offset=24 + local.set 90 + local.get 7 + local.get 4 + local.get 83 + local.get 84 + local.get 87 + local.get 89 + local.get 90 + call $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$4grow17h0f5f317e4b5d6231E + local.get 7 + i32.load + local.set 91 + local.get 7 + i32.load offset=4 + local.set 92 + local.get 7 + local.get 92 + i32.store offset=88 + local.get 7 + local.get 91 + i32.store offset=84 + br 1 (;@3;) end - local.get 5 - i32.load offset=56 - local.set 61 - local.get 5 - i32.load offset=60 - local.set 62 - i32.const 32 - local.set 63 - local.get 5 - local.get 63 + local.get 7 + i32.load offset=20 + local.set 93 + local.get 7 + i32.load offset=24 + local.set 94 + i32.const 8 + local.set 95 + local.get 7 + local.get 95 i32.add - local.set 64 - local.get 5 - local.get 64 - local.get 61 - local.get 62 - call $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$8allocate17h9dfc244b2f625c7dE - local.get 5 - i32.load - local.set 65 - local.get 5 - i32.load offset=4 - local.set 66 - local.get 5 - local.get 66 + local.set 96 + local.get 96 + local.get 4 + local.get 93 + local.get 94 + call $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$8allocate17h3e69157076b4a21bE + local.get 7 + i32.load offset=8 + local.set 97 + local.get 7 + i32.load offset=12 + local.set 98 + local.get 7 + local.get 98 + i32.store offset=88 + local.get 7 + local.get 97 i32.store offset=84 - local.get 5 - local.get 65 - i32.store offset=80 - br 1 (;@2;) end - local.get 5 - i32.load offset=56 - local.set 67 - local.get 5 - i32.load offset=60 - local.set 68 - i32.const 8 - local.set 69 - local.get 5 - local.get 69 - i32.add - local.set 70 - i32.const 32 - local.set 71 - local.get 5 - local.get 71 + local.get 7 + i32.load offset=84 + local.set 99 + local.get 7 + i32.load offset=88 + local.set 100 + i32.const 20 + local.set 101 + local.get 7 + local.get 101 i32.add - local.set 72 - local.get 70 - local.get 72 - local.get 67 - local.get 68 - call $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$15allocate_zeroed17h70217a4478737a54E - local.get 5 - i32.load offset=8 - local.set 73 - local.get 5 - i32.load offset=12 - local.set 74 - local.get 5 - local.get 74 - i32.store offset=84 - local.get 5 - local.get 73 - i32.store offset=80 - end - local.get 5 - i32.load offset=80 - local.set 75 - i32.const 1 - local.set 76 - i32.const 0 - local.set 77 - local.get 77 - local.get 76 - local.get 75 - select - local.set 78 - block ;; label = @2 - local.get 78 - br_if 0 (;@2;) - local.get 5 - i32.load offset=80 - local.set 79 - local.get 5 - local.get 79 + local.set 102 + local.get 102 + local.set 103 + local.get 7 + local.get 103 i32.store offset=92 - local.get 5 + local.get 7 i32.load offset=92 - local.set 80 - local.get 5 - local.get 80 - i32.store offset=124 - local.get 5 - i32.load offset=124 - local.set 81 - local.get 5 - local.get 81 - i32.store offset=88 - local.get 5 - i32.load offset=88 - local.set 82 - local.get 5 - local.get 82 - i32.store offset=40 - local.get 5 - local.get 1 - i32.store offset=44 + local.set 104 + local.get 0 + local.get 99 + local.get 100 + local.get 104 + call $_ZN4core6result19Result$LT$T$C$E$GT$7map_err17ha27e000805bea386E br 1 (;@1;) end - local.get 5 - i32.load offset=56 - local.set 83 - local.get 5 - i32.load offset=60 - local.set 84 - local.get 83 - local.get 84 - call $_ZN5alloc5alloc18handle_alloc_error17hbbf685130f283420E - unreachable end + i32.const 144 + local.set 105 + local.get 7 + local.get 105 + i32.add + local.set 106 + local.get 106 + global.set $__stack_pointer + return) + (func $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$4grow17h0f5f317e4b5d6231E (type 10) (param i32 i32 i32 i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 7 + i32.const 16 + local.set 8 + local.get 7 + local.get 8 + i32.sub + local.set 9 + local.get 9 + global.set $__stack_pointer + i32.const 0 + local.set 10 + i32.const 8 + local.set 11 + local.get 9 + local.get 11 + i32.add + local.set 12 + local.get 12 + local.get 1 + local.get 2 + local.get 3 + local.get 4 local.get 5 - i32.load offset=40 - local.set 85 + local.get 6 + local.get 10 + call $_ZN5alloc5alloc6Global9grow_impl17h8d3f0bd84b349e8aE + local.get 9 + i32.load offset=8 + local.set 13 + local.get 9 + i32.load offset=12 + local.set 14 + local.get 0 + local.get 14 + i32.store offset=4 + local.get 0 + local.get 13 + i32.store + i32.const 16 + local.set 15 + local.get 9 + local.get 15 + i32.add + local.set 16 + local.get 16 + global.set $__stack_pointer + return) + (func $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$8allocate17h3e69157076b4a21bE (type 8) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 4 + i32.const 16 + local.set 5 + local.get 4 local.get 5 - i32.load offset=44 - local.set 86 + i32.sub + local.set 6 + local.get 6 + global.set $__stack_pointer + i32.const 0 + local.set 7 + i32.const 8 + local.set 8 + local.get 6 + local.get 8 + i32.add + local.set 9 + local.get 9 + local.get 1 + local.get 2 + local.get 3 + local.get 7 + call $_ZN5alloc5alloc6Global10alloc_impl17hd02206459eed2f07E + local.get 6 + i32.load offset=8 + local.set 10 + local.get 6 + i32.load offset=12 + local.set 11 local.get 0 - local.get 86 + local.get 11 i32.store offset=4 local.get 0 - local.get 85 + local.get 10 i32.store - i32.const 128 - local.set 87 - local.get 5 - local.get 87 + i32.const 16 + local.set 12 + local.get 6 + local.get 12 i32.add - local.set 88 - local.get 88 + local.set 13 + local.get 13 global.set $__stack_pointer return) - (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h3141b25b685e6b54E (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN5alloc7raw_vec14handle_reserve17h1c408bce1405e38fE (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 2 - i32.const 48 + i32.const 16 local.set 3 local.get 2 local.get 3 i32.sub local.set 4 - i32.const 0 + local.get 4 + global.set $__stack_pointer + local.get 4 + local.get 0 + local.get 1 + call $_ZN4core6result19Result$LT$T$C$E$GT$7map_err17hb170707739300343E + local.get 4 + i32.load local.set 5 - i32.const 1 + local.get 4 + i32.load offset=4 local.set 6 - local.get 5 + local.get 4 local.get 6 - i32.and + i32.store offset=12 + local.get 4 + local.get 5 + i32.store offset=8 + local.get 4 + i32.load offset=8 local.set 7 + i32.const -2147483647 + local.set 8 + local.get 7 + local.set 9 + local.get 8 + local.set 10 + local.get 9 + local.get 10 + i32.eq + local.set 11 + i32.const 0 + local.set 12 + i32.const 1 + local.set 13 + i32.const 1 + local.set 14 + local.get 11 + local.get 14 + i32.and + local.set 15 + local.get 12 + local.get 13 + local.get 15 + select + local.set 16 block ;; label = @1 - block ;; label = @2 - local.get 7 - br_if 0 (;@2;) - local.get 1 - i32.load offset=4 - local.set 8 - i32.const 0 - local.set 9 - local.get 8 - local.set 10 - local.get 9 - local.set 11 - local.get 10 - local.get 11 - i32.eq - local.set 12 - i32.const 1 - local.set 13 - local.get 12 - local.get 13 - i32.and - local.set 14 - local.get 4 - local.get 14 - i32.store8 offset=7 - br 1 (;@1;) - end - i32.const 1 - local.set 15 + local.get 16 + br_if 0 (;@1;) + i32.const 16 + local.set 17 local.get 4 - local.get 15 - i32.store8 offset=7 + local.get 17 + i32.add + local.set 18 + local.get 18 + global.set $__stack_pointer + return end local.get 4 - i32.load8_u offset=7 - local.set 16 + i32.load offset=8 + local.set 19 + i32.const 0 + local.set 20 i32.const 1 - local.set 17 - local.get 16 - local.get 17 - i32.and - local.set 18 + local.set 21 + local.get 21 + local.get 20 + local.get 19 + select + local.set 22 block ;; label = @1 - block ;; label = @2 - local.get 18 - br_if 0 (;@2;) - local.get 1 - i32.load offset=4 - local.set 19 - i32.const 0 - local.set 20 - local.get 19 - local.get 20 - i32.shl - local.set 21 - local.get 4 - local.get 21 - i32.store offset=12 - i32.const 1 - local.set 22 - local.get 4 - local.get 22 - i32.store offset=8 - local.get 1 - i32.load - local.set 23 - local.get 4 - local.get 23 - i32.store offset=40 - local.get 4 - i32.load offset=40 - local.set 24 - local.get 4 - local.get 24 - i32.store offset=44 - local.get 4 - i32.load offset=44 - local.set 25 - local.get 4 - local.get 25 - i32.store offset=36 - local.get 4 - i32.load offset=36 - local.set 26 - local.get 4 - local.get 26 - i32.store offset=32 - local.get 4 - i32.load offset=32 - local.set 27 - local.get 4 - local.get 27 - i32.store offset=16 - local.get 4 - i32.load offset=8 - local.set 28 - local.get 4 - i32.load offset=12 - local.set 29 - local.get 4 - local.get 28 - i32.store offset=20 - local.get 4 - local.get 29 - i32.store offset=24 - local.get 4 - i64.load offset=16 - local.set 30 - local.get 0 - local.get 30 - i64.store align=4 - i32.const 8 - local.set 31 - local.get 0 - local.get 31 - i32.add - local.set 32 - i32.const 16 - local.set 33 - local.get 4 - local.get 33 - i32.add - local.set 34 - local.get 34 - local.get 31 - i32.add - local.set 35 - local.get 35 - i32.load - local.set 36 - local.get 32 - local.get 36 - i32.store - br 1 (;@1;) - end - i32.const 0 - local.set 37 - local.get 0 - local.get 37 - i32.store offset=4 + local.get 22 + br_if 0 (;@1;) + call $_ZN5alloc7raw_vec17capacity_overflow17h6742d6b707f6ebe7E + unreachable end + local.get 4 + i32.load offset=8 + local.set 23 + local.get 4 + i32.load offset=12 + local.set 24 + local.get 23 + local.get 24 + call $_ZN5alloc5alloc18handle_alloc_error17h0853c609cdf121f4E + unreachable) + (func $_ZN63_$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Allocator$GT$15allocate_zeroed17hfe62bc75efbfd71cE (type 8) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 4 + i32.const 16 + local.set 5 + local.get 4 + local.get 5 + i32.sub + local.set 6 + local.get 6 + global.set $__stack_pointer + i32.const 1 + local.set 7 + i32.const 8 + local.set 8 + local.get 6 + local.get 8 + i32.add + local.set 9 + local.get 9 + local.get 1 + local.get 2 + local.get 3 + local.get 7 + call $_ZN5alloc5alloc6Global10alloc_impl17hd02206459eed2f07E + local.get 6 + i32.load offset=8 + local.set 10 + local.get 6 + i32.load offset=12 + local.set 11 + local.get 0 + local.get 11 + i32.store offset=4 + local.get 0 + local.get 10 + i32.store + i32.const 16 + local.set 12 + local.get 6 + local.get 12 + i32.add + local.set 13 + local.get 13 + global.set $__stack_pointer return) - (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hd6d2f2b2901d29e4E (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17ha4b462c499445094E (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 2 - i32.const 48 + i32.const 32 local.set 3 local.get 2 local.get 3 @@ -10290,152 +7604,229 @@ local.set 7 block ;; label = @1 block ;; label = @2 - local.get 7 - br_if 0 (;@2;) - local.get 1 - i32.load offset=4 - local.set 8 + block ;; label = @3 + local.get 7 + br_if 0 (;@3;) + local.get 1 + i32.load offset=4 + local.set 8 + local.get 8 + br_if 1 (;@2;) + end i32.const 0 local.set 9 - local.get 8 - local.set 10 + local.get 0 local.get 9 - local.set 11 - local.get 10 - local.get 11 - i32.eq - local.set 12 - i32.const 1 - local.set 13 - local.get 12 - local.get 13 - i32.and - local.set 14 - local.get 4 - local.get 14 - i32.store8 offset=7 + i32.store offset=4 br 1 (;@1;) end + local.get 1 + i32.load offset=4 + local.set 10 + i32.const 0 + local.set 11 + local.get 10 + local.get 11 + i32.shl + local.set 12 + local.get 4 + local.get 12 + i32.store offset=4 i32.const 1 + local.set 13 + local.get 4 + local.get 13 + i32.store + local.get 1 + i32.load + local.set 14 + local.get 4 + local.get 14 + i32.store offset=24 + local.get 4 + i32.load offset=24 local.set 15 local.get 4 local.get 15 - i32.store8 offset=7 + i32.store offset=28 + local.get 4 + i32.load offset=28 + local.set 16 + local.get 4 + local.get 16 + i32.store offset=20 + local.get 4 + i32.load offset=20 + local.set 17 + local.get 4 + local.get 17 + i32.store offset=8 + local.get 4 + i32.load + local.set 18 + local.get 4 + i32.load offset=4 + local.set 19 + local.get 4 + local.get 18 + i32.store offset=12 + local.get 4 + local.get 19 + i32.store offset=16 + local.get 4 + i64.load offset=8 align=4 + local.set 20 + local.get 0 + local.get 20 + i64.store align=4 + i32.const 8 + local.set 21 + local.get 0 + local.get 21 + i32.add + local.set 22 + i32.const 8 + local.set 23 + local.get 4 + local.get 23 + i32.add + local.set 24 + local.get 24 + local.get 21 + i32.add + local.set 25 + local.get 25 + i32.load + local.set 26 + local.get 22 + local.get 26 + i32.store end - local.get 4 - i32.load8_u offset=7 - local.set 16 + return) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17ha73de0fe0a34a4bcE (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 2 + i32.const 32 + local.set 3 + local.get 2 + local.get 3 + i32.sub + local.set 4 + i32.const 0 + local.set 5 i32.const 1 - local.set 17 - local.get 16 - local.get 17 + local.set 6 + local.get 5 + local.get 6 i32.and - local.set 18 + local.set 7 block ;; label = @1 block ;; label = @2 - local.get 18 - br_if 0 (;@2;) - local.get 1 - i32.load offset=4 - local.set 19 + block ;; label = @3 + local.get 7 + br_if 0 (;@3;) + local.get 1 + i32.load offset=4 + local.set 8 + local.get 8 + br_if 1 (;@2;) + end i32.const 0 - local.set 20 - local.get 19 - local.get 20 - i32.shl - local.set 21 - local.get 4 - local.get 21 - i32.store offset=12 - i32.const 1 - local.set 22 - local.get 4 - local.get 22 - i32.store offset=8 - local.get 1 - i32.load - local.set 23 - local.get 4 - local.get 23 - i32.store offset=40 - local.get 4 - i32.load offset=40 - local.set 24 - local.get 4 - local.get 24 - i32.store offset=44 - local.get 4 - i32.load offset=44 - local.set 25 - local.get 4 - local.get 25 - i32.store offset=36 - local.get 4 - i32.load offset=36 - local.set 26 - local.get 4 - local.get 26 - i32.store offset=32 - local.get 4 - i32.load offset=32 - local.set 27 - local.get 4 - local.get 27 - i32.store offset=16 - local.get 4 - i32.load offset=8 - local.set 28 - local.get 4 - i32.load offset=12 - local.set 29 - local.get 4 - local.get 28 - i32.store offset=20 - local.get 4 - local.get 29 - i32.store offset=24 - local.get 4 - i64.load offset=16 - local.set 30 - local.get 0 - local.get 30 - i64.store align=4 - i32.const 8 - local.set 31 + local.set 9 local.get 0 - local.get 31 - i32.add - local.set 32 - i32.const 16 - local.set 33 - local.get 4 - local.get 33 - i32.add - local.set 34 - local.get 34 - local.get 31 - i32.add - local.set 35 - local.get 35 - i32.load - local.set 36 - local.get 32 - local.get 36 - i32.store + local.get 9 + i32.store offset=4 br 1 (;@1;) end + local.get 1 + i32.load offset=4 + local.set 10 i32.const 0 - local.set 37 - local.get 0 - local.get 37 + local.set 11 + local.get 10 + local.get 11 + i32.shl + local.set 12 + local.get 4 + local.get 12 i32.store offset=4 + i32.const 1 + local.set 13 + local.get 4 + local.get 13 + i32.store + local.get 1 + i32.load + local.set 14 + local.get 4 + local.get 14 + i32.store offset=24 + local.get 4 + i32.load offset=24 + local.set 15 + local.get 4 + local.get 15 + i32.store offset=28 + local.get 4 + i32.load offset=28 + local.set 16 + local.get 4 + local.get 16 + i32.store offset=20 + local.get 4 + i32.load offset=20 + local.set 17 + local.get 4 + local.get 17 + i32.store offset=8 + local.get 4 + i32.load + local.set 18 + local.get 4 + i32.load offset=4 + local.set 19 + local.get 4 + local.get 18 + i32.store offset=12 + local.get 4 + local.get 19 + i32.store offset=16 + local.get 4 + i64.load offset=8 align=4 + local.set 20 + local.get 0 + local.get 20 + i64.store align=4 + i32.const 8 + local.set 21 + local.get 0 + local.get 21 + i32.add + local.set 22 + i32.const 8 + local.set 23 + local.get 4 + local.get 23 + i32.add + local.set 24 + local.get 24 + local.get 21 + i32.add + local.set 25 + local.get 25 + i32.load + local.set 26 + local.get 22 + local.get 26 + i32.store end return) - (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h5c2d7550eee73aebE (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h1ffc49a20d99d8a2E (type 8) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 4 - i32.const 176 + i32.const 144 local.set 5 local.get 4 local.get 5 @@ -10466,9 +7857,6 @@ local.get 2 i32.lt_u local.set 11 - local.get 6 - local.get 10 - i32.store offset=136 i32.const 1 local.set 12 local.get 11 @@ -10477,464 +7865,449 @@ local.set 13 local.get 6 local.get 13 - i32.store8 offset=140 + i32.store8 offset=143 local.get 6 - i32.load offset=136 + i32.load8_u offset=143 local.set 14 - local.get 6 - i32.load8_u offset=140 - local.set 15 i32.const 1 - local.set 16 + local.set 15 + local.get 14 local.get 15 - local.get 16 - i32.and - local.set 17 - local.get 6 - local.get 17 - i32.store8 offset=175 - local.get 6 - i32.load8_u offset=175 - local.set 18 - i32.const 1 - local.set 19 - local.get 18 - local.get 19 i32.and - local.set 20 - local.get 20 + local.set 16 + local.get 16 br_if 2 (;@3;) br 1 (;@4;) end i32.const 0 - local.set 21 - local.get 6 - local.get 21 - i32.store offset=32 + local.set 17 local.get 6 - i32.load offset=32 - local.set 22 - local.get 6 - i32.load offset=36 - local.set 23 - local.get 6 - local.get 22 + local.get 17 i32.store offset=24 local.get 6 - local.get 23 - i32.store offset=28 - local.get 6 i32.load offset=24 - local.set 24 + local.set 18 local.get 6 i32.load offset=28 - local.set 25 + local.set 19 local.get 6 - local.get 24 + local.get 18 i32.store offset=16 local.get 6 - local.get 25 + local.get 19 i32.store offset=20 + local.get 6 + i32.load offset=16 + local.set 20 + local.get 6 + i32.load offset=20 + local.set 21 + local.get 6 + local.get 20 + i32.store offset=8 + local.get 6 + local.get 21 + i32.store offset=12 br 3 (;@1;) end local.get 6 - local.get 14 - i32.store offset=60 + local.get 10 + i32.store offset=52 i32.const 1 - local.set 26 + local.set 22 local.get 6 - local.get 26 - i32.store offset=56 + local.get 22 + i32.store offset=48 br 1 (;@2;) end i32.const 0 - local.set 27 + local.set 23 local.get 6 - local.get 27 - i32.store offset=56 + local.get 23 + i32.store offset=48 end i32.const 0 - local.set 28 + local.set 24 local.get 6 - local.get 28 - i32.store offset=64 + local.get 24 + i32.store offset=56 local.get 6 - i32.load offset=56 - local.set 29 + i32.load offset=48 + local.set 25 block ;; label = @2 block ;; label = @3 - local.get 29 + local.get 25 br_if 0 (;@3;) local.get 6 - i32.load offset=64 - local.set 30 + i32.load offset=56 + local.set 26 local.get 6 - i32.load offset=68 - local.set 31 + i32.load offset=60 + local.set 27 local.get 6 - local.get 30 - i32.store offset=48 + local.get 26 + i32.store offset=40 local.get 6 - local.get 31 - i32.store offset=52 + local.get 27 + i32.store offset=44 br 1 (;@2;) end local.get 6 - i32.load offset=60 - local.set 32 + i32.load offset=52 + local.set 28 local.get 6 - local.get 32 - i32.store offset=52 + local.get 28 + i32.store offset=44 i32.const -2147483647 - local.set 33 + local.set 29 local.get 6 - local.get 33 - i32.store offset=48 + local.get 29 + i32.store offset=40 end local.get 6 - i32.load offset=48 - local.set 34 + i32.load offset=40 + local.set 30 i32.const -2147483647 + local.set 31 + local.get 30 + local.set 32 + local.get 31 + local.set 33 + local.get 32 + local.get 33 + i32.eq + local.set 34 + i32.const 0 local.set 35 - local.get 34 + i32.const 1 local.set 36 - local.get 35 + i32.const 1 local.set 37 - local.get 36 + local.get 34 local.get 37 - i32.eq + i32.and local.set 38 - i32.const 0 - local.set 39 - i32.const 1 - local.set 40 - i32.const 1 - local.set 41 + local.get 35 + local.get 36 local.get 38 - local.get 41 - i32.and - local.set 42 - local.get 39 - local.get 40 - local.get 42 select - local.set 43 + local.set 39 block ;; label = @2 block ;; label = @3 - local.get 43 + local.get 39 br_if 0 (;@3;) local.get 6 - i32.load offset=52 - local.set 44 + i32.load offset=44 + local.set 40 local.get 6 - local.get 44 - i32.store offset=44 + local.get 40 + i32.store offset=36 i32.const -2147483647 - local.set 45 + local.set 41 local.get 6 - local.get 45 - i32.store offset=40 + local.get 41 + i32.store offset=32 br 1 (;@2;) end local.get 6 - i32.load offset=48 - local.set 46 + i32.load offset=40 + local.set 42 local.get 6 - i32.load offset=52 - local.set 47 + i32.load offset=44 + local.set 43 local.get 6 - local.get 46 - i32.store offset=144 + local.get 42 + i32.store offset=116 local.get 6 - local.get 47 - i32.store offset=148 + local.get 43 + i32.store offset=120 local.get 6 - i32.load offset=144 - local.set 48 + i32.load offset=116 + local.set 44 local.get 6 - i32.load offset=148 - local.set 49 + i32.load offset=120 + local.set 45 local.get 6 - local.get 48 - i32.store offset=40 + local.get 44 + i32.store offset=32 local.get 6 - local.get 49 - i32.store offset=44 + local.get 45 + i32.store offset=36 end local.get 6 - i32.load offset=40 - local.set 50 + i32.load offset=32 + local.set 46 i32.const -2147483647 + local.set 47 + local.get 46 + local.set 48 + local.get 47 + local.set 49 + local.get 48 + local.get 49 + i32.eq + local.set 50 + i32.const 0 local.set 51 - local.get 50 + i32.const 1 local.set 52 - local.get 51 + i32.const 1 local.set 53 - local.get 52 + local.get 50 local.get 53 - i32.eq + i32.and local.set 54 - i32.const 0 - local.set 55 - i32.const 1 - local.set 56 - i32.const 1 - local.set 57 + local.get 51 + local.get 52 local.get 54 - local.get 57 - i32.and - local.set 58 - local.get 55 - local.get 56 - local.get 58 select - local.set 59 + local.set 55 block ;; label = @2 block ;; label = @3 block ;; label = @4 block ;; label = @5 - local.get 59 + local.get 55 br_if 0 (;@5;) local.get 6 - i32.load offset=44 - local.set 60 + i32.load offset=36 + local.set 56 local.get 1 i32.load offset=4 - local.set 61 + local.set 57 i32.const 1 - local.set 62 - local.get 61 - local.get 62 + local.set 58 + local.get 57 + local.get 58 i32.shl + local.set 59 + local.get 59 + local.get 56 + call $_ZN4core3cmp6max_by17hcb9c71ffbd8edb51E + local.set 60 + i32.const 8 + local.set 61 + local.get 61 + local.get 60 + call $_ZN4core3cmp6max_by17hcb9c71ffbd8edb51E + local.set 62 + i32.const 1 local.set 63 + local.get 6 local.get 63 - local.get 60 - call $_ZN4core3cmp6max_by17h2f68f711d6289889E + local.get 63 + local.get 62 + call $_ZN4core5alloc6layout6Layout5array5inner17hde74f827f47f01deE + local.get 6 + i32.load offset=4 local.set 64 - i32.const 8 + local.get 6 + i32.load local.set 65 - local.get 65 - local.get 64 - call $_ZN4core3cmp6max_by17h2f68f711d6289889E + i32.const 96 local.set 66 - i32.const 1 + local.get 6 + local.get 66 + i32.add local.set 67 - i32.const 8 + local.get 67 local.set 68 - local.get 6 local.get 68 - i32.add + local.get 1 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17ha4b462c499445094E + i32.const 8 local.set 69 + local.get 1 local.get 69 - local.get 67 - local.get 67 - local.get 66 - call $_ZN4core5alloc6layout6Layout5array5inner17hfbb2edc59de7921aE - local.get 6 - i32.load offset=12 + i32.add local.set 70 - local.get 6 - i32.load offset=8 + i32.const 84 local.set 71 - i32.const 112 - local.set 72 local.get 6 - local.get 72 + local.get 71 i32.add + local.set 72 + local.get 72 local.set 73 - local.get 73 + i32.const 96 local.set 74 + local.get 6 local.get 74 - local.get 1 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17h3141b25b685e6b54E - i32.const 96 + i32.add local.set 75 - local.get 6 local.get 75 - i32.add local.set 76 + local.get 73 + local.get 65 + local.get 64 local.get 76 - local.set 77 - i32.const 112 - local.set 78 - local.get 6 - local.get 78 - i32.add - local.set 79 - local.get 79 - local.set 80 - local.get 77 - local.get 71 local.get 70 - local.get 80 - local.get 1 - call $_ZN5alloc7raw_vec11finish_grow17h92fc14403172c315E + call $_ZN5alloc7raw_vec11finish_grow17he731c50f6660e204E local.get 6 - i32.load offset=96 - local.set 81 - local.get 81 + i32.load offset=84 + local.set 77 + local.get 77 i32.eqz br_if 1 (;@4;) br 2 (;@3;) end local.get 6 - i32.load offset=40 - local.set 82 + i32.load offset=32 + local.set 78 local.get 6 - i32.load offset=44 - local.set 83 + i32.load offset=36 + local.set 79 local.get 6 - local.get 82 - i32.store offset=72 + local.get 78 + i32.store offset=64 local.get 6 - local.get 83 - i32.store offset=76 + local.get 79 + i32.store offset=68 local.get 6 - i32.load offset=72 - local.set 84 + i32.load offset=64 + local.set 80 local.get 6 - i32.load offset=76 - local.set 85 + i32.load offset=68 + local.set 81 local.get 6 - local.get 84 - i32.store offset=152 + local.get 80 + i32.store offset=124 local.get 6 - local.get 85 - i32.store offset=156 + local.get 81 + i32.store offset=128 local.get 6 - i32.load offset=152 - local.set 86 + i32.load offset=124 + local.set 82 local.get 6 - i32.load offset=156 - local.set 87 + i32.load offset=128 + local.set 83 local.get 6 - local.get 86 - i32.store offset=16 + local.get 82 + i32.store offset=8 local.get 6 - local.get 87 - i32.store offset=20 + local.get 83 + i32.store offset=12 br 3 (;@1;) end local.get 6 - i32.load offset=100 - local.set 88 + i32.load offset=88 + local.set 84 local.get 6 - i32.load offset=104 - local.set 89 + i32.load offset=92 + local.set 85 local.get 6 - local.get 88 - i32.store offset=84 + local.get 84 + i32.store offset=76 local.get 6 - local.get 89 - i32.store offset=88 + local.get 85 + i32.store offset=80 i32.const 0 - local.set 90 + local.set 86 local.get 6 - local.get 90 - i32.store offset=80 + local.get 86 + i32.store offset=72 br 1 (;@2;) end local.get 6 - i32.load offset=100 - local.set 91 + i32.load offset=88 + local.set 87 local.get 6 - i32.load offset=104 - local.set 92 + i32.load offset=92 + local.set 88 local.get 6 - local.get 91 - i32.store offset=160 + local.get 87 + i32.store offset=132 local.get 6 - local.get 92 - i32.store offset=164 + local.get 88 + i32.store offset=136 local.get 6 - i32.load offset=160 - local.set 93 + i32.load offset=132 + local.set 89 local.get 6 - i32.load offset=164 - local.set 94 + i32.load offset=136 + local.set 90 local.get 6 - local.get 93 - i32.store offset=84 + local.get 89 + i32.store offset=76 local.get 6 - local.get 94 - i32.store offset=88 + local.get 90 + i32.store offset=80 i32.const 1 - local.set 95 + local.set 91 local.get 6 - local.get 95 - i32.store offset=80 + local.get 91 + i32.store offset=72 end local.get 6 - i32.load offset=80 - local.set 96 + i32.load offset=72 + local.set 92 block ;; label = @2 - local.get 96 + local.get 92 br_if 0 (;@2;) local.get 6 - i32.load offset=84 - local.set 97 + i32.load offset=76 + local.set 93 local.get 6 - i32.load offset=88 - local.set 98 + i32.load offset=80 + local.set 94 local.get 1 - local.get 97 - local.get 98 - local.get 66 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17h36c322a0e3568829E + local.get 93 + local.get 94 + local.get 62 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17h6d3fa603e6504e05E i32.const -2147483647 - local.set 99 + local.set 95 local.get 6 - local.get 99 - i32.store offset=16 + local.get 95 + i32.store offset=8 br 1 (;@1;) end local.get 6 - i32.load offset=84 - local.set 100 + i32.load offset=76 + local.set 96 local.get 6 - i32.load offset=88 - local.set 101 + i32.load offset=80 + local.set 97 local.get 6 - local.get 100 - i32.store offset=128 + local.get 96 + i32.store offset=108 local.get 6 - local.get 101 - i32.store offset=132 + local.get 97 + i32.store offset=112 local.get 6 - i32.load offset=128 - local.set 102 + i32.load offset=108 + local.set 98 local.get 6 - i32.load offset=132 - local.set 103 + i32.load offset=112 + local.set 99 local.get 6 - local.get 102 - i32.store offset=16 + local.get 98 + i32.store offset=8 local.get 6 - local.get 103 - i32.store offset=20 + local.get 99 + i32.store offset=12 end local.get 6 - i32.load offset=16 - local.set 104 + i32.load offset=8 + local.set 100 local.get 6 - i32.load offset=20 - local.set 105 + i32.load offset=12 + local.set 101 local.get 0 - local.get 105 + local.get 101 i32.store offset=4 local.get 0 - local.get 104 + local.get 100 i32.store - i32.const 176 - local.set 106 + i32.const 144 + local.set 102 local.get 6 - local.get 106 + local.get 102 i32.add - local.set 107 - local.get 107 + local.set 103 + local.get 103 global.set $__stack_pointer return) - (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17h36c322a0e3568829E (type 4) (param i32 i32 i32 i32) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17h6d3fa603e6504e05E (type 8) (param i32 i32 i32 i32) (local i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 4 @@ -10969,11 +8342,11 @@ local.get 3 i32.store offset=4 return) - (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17hfd5e4b8be6801111E (type 4) (param i32 i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h9b6dece91f0c91a9E (type 8) (param i32 i32 i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 4 - i32.const 176 + i32.const 144 local.set 5 local.get 4 local.get 5 @@ -11004,9 +8377,6 @@ local.get 2 i32.lt_u local.set 11 - local.get 6 - local.get 10 - i32.store offset=136 i32.const 1 local.set 12 local.get 11 @@ -11015,464 +8385,449 @@ local.set 13 local.get 6 local.get 13 - i32.store8 offset=140 + i32.store8 offset=143 local.get 6 - i32.load offset=136 + i32.load8_u offset=143 local.set 14 - local.get 6 - i32.load8_u offset=140 - local.set 15 - i32.const 1 - local.set 16 - local.get 15 - local.get 16 - i32.and - local.set 17 - local.get 6 - local.get 17 - i32.store8 offset=175 - local.get 6 - i32.load8_u offset=175 - local.set 18 i32.const 1 - local.set 19 - local.get 18 - local.get 19 + local.set 15 + local.get 14 + local.get 15 i32.and - local.set 20 - local.get 20 + local.set 16 + local.get 16 br_if 2 (;@3;) br 1 (;@4;) end i32.const 0 - local.set 21 - local.get 6 - local.get 21 - i32.store offset=32 - local.get 6 - i32.load offset=32 - local.set 22 + local.set 17 local.get 6 - i32.load offset=36 - local.set 23 - local.get 6 - local.get 22 + local.get 17 i32.store offset=24 local.get 6 - local.get 23 - i32.store offset=28 - local.get 6 i32.load offset=24 - local.set 24 + local.set 18 local.get 6 i32.load offset=28 - local.set 25 + local.set 19 local.get 6 - local.get 24 + local.get 18 i32.store offset=16 local.get 6 - local.get 25 + local.get 19 i32.store offset=20 + local.get 6 + i32.load offset=16 + local.set 20 + local.get 6 + i32.load offset=20 + local.set 21 + local.get 6 + local.get 20 + i32.store offset=8 + local.get 6 + local.get 21 + i32.store offset=12 br 3 (;@1;) end local.get 6 - local.get 14 - i32.store offset=60 + local.get 10 + i32.store offset=52 i32.const 1 - local.set 26 + local.set 22 local.get 6 - local.get 26 - i32.store offset=56 + local.get 22 + i32.store offset=48 br 1 (;@2;) end i32.const 0 - local.set 27 + local.set 23 local.get 6 - local.get 27 - i32.store offset=56 + local.get 23 + i32.store offset=48 end i32.const 0 - local.set 28 + local.set 24 local.get 6 - local.get 28 - i32.store offset=64 + local.get 24 + i32.store offset=56 local.get 6 - i32.load offset=56 - local.set 29 + i32.load offset=48 + local.set 25 block ;; label = @2 block ;; label = @3 - local.get 29 + local.get 25 br_if 0 (;@3;) local.get 6 - i32.load offset=64 - local.set 30 + i32.load offset=56 + local.set 26 local.get 6 - i32.load offset=68 - local.set 31 + i32.load offset=60 + local.set 27 local.get 6 - local.get 30 - i32.store offset=48 + local.get 26 + i32.store offset=40 local.get 6 - local.get 31 - i32.store offset=52 + local.get 27 + i32.store offset=44 br 1 (;@2;) end local.get 6 - i32.load offset=60 - local.set 32 + i32.load offset=52 + local.set 28 local.get 6 - local.get 32 - i32.store offset=52 + local.get 28 + i32.store offset=44 i32.const -2147483647 - local.set 33 + local.set 29 local.get 6 - local.get 33 - i32.store offset=48 + local.get 29 + i32.store offset=40 end local.get 6 - i32.load offset=48 - local.set 34 + i32.load offset=40 + local.set 30 i32.const -2147483647 + local.set 31 + local.get 30 + local.set 32 + local.get 31 + local.set 33 + local.get 32 + local.get 33 + i32.eq + local.set 34 + i32.const 0 local.set 35 - local.get 34 + i32.const 1 local.set 36 - local.get 35 + i32.const 1 local.set 37 - local.get 36 + local.get 34 local.get 37 - i32.eq + i32.and local.set 38 - i32.const 0 - local.set 39 - i32.const 1 - local.set 40 - i32.const 1 - local.set 41 + local.get 35 + local.get 36 local.get 38 - local.get 41 - i32.and - local.set 42 - local.get 39 - local.get 40 - local.get 42 select - local.set 43 + local.set 39 block ;; label = @2 block ;; label = @3 - local.get 43 + local.get 39 br_if 0 (;@3;) local.get 6 - i32.load offset=52 - local.set 44 + i32.load offset=44 + local.set 40 local.get 6 - local.get 44 - i32.store offset=44 + local.get 40 + i32.store offset=36 i32.const -2147483647 - local.set 45 + local.set 41 local.get 6 - local.get 45 - i32.store offset=40 + local.get 41 + i32.store offset=32 br 1 (;@2;) end local.get 6 - i32.load offset=48 - local.set 46 + i32.load offset=40 + local.set 42 local.get 6 - i32.load offset=52 - local.set 47 + i32.load offset=44 + local.set 43 local.get 6 - local.get 46 - i32.store offset=144 + local.get 42 + i32.store offset=116 local.get 6 - local.get 47 - i32.store offset=148 + local.get 43 + i32.store offset=120 local.get 6 - i32.load offset=144 - local.set 48 + i32.load offset=116 + local.set 44 local.get 6 - i32.load offset=148 - local.set 49 + i32.load offset=120 + local.set 45 local.get 6 - local.get 48 - i32.store offset=40 + local.get 44 + i32.store offset=32 local.get 6 - local.get 49 - i32.store offset=44 + local.get 45 + i32.store offset=36 end local.get 6 - i32.load offset=40 - local.set 50 + i32.load offset=32 + local.set 46 i32.const -2147483647 + local.set 47 + local.get 46 + local.set 48 + local.get 47 + local.set 49 + local.get 48 + local.get 49 + i32.eq + local.set 50 + i32.const 0 local.set 51 - local.get 50 + i32.const 1 local.set 52 - local.get 51 + i32.const 1 local.set 53 - local.get 52 + local.get 50 local.get 53 - i32.eq + i32.and local.set 54 - i32.const 0 - local.set 55 - i32.const 1 - local.set 56 - i32.const 1 - local.set 57 + local.get 51 + local.get 52 local.get 54 - local.get 57 - i32.and - local.set 58 - local.get 55 - local.get 56 - local.get 58 select - local.set 59 + local.set 55 block ;; label = @2 block ;; label = @3 block ;; label = @4 block ;; label = @5 - local.get 59 + local.get 55 br_if 0 (;@5;) local.get 6 - i32.load offset=44 - local.set 60 + i32.load offset=36 + local.set 56 local.get 1 i32.load offset=4 - local.set 61 + local.set 57 i32.const 1 - local.set 62 - local.get 61 - local.get 62 + local.set 58 + local.get 57 + local.get 58 i32.shl + local.set 59 + local.get 59 + local.get 56 + call $_ZN4core3cmp6max_by17hcb9c71ffbd8edb51E + local.set 60 + i32.const 8 + local.set 61 + local.get 61 + local.get 60 + call $_ZN4core3cmp6max_by17hcb9c71ffbd8edb51E + local.set 62 + i32.const 1 local.set 63 + local.get 6 local.get 63 - local.get 60 - call $_ZN4core3cmp6max_by17h2f68f711d6289889E + local.get 63 + local.get 62 + call $_ZN4core5alloc6layout6Layout5array5inner17hde74f827f47f01deE + local.get 6 + i32.load offset=4 local.set 64 - i32.const 8 + local.get 6 + i32.load local.set 65 - local.get 65 - local.get 64 - call $_ZN4core3cmp6max_by17h2f68f711d6289889E + i32.const 96 local.set 66 - i32.const 1 + local.get 6 + local.get 66 + i32.add local.set 67 - i32.const 8 + local.get 67 local.set 68 - local.get 6 local.get 68 - i32.add + local.get 1 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17ha73de0fe0a34a4bcE + i32.const 8 local.set 69 + local.get 1 local.get 69 - local.get 67 - local.get 67 - local.get 66 - call $_ZN4core5alloc6layout6Layout5array5inner17hfbb2edc59de7921aE - local.get 6 - i32.load offset=12 + i32.add local.set 70 - local.get 6 - i32.load offset=8 + i32.const 84 local.set 71 - i32.const 112 - local.set 72 local.get 6 - local.get 72 + local.get 71 i32.add + local.set 72 + local.get 72 local.set 73 - local.get 73 - local.set 74 - local.get 74 - local.get 1 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14current_memory17hd6d2f2b2901d29e4E i32.const 96 - local.set 75 + local.set 74 local.get 6 - local.get 75 + local.get 74 i32.add + local.set 75 + local.get 75 local.set 76 + local.get 73 + local.get 65 + local.get 64 local.get 76 - local.set 77 - i32.const 112 - local.set 78 - local.get 6 - local.get 78 - i32.add - local.set 79 - local.get 79 - local.set 80 - local.get 77 - local.get 71 local.get 70 - local.get 80 - local.get 1 - call $_ZN5alloc7raw_vec11finish_grow17h92fc14403172c315E + call $_ZN5alloc7raw_vec11finish_grow17he731c50f6660e204E local.get 6 - i32.load offset=96 - local.set 81 - local.get 81 + i32.load offset=84 + local.set 77 + local.get 77 i32.eqz br_if 1 (;@4;) br 2 (;@3;) end local.get 6 - i32.load offset=40 - local.set 82 + i32.load offset=32 + local.set 78 local.get 6 - i32.load offset=44 - local.set 83 + i32.load offset=36 + local.set 79 local.get 6 - local.get 82 - i32.store offset=72 + local.get 78 + i32.store offset=64 local.get 6 - local.get 83 - i32.store offset=76 + local.get 79 + i32.store offset=68 local.get 6 - i32.load offset=72 - local.set 84 + i32.load offset=64 + local.set 80 local.get 6 - i32.load offset=76 - local.set 85 + i32.load offset=68 + local.set 81 local.get 6 - local.get 84 - i32.store offset=152 + local.get 80 + i32.store offset=124 local.get 6 - local.get 85 - i32.store offset=156 + local.get 81 + i32.store offset=128 local.get 6 - i32.load offset=152 - local.set 86 + i32.load offset=124 + local.set 82 local.get 6 - i32.load offset=156 - local.set 87 + i32.load offset=128 + local.set 83 local.get 6 - local.get 86 - i32.store offset=16 + local.get 82 + i32.store offset=8 local.get 6 - local.get 87 - i32.store offset=20 + local.get 83 + i32.store offset=12 br 3 (;@1;) end local.get 6 - i32.load offset=100 - local.set 88 + i32.load offset=88 + local.set 84 local.get 6 - i32.load offset=104 - local.set 89 + i32.load offset=92 + local.set 85 local.get 6 - local.get 88 - i32.store offset=84 + local.get 84 + i32.store offset=76 local.get 6 - local.get 89 - i32.store offset=88 + local.get 85 + i32.store offset=80 i32.const 0 - local.set 90 + local.set 86 local.get 6 - local.get 90 - i32.store offset=80 + local.get 86 + i32.store offset=72 br 1 (;@2;) end local.get 6 - i32.load offset=100 - local.set 91 + i32.load offset=88 + local.set 87 local.get 6 - i32.load offset=104 - local.set 92 + i32.load offset=92 + local.set 88 local.get 6 - local.get 91 - i32.store offset=160 + local.get 87 + i32.store offset=132 local.get 6 - local.get 92 - i32.store offset=164 + local.get 88 + i32.store offset=136 local.get 6 - i32.load offset=160 - local.set 93 + i32.load offset=132 + local.set 89 local.get 6 - i32.load offset=164 - local.set 94 + i32.load offset=136 + local.set 90 local.get 6 - local.get 93 - i32.store offset=84 + local.get 89 + i32.store offset=76 local.get 6 - local.get 94 - i32.store offset=88 + local.get 90 + i32.store offset=80 i32.const 1 - local.set 95 + local.set 91 local.get 6 - local.get 95 - i32.store offset=80 + local.get 91 + i32.store offset=72 end local.get 6 - i32.load offset=80 - local.set 96 + i32.load offset=72 + local.set 92 block ;; label = @2 - local.get 96 + local.get 92 br_if 0 (;@2;) local.get 6 - i32.load offset=84 - local.set 97 + i32.load offset=76 + local.set 93 local.get 6 - i32.load offset=88 - local.set 98 + i32.load offset=80 + local.set 94 local.get 1 - local.get 97 - local.get 98 - local.get 66 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17hf0e959f91a542aa4E + local.get 93 + local.get 94 + local.get 62 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17h2c89ff5ef243b551E i32.const -2147483647 - local.set 99 + local.set 95 local.get 6 - local.get 99 - i32.store offset=16 + local.get 95 + i32.store offset=8 br 1 (;@1;) end local.get 6 - i32.load offset=84 - local.set 100 + i32.load offset=76 + local.set 96 local.get 6 - i32.load offset=88 - local.set 101 + i32.load offset=80 + local.set 97 local.get 6 - local.get 100 - i32.store offset=128 + local.get 96 + i32.store offset=108 local.get 6 - local.get 101 - i32.store offset=132 + local.get 97 + i32.store offset=112 local.get 6 - i32.load offset=128 - local.set 102 + i32.load offset=108 + local.set 98 local.get 6 - i32.load offset=132 - local.set 103 + i32.load offset=112 + local.set 99 local.get 6 - local.get 102 - i32.store offset=16 + local.get 98 + i32.store offset=8 local.get 6 - local.get 103 - i32.store offset=20 + local.get 99 + i32.store offset=12 end local.get 6 - i32.load offset=16 - local.set 104 + i32.load offset=8 + local.set 100 local.get 6 - i32.load offset=20 - local.set 105 + i32.load offset=12 + local.set 101 local.get 0 - local.get 105 + local.get 101 i32.store offset=4 local.get 0 - local.get 104 + local.get 100 i32.store - i32.const 176 - local.set 106 + i32.const 144 + local.set 102 local.get 6 - local.get 106 + local.get 102 i32.add - local.set 107 - local.get 107 + local.set 103 + local.get 103 global.set $__stack_pointer return) - (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17hf0e959f91a542aa4E (type 4) (param i32 i32 i32 i32) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$15set_ptr_and_cap17h2c89ff5ef243b551E (type 8) (param i32 i32 i32 i32) (local i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 4 @@ -11484,155 +8839,30 @@ local.set 6 local.get 6 local.get 1 - i32.store offset=8 - local.get 6 - i32.load offset=8 - local.set 7 - local.get 6 - local.get 7 - i32.store offset=12 - local.get 6 - i32.load offset=12 - local.set 8 - local.get 6 - local.get 8 - i32.store offset=4 - local.get 6 - i32.load offset=4 - local.set 9 - local.get 0 - local.get 9 - i32.store - local.get 0 - local.get 3 - i32.store offset=4 - return) - (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17h3c7c9a1dbde60296E (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 2 - i32.const 16 - local.set 3 - local.get 2 - local.get 3 - i32.sub - local.set 4 - local.get 4 - global.set $__stack_pointer - i32.const 1 - local.set 5 - i32.const 8 - local.set 6 - local.get 4 - local.get 6 - i32.add - local.set 7 - local.get 7 - local.get 0 - local.get 1 - local.get 5 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h5c2d7550eee73aebE - local.get 4 - i32.load offset=12 - local.set 8 - local.get 4 - i32.load offset=8 - local.set 9 - local.get 9 - local.get 8 - call $_ZN5alloc7raw_vec14handle_reserve17h05fd33db22a196d0E - i32.const 16 - local.set 10 - local.get 4 - local.get 10 - i32.add - local.set 11 - local.get 11 - global.set $__stack_pointer - return) - (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h879eba6a1a1f35a1E (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 3 - i32.const 16 - local.set 4 - local.get 3 - local.get 4 - i32.sub - local.set 5 - local.get 5 - global.set $__stack_pointer - i32.const 8 - local.set 6 - local.get 5 - local.get 6 - i32.add - local.set 7 - local.get 7 - local.get 0 - local.get 1 - local.get 2 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17h5c2d7550eee73aebE - local.get 5 - i32.load offset=12 - local.set 8 - local.get 5 - i32.load offset=8 - local.set 9 - local.get 9 - local.get 8 - call $_ZN5alloc7raw_vec14handle_reserve17h05fd33db22a196d0E - i32.const 16 - local.set 10 - local.get 5 - local.get 10 - i32.add - local.set 11 - local.get 11 - global.set $__stack_pointer - return) - (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17hcc9f16f24197b390E (type 3) (param i32 i32 i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32) - global.get $__stack_pointer - local.set 3 - i32.const 16 - local.set 4 - local.get 3 - local.get 4 - i32.sub - local.set 5 - local.get 5 - global.set $__stack_pointer - i32.const 8 - local.set 6 - local.get 5 + i32.store offset=8 local.get 6 - i32.add + i32.load offset=8 local.set 7 + local.get 6 local.get 7 - local.get 0 - local.get 1 - local.get 2 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$14grow_amortized17hfd5e4b8be6801111E - local.get 5 + i32.store offset=12 + local.get 6 i32.load offset=12 local.set 8 - local.get 5 - i32.load offset=8 + local.get 6 + local.get 8 + i32.store offset=4 + local.get 6 + i32.load offset=4 local.set 9 + local.get 0 local.get 9 - local.get 8 - call $_ZN5alloc7raw_vec14handle_reserve17h05fd33db22a196d0E - i32.const 16 - local.set 10 - local.get 5 - local.get 10 - i32.add - local.set 11 - local.get 11 - global.set $__stack_pointer + i32.store + local.get 0 + local.get 3 + i32.store offset=4 return) - (func $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h0b928096a65a1ebcE (type 3) (param i32 i32 i32) + (func $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h0ba1ca6b454d9fe0E (type 3) (param i32 i32 i32) local.get 0 local.get 2 i32.store offset=4 @@ -11640,7 +8870,7 @@ local.get 1 i32.store return) - (func $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h6302d8e36f0c2609E (type 3) (param i32 i32 i32) + (func $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h313fbb621871c988E (type 3) (param i32 i32 i32) local.get 0 local.get 2 i32.store offset=4 @@ -11648,7 +8878,7 @@ local.get 1 i32.store return) - (func $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h7549af52fe0012acE (type 3) (param i32 i32 i32) + (func $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hcfddbcd869d44ef5E (type 3) (param i32 i32 i32) local.get 0 local.get 2 i32.store offset=4 @@ -11656,7 +8886,95 @@ local.get 1 i32.store return) - (func $_ZN75_$LT$usize$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hdc6c05f733128a5bE (type 11) (param i32 i32 i32 i32) (result i32) + (func $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hf1002aae9a2c2681E (type 0) (param i32 i32) + (local i64 i32 i32 i32 i32) + local.get 1 + i64.load align=4 + local.set 2 + local.get 0 + local.get 2 + i64.store align=4 + i32.const 8 + local.set 3 + local.get 0 + local.get 3 + i32.add + local.set 4 + local.get 1 + local.get 3 + i32.add + local.set 5 + local.get 5 + i32.load + local.set 6 + local.get 4 + local.get 6 + i32.store + return) + (func $_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17heebdd7c90834221cE (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 2 + i32.const 16 + local.set 3 + local.get 2 + local.get 3 + i32.sub + local.set 4 + local.get 4 + global.set $__stack_pointer + i32.const 8 + local.set 5 + local.get 1 + local.get 5 + i32.add + local.set 6 + local.get 6 + call $_ZN59_$LT$alloc..alloc..Global$u20$as$u20$core..clone..Clone$GT$5clone17h7110c1abb4d70507E + local.get 1 + i32.load + local.set 7 + local.get 1 + i32.load offset=8 + local.set 8 + local.get 4 + local.get 7 + i32.store offset=8 + local.get 4 + local.get 8 + i32.store offset=12 + local.get 4 + i32.load offset=8 + local.set 9 + local.get 4 + i32.load offset=12 + local.set 10 + local.get 4 + local.get 9 + i32.store + local.get 4 + local.get 10 + i32.store offset=4 + local.get 4 + i32.load + local.set 11 + local.get 4 + i32.load offset=4 + local.set 12 + local.get 0 + local.get 11 + local.get 12 + call $_ZN52_$LT$T$u20$as$u20$alloc..slice..hack..ConvertVec$GT$6to_vec17hbb25be0127bcc92dE + i32.const 16 + local.set 13 + local.get 4 + local.get 13 + i32.add + local.set 14 + local.get 14 + global.set $__stack_pointer + return) + (func $_ZN75_$LT$usize$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h585d43bdd37fa8a5E (type 11) (param i32 i32 i32 i32) (result i32) (local i32 i32 i32 i32 i32 i32) local.get 0 local.set 4 @@ -11686,9 +9004,9 @@ local.get 0 local.get 2 local.get 3 - call $_ZN4core9panicking18panic_bounds_check17h110a20fd4f592785E + call $_ZN4core9panicking18panic_bounds_check17h66aea8b9574ca63eE unreachable) - (func $_ZN75_$LT$usize$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h1b0b70b4302f9317E (type 11) (param i32 i32 i32 i32) (result i32) + (func $_ZN75_$LT$usize$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h4a6056bb7ffef6d7E (type 11) (param i32 i32 i32 i32) (result i32) (local i32 i32 i32 i32 i32 i32) local.get 0 local.set 4 @@ -11718,9 +9036,9 @@ local.get 0 local.get 2 local.get 3 - call $_ZN4core9panicking18panic_bounds_check17h110a20fd4f592785E + call $_ZN4core9panicking18panic_bounds_check17h66aea8b9574ca63eE unreachable) - (func $_ZN79_$LT$core..result..Result$LT$T$C$E$GT$$u20$as$u20$core..ops..try_trait..Try$GT$6branch17h071cfef9f8d7e159E (type 9) (param i32) (result i32) + (func $_ZN79_$LT$core..result..Result$LT$T$C$E$GT$$u20$as$u20$core..ops..try_trait..Try$GT$6branch17h8a3a2ca631598309E (type 4) (param i32) (result i32) (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer local.set 1 @@ -11772,3777 +9090,5551 @@ local.set 12 local.get 12 return) - (func $__rust_alloc (type 2) (param i32 i32) (result i32) - (local i32) + (func $_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17hc80771b6cdb9dca7E (type 1) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 3 + i32.const 16 + local.set 4 + local.get 3 + local.get 4 + i32.sub + local.set 5 + local.get 5 + global.set $__stack_pointer local.get 0 - local.get 1 - call $__rdl_alloc - local.set 2 - local.get 2 - return) - (func $__rust_dealloc (type 3) (param i32 i32 i32) + i32.load + local.set 6 local.get 0 + i32.load offset=8 + local.set 7 + local.get 5 + local.get 6 + i32.store offset=8 + local.get 5 + local.get 7 + i32.store offset=12 + local.get 5 + i32.load offset=8 + local.set 8 + local.get 5 + i32.load offset=12 + local.set 9 + local.get 5 + local.get 8 + i32.store + local.get 5 + local.get 9 + i32.store offset=4 + local.get 5 + i32.load + local.set 10 + local.get 5 + i32.load offset=4 + local.set 11 local.get 1 + local.get 10 + local.get 11 local.get 2 - call $__rdl_dealloc + call $_ZN75_$LT$usize$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h585d43bdd37fa8a5E + local.set 12 + i32.const 16 + local.set 13 + local.get 5 + local.get 13 + i32.add + local.set 14 + local.get 14 + global.set $__stack_pointer + local.get 12 return) - (func $__rust_realloc (type 11) (param i32 i32 i32 i32) (result i32) - (local i32) - local.get 0 - local.get 1 - local.get 2 - local.get 3 - call $__rdl_realloc + (func $_ZN84_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..IndexMut$LT$I$GT$$GT$9index_mut17he9915f9782aea272E (type 1) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 3 + i32.const 16 local.set 4 + local.get 3 local.get 4 - return) - (func $__rust_alloc_zeroed (type 2) (param i32 i32) (result i32) - (local i32) + i32.sub + local.set 5 + local.get 5 + global.set $__stack_pointer local.get 0 - local.get 1 - call $__rdl_alloc_zeroed - local.set 2 - local.get 2 - return) - (func $__rust_alloc_error_handler (type 0) (param i32 i32) + i32.load + local.set 6 local.get 0 + i32.load offset=8 + local.set 7 + local.get 5 + local.get 6 + i32.store offset=8 + local.get 5 + local.get 7 + i32.store offset=12 + local.get 5 + i32.load offset=8 + local.set 8 + local.get 5 + i32.load offset=12 + local.set 9 + local.get 5 + local.get 8 + i32.store + local.get 5 + local.get 9 + i32.store offset=4 + local.get 5 + i32.load + local.set 10 + local.get 5 + i32.load offset=4 + local.set 11 local.get 1 - call $__rg_oom - return) - (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h2f9122058122ec53E (type 0) (param i32 i32) - local.get 0 - i64.const 2604112250384438326 - i64.store offset=8 - local.get 0 - i64.const -5300603541150396866 - i64.store) - (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h493a5d87ecb9888bE (type 0) (param i32 i32) - local.get 0 - i64.const -163230743173927068 - i64.store offset=8 - local.get 0 - i64.const -4493808902380553279 - i64.store) - (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17hc16c025c0c717dd0E (type 0) (param i32 i32) - local.get 0 - i64.const 6709583872402221221 - i64.store offset=8 - local.get 0 - i64.const -517914840449640987 - i64.store) - (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h80fdd4a6338ee30dE (type 3) (param i32 i32 i32) - (local i32 i32) + local.get 10 + local.get 11 + local.get 2 + call $_ZN75_$LT$usize$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h4a6056bb7ffef6d7E + local.set 12 + i32.const 16 + local.set 13 + local.get 5 + local.get 13 + i32.add + local.set 14 + local.get 14 + global.set $__stack_pointer + local.get 12 + return) + (func $_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h7476dad7275f695fE (type 4) (param i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer - i32.const 32 + local.set 1 + i32.const 16 + local.set 2 + local.get 1 + local.get 2 i32.sub - local.tee 3 - global.set $__stack_pointer + local.set 3 + i32.const 0 + local.set 4 + i32.const 1 + local.set 5 + local.get 4 + local.get 5 + i32.and + local.set 6 block ;; label = @1 block ;; label = @2 - local.get 1 - local.get 2 - i32.add - local.tee 2 - local.get 1 - i32.lt_u + local.get 6 br_if 0 (;@2;) local.get 0 - i32.const 4 - i32.add + i32.load offset=4 + local.set 7 + local.get 0 i32.load - local.tee 1 + local.set 8 + local.get 8 + local.set 9 + local.get 7 + local.set 10 + local.get 9 + local.get 10 + i32.eq + local.set 11 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 + local.set 12 + local.get 11 + local.get 12 + i32.and + local.set 13 + local.get 3 + local.get 13 + i32.store8 offset=11 + br 1 (;@1;) + end + local.get 0 + i32.load offset=4 + local.set 14 + i32.const 0 + local.set 15 + local.get 14 + local.set 16 + local.get 15 + local.set 17 + local.get 16 + local.get 17 + i32.eq + local.set 18 + i32.const 1 + local.set 19 + local.get 18 + local.get 19 + i32.and + local.set 20 + local.get 3 + local.get 20 + i32.store8 offset=11 + end + local.get 3 + i32.load8_u offset=11 + local.set 21 + i32.const 1 + local.set 22 + local.get 21 + local.get 22 + i32.and + local.set 23 + block ;; label = @1 + block ;; label = @2 block ;; label = @3 block ;; label = @4 - local.get 1 - i32.eqz - br_if 0 (;@4;) - local.get 3 - local.get 1 - i32.store offset=24 - local.get 3 - i32.const 1 - i32.store offset=20 + block ;; label = @5 + local.get 23 + br_if 0 (;@5;) + local.get 0 + i32.load + local.set 24 + i32.const 0 + local.set 25 + i32.const 1 + local.set 26 + local.get 25 + local.get 26 + i32.and + local.set 27 + local.get 27 + br_if 2 (;@3;) + br 1 (;@4;) + end + i32.const 0 + local.set 28 local.get 3 - local.get 0 - i32.load - i32.store offset=16 - br 1 (;@3;) + local.get 28 + i32.store offset=4 + br 3 (;@1;) end + local.get 0 + i32.load + local.set 29 + i32.const 1 + local.set 30 + local.get 29 + local.get 30 + i32.add + local.set 31 local.get 3 - i32.const 0 - i32.store offset=20 - end - local.get 3 - local.get 4 - local.get 2 - local.get 3 - i32.const 16 - i32.add - call $_ZN5alloc7raw_vec11finish_grow17hc21a3f541a74c2c7E - local.get 3 - i32.load offset=4 - local.set 1 - block ;; label = @3 + local.get 31 + i32.store offset=12 local.get 3 - i32.load - br_if 0 (;@3;) - local.get 0 - local.get 1 - i32.store + i32.load offset=12 + local.set 32 local.get 0 - i32.const 4 - i32.add - local.get 2 + local.get 32 i32.store - br 2 (;@1;) + br 1 (;@2;) end - local.get 1 - i32.const -2147483647 - i32.eq - br_if 1 (;@1;) - local.get 1 - i32.eqz + local.get 0 + i32.load offset=4 + local.set 33 + i32.const 1 + local.set 34 + local.get 33 + local.get 34 + i32.sub + local.set 35 + local.get 0 + local.get 35 + i32.store offset=4 + end + local.get 3 + local.get 24 + i32.store offset=4 + end + local.get 3 + i32.load offset=4 + local.set 36 + local.get 36 + return) + (func $_ZN93_$LT$core..slice..iter..Chunks$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h51255239889b08a6E (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 2 + i32.const 48 + local.set 3 + local.get 2 + local.get 3 + i32.sub + local.set 4 + local.get 4 + global.set $__stack_pointer + local.get 1 + i32.load offset=4 + local.set 5 + block ;; label = @1 + block ;; label = @2 + local.get 5 br_if 0 (;@2;) - local.get 1 - local.get 3 - i32.const 8 - i32.add - i32.load - call $_ZN5alloc5alloc18handle_alloc_error17hbbf685130f283420E + i32.const 0 + local.set 6 + local.get 4 + local.get 6 + i32.store offset=8 + br 1 (;@1;) + end + local.get 1 + i32.load offset=4 + local.set 7 + local.get 1 + i32.load offset=8 + local.set 8 + local.get 7 + local.get 8 + call $_ZN4core3cmp6min_by17h49e049503750c28bE + local.set 9 + local.get 1 + i32.load + local.set 10 + local.get 1 + i32.load offset=4 + local.set 11 + local.get 9 + local.set 12 + local.get 11 + local.set 13 + local.get 12 + local.get 13 + i32.le_u + local.set 14 + i32.const 1 + local.set 15 + local.get 14 + local.get 15 + i32.and + local.set 16 + block ;; label = @2 + local.get 16 + br_if 0 (;@2;) + i32.const 1049480 + local.set 17 + i32.const 35 + local.set 18 + i32.const 1049596 + local.set 19 + local.get 17 + local.get 18 + local.get 19 + call $_ZN4core9panicking5panic17hb41dbc4083d9884eE unreachable end - call $_ZN5alloc7raw_vec17capacity_overflow17h69391d2b6a90e408E - unreachable + local.get 4 + local.get 10 + i32.store offset=24 + local.get 4 + local.get 9 + i32.store offset=28 + local.get 4 + i32.load offset=24 + local.set 20 + local.get 4 + i32.load offset=28 + local.set 21 + local.get 4 + local.get 20 + i32.store offset=16 + local.get 4 + local.get 21 + i32.store offset=20 + local.get 4 + i32.load offset=16 + local.set 22 + local.get 4 + i32.load offset=20 + local.set 23 + local.get 10 + local.get 9 + i32.add + local.set 24 + local.get 11 + local.get 9 + i32.sub + local.set 25 + local.get 4 + local.get 24 + i32.store offset=40 + local.get 4 + local.get 25 + i32.store offset=44 + local.get 4 + i32.load offset=40 + local.set 26 + local.get 4 + i32.load offset=44 + local.set 27 + local.get 4 + local.get 26 + i32.store offset=32 + local.get 4 + local.get 27 + i32.store offset=36 + local.get 4 + i32.load offset=32 + local.set 28 + local.get 4 + i32.load offset=36 + local.set 29 + local.get 1 + local.get 28 + i32.store + local.get 1 + local.get 29 + i32.store offset=4 + local.get 4 + local.get 22 + i32.store offset=8 + local.get 4 + local.get 23 + i32.store offset=12 end - local.get 3 - i32.const 32 + local.get 4 + i32.load offset=8 + local.set 30 + local.get 4 + i32.load offset=12 + local.set 31 + local.get 0 + local.get 31 + i32.store offset=4 + local.get 0 + local.get 30 + i32.store + i32.const 48 + local.set 32 + local.get 4 + local.get 32 i32.add - global.set $__stack_pointer) - (func $_ZN4core3ptr100drop_in_place$LT$$RF$mut$u20$std..io..Write..write_fmt..Adapter$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17hd4e2b285c82bbfddE (type 6) (param i32)) - (func $_ZN4core3ptr29drop_in_place$LT$$LP$$RP$$GT$17h4601b2f1c809a5c8E (type 6) (param i32)) - (func $_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h55fc1a049449355bE (type 6) (param i32) - (local i32) + local.set 33 + local.get 33 + global.set $__stack_pointer + return) + (func $_ZN98_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter..SpecFromIter$LT$T$C$I$GT$$GT$9from_iter17hef5f9e0868bfddb3E (type 3) (param i32 i32 i32) + local.get 0 + local.get 1 + local.get 2 + call $_ZN111_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$alloc..vec..spec_from_iter_nested..SpecFromIterNested$LT$T$C$I$GT$$GT$9from_iter17h6f338b4443ee7d7bE + return) + (func $new (type 7) (param i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 1 + i32.const 64 + local.set 2 + local.get 1 + local.get 2 + i32.sub + local.set 3 + local.get 3 + global.set $__stack_pointer + i32.const 0 + local.set 4 + i32.const 4096 + local.set 5 + i32.const 1 + local.set 6 + local.get 4 + local.get 6 + i32.and + local.set 7 block ;; label = @1 - local.get 0 - i32.const 4 + local.get 7 + br_if 0 (;@1;) + i32.const 0 + local.set 8 + local.get 3 + local.get 8 + i32.store offset=40 + local.get 3 + local.get 5 + i32.store offset=44 + local.get 3 + i32.load offset=40 + local.set 9 + local.get 3 + i32.load offset=44 + local.set 10 + local.get 3 + local.get 9 + local.get 10 + call $_ZN4core4iter6traits8iterator8Iterator3map17h6424cf1e29a4fd28E + local.get 3 + i32.load offset=4 + local.set 11 + local.get 3 + i32.load + local.set 12 + i32.const 28 + local.set 13 + local.get 3 + local.get 13 + i32.add + local.set 14 + local.get 14 + local.get 12 + local.get 11 + call $_ZN4core4iter6traits8iterator8Iterator7collect17h5a7d05434a394ca9E + i32.const 8 + local.set 15 + i32.const 48 + local.set 16 + local.get 3 + local.get 16 + i32.add + local.set 17 + local.get 17 + local.get 15 + i32.add + local.set 18 + i32.const 28 + local.set 19 + local.get 3 + local.get 19 + i32.add + local.set 20 + local.get 20 + local.get 15 i32.add + local.set 21 + local.get 21 i32.load - local.tee 1 - i32.eqz - br_if 0 (;@1;) - local.get 0 + local.set 22 + local.get 18 + local.get 22 + i32.store + local.get 3 + i64.load offset=28 align=4 + local.set 23 + local.get 3 + local.get 23 + i64.store offset=48 + i32.const 64 + local.set 24 + local.get 3 + local.get 24 + i32.store offset=20 + local.get 3 + local.get 24 + i32.store offset=24 + i32.const 8 + local.set 25 + local.get 3 + local.get 25 + i32.add + local.set 26 + local.get 26 + local.get 15 + i32.add + local.set 27 + local.get 18 i32.load - local.get 1 - i32.const 1 - call $__rust_dealloc - end) - (func $_ZN4core3ptr70drop_in_place$LT$std..panicking..begin_panic_handler..PanicPayload$GT$17h8c6df4fab5d2c7ebE (type 6) (param i32) - (local i32) - block ;; label = @1 + local.set 28 + local.get 27 + local.get 28 + i32.store + local.get 3 + i64.load offset=48 + local.set 29 + local.get 3 + local.get 29 + i64.store offset=8 + local.get 27 + i32.load + local.set 30 + local.get 3 + i32.load offset=8 + local.set 31 + local.get 3 + i32.load offset=12 + local.set 32 + local.get 3 + i32.load offset=20 + local.set 33 + local.get 3 + i32.load offset=24 + local.set 34 local.get 0 - i32.load offset=4 - local.tee 1 - i32.eqz - br_if 0 (;@1;) + local.get 34 + i32.store offset=16 + local.get 0 + local.get 33 + i32.store offset=12 + local.get 0 + local.get 30 + i32.store offset=8 + local.get 0 + local.get 32 + i32.store offset=4 local.get 0 - i32.const 8 + local.get 31 + i32.store + i32.const 64 + local.set 35 + local.get 3 + local.get 35 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_char17h7cac422012c51d26E (type 2) (param i32 i32) (result i32) - (local i32 i32) + local.set 36 + local.get 36 + global.set $__stack_pointer + return + end + i32.const 1049696 + local.set 37 + i32.const 33 + local.set 38 + i32.const 1049668 + local.set 39 + local.get 37 + local.get 38 + local.get 39 + call $_ZN4core9panicking5panic17hb41dbc4083d9884eE + unreachable) + (func $render (type 0) (param i32 i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) global.get $__stack_pointer + local.set 2 i32.const 16 + local.set 3 + local.get 2 + local.get 3 i32.sub - local.tee 2 + local.set 4 + local.get 4 global.set $__stack_pointer + i32.const 4 + local.set 5 + local.get 4 + local.get 5 + i32.add + local.set 6 + local.get 6 + local.get 1 + call $_ZN45_$LT$T$u20$as$u20$alloc..string..ToString$GT$9to_string17hb6bda17ee49bda31E + local.get 4 + i32.load offset=4 + local.set 7 + local.get 4 + i32.load offset=8 + local.set 8 + local.get 4 + i32.load offset=12 + local.set 9 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_push17h665e9c8dc83233d8E - 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 + local.get 9 + i32.store offset=8 + local.get 0 + local.get 8 + i32.store offset=4 + local.get 0 + local.get 7 + i32.store + i32.const 16 + local.set 10 + local.get 4 + local.get 10 + i32.add + local.set 11 + local.get 11 + global.set $__stack_pointer + return) + (func $tick (type 7) (param i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i64 i64 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 1 + i32.const 112 + local.set 2 + local.get 1 + local.get 2 + i32.sub + local.set 3 + local.get 3 + global.set $__stack_pointer + i32.const 32 + local.set 4 + local.get 3 + local.get 4 + i32.add + local.set 5 + local.get 5 + local.set 6 + local.get 6 + local.get 0 + call $_ZN67_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17heebdd7c90834221cE + local.get 0 + i32.load offset=16 + local.set 7 + i32.const 0 + local.set 8 + local.get 3 + local.get 8 + i32.store offset=44 + local.get 3 + local.get 7 + i32.store offset=48 + local.get 3 + i32.load offset=44 + local.set 9 + local.get 3 + i32.load offset=48 + local.set 10 + i32.const 24 + local.set 11 + local.get 3 + local.get 11 + i32.add + local.set 12 + local.get 12 + local.get 9 + local.get 10 + call $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hcfddbcd869d44ef5E + local.get 3 + i32.load offset=28 + local.set 13 + local.get 3 + i32.load offset=24 + local.set 14 + local.get 3 + local.get 14 + i32.store offset=52 + local.get 3 + local.get 13 + i32.store offset=56 + loop ;; label = @1 + i32.const 16 + local.set 15 + local.get 3 + local.get 15 + i32.add + local.set 16 + i32.const 52 + local.set 17 + local.get 3 + local.get 17 + i32.add + local.set 18 + local.get 16 + local.get 18 + call $_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$4next17hb8a5ddf94a022688E + local.get 3 + i32.load offset=16 + local.set 19 + local.get 3 + i32.load offset=20 + local.set 20 + local.get 3 + local.get 20 + i32.store offset=64 + local.get 3 + local.get 19 + i32.store offset=60 + local.get 3 + i32.load offset=60 + local.set 21 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 + local.get 21 br_if 0 (;@2;) + i32.const 8 + local.set 22 + i32.const 96 + local.set 23 + local.get 3 + local.get 23 + i32.add + local.set 24 + local.get 24 + local.get 22 + i32.add + local.set 25 + i32.const 32 + local.set 26 + local.get 3 + local.get 26 + i32.add + local.set 27 + local.get 27 + local.get 22 + i32.add + local.set 28 + local.get 28 + i32.load + local.set 29 + local.get 25 + local.get 29 + i32.store + local.get 3 + i64.load offset=32 align=4 + local.set 30 + local.get 3 + local.get 30 + i64.store offset=96 local.get 0 + call $_ZN4core3ptr55drop_in_place$LT$alloc..vec..Vec$LT$index..Cell$GT$$GT$17h7e423565a133bf60E local.get 3 - local.get 1 - call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h80fdd4a6338ee30dE + i64.load offset=96 align=4 + local.set 31 local.get 0 - i32.load offset=8 - local.set 3 + local.get 31 + i64.store align=4 + i32.const 8 + local.set 32 + local.get 0 + local.get 32 + i32.add + local.set 33 + i32.const 96 + local.set 34 + local.get 3 + local.get 34 + i32.add + local.set 35 + local.get 35 + local.get 32 + i32.add + local.set 36 + local.get 36 + i32.load + local.set 37 + local.get 33 + local.get 37 + i32.store + i32.const 112 + local.set 38 + local.get 3 + local.get 38 + i32.add + local.set 39 + local.get 39 + global.set $__stack_pointer + return 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 + i32.load offset=64 + local.set 40 local.get 0 + i32.load offset=12 + local.set 41 + i32.const 0 + local.set 42 local.get 3 - local.get 1 + local.get 42 + i32.store offset=68 + local.get 3 + local.get 41 + i32.store offset=72 + local.get 3 + i32.load offset=68 + local.set 43 + local.get 3 + i32.load offset=72 + local.set 44 + i32.const 8 + local.set 45 + local.get 3 + local.get 45 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_push17h665e9c8dc83233d8E (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 + local.set 46 + local.get 46 + local.get 43 + local.get 44 + call $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hcfddbcd869d44ef5E + local.get 3 + i32.load offset=12 + local.set 47 + local.get 3 + i32.load offset=8 + local.set 48 + local.get 3 + local.get 48 + i32.store offset=76 + local.get 3 + local.get 47 + i32.store offset=80 + loop ;; label = @2 + i32.const 76 + local.set 49 + local.get 3 + local.get 49 i32.add - local.tee 1 + local.set 50 + local.get 3 + local.get 50 + call $_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$4next17hb8a5ddf94a022688E + local.get 3 + i32.load + local.set 51 + local.get 3 + i32.load offset=4 + local.set 52 + local.get 3 + local.get 52 + i32.store offset=88 + local.get 3 + local.get 51 + i32.store offset=84 + local.get 3 + i32.load offset=84 + local.set 53 + local.get 53 i32.eqz - br_if 0 (;@2;) + br_if 1 (;@1;) + local.get 3 + i32.load offset=88 + local.set 54 local.get 0 - i32.const 4 - i32.add - i32.load - local.tee 3 + local.get 40 + local.get 54 + call $_ZN5index8Universe9get_index17h5a48cdd7f3281fb5E + local.set 55 + i32.const 1049732 + local.set 56 + local.get 0 + local.get 55 + local.get 56 + call $_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17hc80771b6cdb9dca7E + local.set 57 + local.get 57 + i32.load8_u + local.set 58 + local.get 0 + local.get 40 + local.get 54 + call $_ZN5index8Universe19live_neighbor_count17heb1f02b6fca859a7E + local.set 59 + i32.const 1 + local.set 60 + local.get 58 + local.get 60 + i32.and + local.set 61 + local.get 3 + local.get 61 + i32.store8 offset=94 + local.get 3 + local.get 59 + i32.store8 offset=95 + local.get 3 + i32.load8_u offset=94 + local.set 62 + i32.const 1 + local.set 63 + local.get 62 + local.get 63 + i32.and + local.set 64 + i32.const 0 + local.set 65 + i32.const 255 + local.set 66 + local.get 64 + local.get 66 + i32.and + local.set 67 + i32.const 255 + local.set 68 + local.get 65 + local.get 68 + i32.and + local.set 69 + local.get 67 + local.get 69 + i32.eq + local.set 70 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 + local.set 71 + local.get 70 + local.get 71 + i32.and + local.set 72 block ;; label = @3 block ;; label = @4 + block ;; label = @5 + block ;; label = @6 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + local.get 72 + i32.eqz + br_if 0 (;@11;) + local.get 3 + i32.load8_u offset=95 + local.set 73 + i32.const 3 + local.set 74 + i32.const 255 + local.set 75 + local.get 73 + local.get 75 + i32.and + local.set 76 + i32.const 255 + local.set 77 + local.get 74 + local.get 77 + i32.and + local.set 78 + local.get 76 + local.get 78 + i32.eq + local.set 79 + i32.const 1 + local.set 80 + local.get 79 + local.get 80 + i32.and + local.set 81 + local.get 81 + br_if 1 (;@10;) + br 7 (;@4;) + end + local.get 3 + i32.load8_u offset=95 + local.set 82 + i32.const 2 + local.set 83 + i32.const 255 + local.set 84 + local.get 82 + local.get 84 + i32.and + local.set 85 + i32.const 255 + local.set 86 + local.get 83 + local.get 86 + i32.and + local.set 87 + local.get 85 + local.get 87 + i32.lt_u + local.set 88 + i32.const 1 + local.set 89 + local.get 88 + local.get 89 + i32.and + local.set 90 + local.get 90 + br_if 2 (;@8;) + br 1 (;@9;) + end + i32.const 1 + local.set 91 + local.get 3 + local.get 91 + i32.store8 offset=93 + br 6 (;@3;) + end + local.get 3 + i32.load8_u offset=95 + local.set 92 + i32.const -2 + local.set 93 + local.get 92 + local.get 93 + i32.add + local.set 94 + i32.const 255 + local.set 95 + local.get 94 + local.get 95 + i32.and + local.set 96 + i32.const 2 + local.set 97 + local.get 96 + local.get 97 + i32.lt_u + local.set 98 + local.get 98 + br_if 2 (;@6;) + br 1 (;@7;) + end + i32.const 0 + local.set 99 + local.get 3 + local.get 99 + i32.store8 offset=93 + br 4 (;@3;) + end + local.get 3 + i32.load8_u offset=95 + local.set 100 + i32.const 3 + local.set 101 + i32.const 255 + local.set 102 + local.get 100 + local.get 102 + i32.and + local.set 103 + i32.const 255 + local.set 104 + local.get 101 + local.get 104 + i32.and + local.set 105 + local.get 103 + local.get 105 + i32.gt_u + local.set 106 + i32.const 1 + local.set 107 + local.get 106 + local.get 107 + i32.and + local.set 108 + local.get 108 + br_if 1 (;@5;) + br 2 (;@4;) + end + i32.const 1 + local.set 109 + local.get 3 + local.get 109 + i32.store8 offset=93 + br 2 (;@3;) + end + i32.const 0 + local.set 110 local.get 3 - i32.eqz - br_if 0 (;@4;) - local.get 2 - local.get 3 - i32.store offset=24 - local.get 2 - i32.const 1 - i32.store offset=20 - local.get 2 - local.get 0 - i32.load - i32.store offset=16 + local.get 110 + i32.store8 offset=93 br 1 (;@3;) end - local.get 2 - i32.const 0 - i32.store offset=20 - end - local.get 2 - local.get 4 - local.get 1 - local.get 2 - i32.const 16 - i32.add - call $_ZN5alloc7raw_vec11finish_grow17hc21a3f541a74c2c7E - local.get 2 - i32.load offset=4 - local.set 3 - block ;; label = @3 - local.get 2 - i32.load - br_if 0 (;@3;) - local.get 0 local.get 3 - i32.store - local.get 0 - i32.const 4 - i32.add - local.get 1 - i32.store - br 2 (;@1;) + i32.load8_u offset=94 + local.set 111 + i32.const 1 + local.set 112 + local.get 111 + local.get 112 + i32.and + local.set 113 + local.get 3 + local.get 113 + i32.store8 offset=93 end local.get 3 - i32.const -2147483647 - i32.eq - br_if 1 (;@1;) - local.get 3 - i32.eqz - br_if 0 (;@2;) + i32.load8_u offset=93 + local.set 114 + i32.const 32 + local.set 115 local.get 3 - local.get 2 - i32.const 8 + local.get 115 i32.add - i32.load - call $_ZN5alloc5alloc18handle_alloc_error17hbbf685130f283420E - unreachable - end - call $_ZN5alloc7raw_vec17capacity_overflow17h69391d2b6a90e408E - 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_fmt17h8ae0b2b6f28f8ca0E (type 2) (param i32 i32) (result i32) - (local i32) - global.get $__stack_pointer - i32.const 32 - i32.sub - local.tee 2 - global.set $__stack_pointer + local.set 116 + local.get 116 + local.set 117 + i32.const 1049748 + local.set 118 + local.get 117 + local.get 55 + local.get 118 + call $_ZN84_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..IndexMut$LT$I$GT$$GT$9index_mut17he9915f9782aea272E + local.set 119 + i32.const 1 + local.set 120 + local.get 114 + local.get 120 + i32.and + local.set 121 + local.get 119 + local.get 121 + i32.store8 + br 0 (;@2;) + end + end) + (func $_ZN5index8Universe9get_index17h5a48cdd7f3281fb5E (type 1) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) local.get 0 - i32.load - local.set 0 - local.get 2 - i32.const 8 - i32.add - i32.const 16 - i32.add - local.get 1 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 2 - i32.const 8 - i32.add - i32.const 8 - i32.add - local.get 1 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 2 + i32.load offset=12 + local.set 3 local.get 1 - i64.load align=4 - i64.store offset=8 - local.get 2 - local.get 0 - i32.store offset=4 - local.get 2 - i32.const 4 - i32.add - i32.const 1050468 - local.get 2 - i32.const 8 - i32.add - call $_ZN4core3fmt5write17hce4d120ebbfb2b82E - local.set 1 - local.get 2 - i32.const 32 - i32.add - global.set $__stack_pointer - local.get 1) - (func $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17he71ac95e8290658dE (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_handle17h80fdd4a6338ee30dE - local.get 0 - i32.load offset=8 - local.set 3 - end - local.get 0 - i32.load local.get 3 i32.add + local.set 4 + local.get 4 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_grow17hc21a3f541a74c2c7E (type 4) (param i32 i32 i32 i32) - (local i32) + i32.lt_u + local.set 5 + i32.const 1 + local.set 6 + local.get 5 + local.get 6 + i32.and + local.set 7 block ;; label = @1 block ;; label = @2 block ;; label = @3 - local.get 1 - i32.eqz + local.get 7 br_if 0 (;@3;) + local.get 4 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=1051317 - 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=1051317 - 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;) + local.set 8 + local.get 8 + local.get 4 + i32.lt_u + local.set 9 + i32.const 1 + local.set 10 + local.get 9 + local.get 10 + i32.and + local.set 11 + local.get 11 + br_if 2 (;@1;) + br 1 (;@2;) end - local.get 0 + i32.const 1049792 + local.set 12 + i32.const 28 + local.set 13 + i32.const 1049764 + local.set 14 + local.get 12 + local.get 13 + local.get 14 + call $_ZN4core9panicking5panic17hb41dbc4083d9884eE + unreachable + end + local.get 8 + return + end + i32.const 1049792 + local.set 15 + i32.const 28 + local.set 16 + i32.const 1049820 + local.set 17 + local.get 15 + local.get 16 + local.get 17 + call $_ZN4core9panicking5panic17hb41dbc4083d9884eE + unreachable) + (func $_ZN5index8Universe19live_neighbor_count17heb1f02b6fca859a7E (type 1) (param i32 i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + global.get $__stack_pointer + local.set 3 + i32.const 128 + local.set 4 + local.get 3 + local.get 4 + i32.sub + local.set 5 + local.get 5 + global.set $__stack_pointer + i32.const 0 + local.set 6 + local.get 5 + local.get 6 + i32.store8 offset=67 + local.get 0 + i32.load offset=16 + local.set 7 + i32.const 1 + local.set 8 + local.get 7 + local.get 8 + i32.sub + local.set 9 + i32.const 1 + local.set 10 + local.get 7 + local.set 11 + local.get 10 + local.set 12 + local.get 11 + local.get 12 + i32.lt_u + local.set 13 + i32.const 1 + local.set 14 + local.get 13 + local.get 14 + i32.and + local.set 15 + block ;; label = @1 + block ;; label = @2 + local.get 15 + br_if 0 (;@2;) + local.get 5 + local.get 9 + i32.store offset=68 i32.const 0 - i32.store offset=4 - local.get 0 - i32.const 8 + local.set 16 + local.get 5 + local.get 16 + i32.store offset=72 + i32.const 1 + local.set 17 + local.get 5 + local.get 17 + i32.store offset=76 + i32.const 3 + local.set 18 + i32.const 40 + local.set 19 + local.get 5 + local.get 19 i32.add - local.get 2 - i32.store + local.set 20 + i32.const 68 + local.set 21 + local.get 5 + local.get 21 + i32.add + local.set 22 + local.get 20 + local.get 22 + local.get 18 + call $_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4iter17h2f82be2143302357E + local.get 5 + i32.load offset=44 + local.set 23 + local.get 5 + i32.load offset=40 + local.set 24 + i32.const 48 + local.set 25 + local.get 5 + local.get 25 + i32.add + local.set 26 + local.get 26 + local.get 24 + local.get 23 + call $_ZN4core4iter6traits8iterator8Iterator6cloned17h3578c7209fd65b8cE + local.get 5 + i32.load offset=52 + local.set 27 + local.get 5 + i32.load offset=48 + local.set 28 + i32.const 56 + local.set 29 + local.get 5 + local.get 29 + i32.add + local.set 30 + local.get 30 + local.get 28 + local.get 27 + call $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h313fbb621871c988E + local.get 5 + i32.load offset=60 + local.set 31 + local.get 5 + i32.load offset=56 + local.set 32 + local.get 5 + local.get 32 + i32.store offset=80 + local.get 5 + local.get 31 + i32.store offset=84 br 1 (;@1;) end - local.get 0 - i32.const 0 - i32.store offset=4 + i32.const 1049856 + local.set 33 + i32.const 33 + local.set 34 + i32.const 1049836 + local.set 35 + local.get 33 + local.get 34 + local.get 35 + call $_ZN4core9panicking5panic17hb41dbc4083d9884eE + unreachable end - local.get 0 - i32.const 1 - i32.store) - (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17h814c7cfd84378e6aE (type 0) (param i32 i32) - (local i32 i32 i32 i32) - local.get 0 - local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - local.set 2 - block ;; label = @1 + loop ;; label = @1 + i32.const 32 + local.set 36 + local.get 5 + local.get 36 + i32.add + local.set 37 + i32.const 80 + local.set 38 + local.get 5 + local.get 38 + i32.add + local.set 39 + local.get 37 + local.get 39 + call $_ZN104_$LT$core..iter..adapters..cloned..Cloned$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17haaa1e9c7b03f1d44E + local.get 5 + i32.load offset=32 + local.set 40 + local.get 5 + i32.load offset=36 + local.set 41 + local.get 5 + local.get 41 + i32.store offset=92 + local.get 5 + local.get 40 + i32.store offset=88 + local.get 5 + i32.load offset=88 + local.set 42 + block ;; label = @2 + local.get 42 + br_if 0 (;@2;) + local.get 5 + i32.load8_u offset=67 + local.set 43 + i32.const 128 + local.set 44 + local.get 5 + local.get 44 + i32.add + local.set 45 + local.get 45 + global.set $__stack_pointer + local.get 43 + return + end + local.get 5 + i32.load offset=92 + local.set 46 + local.get 0 + i32.load offset=12 + local.set 47 + i32.const 1 + local.set 48 + local.get 47 + local.get 48 + i32.sub + local.set 49 + i32.const 1 + local.set 50 + local.get 47 + local.set 51 + local.get 50 + local.set 52 + local.get 51 + local.get 52 + i32.lt_u + local.set 53 + i32.const 1 + local.set 54 + local.get 53 + local.get 54 + i32.and + local.set 55 block ;; label = @2 block ;; label = @3 - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk6pinuse17hc6c9f01d2e3fbf67E + local.get 55 br_if 0 (;@3;) - local.get 0 - i32.load - local.set 3 - block ;; label = @4 - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17h78a75c1ab0261090E - 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_offset17h9670d4355605a879E - local.tee 0 - i32.const 0 - i32.load offset=1051768 - 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=1051760 - local.get 0 - local.get 1 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h2b5f242508300075E - 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_chunk17hb47d8811580bf409E - 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=1051752 - i32.const -2 - local.get 3 - i32.const 3 - i32.shr_u - i32.rotl - i32.and - i32.store offset=1051752 - br 1 (;@3;) - end - i32.const 1051344 - local.get 0 - local.get 3 - i32.sub - local.get 3 - local.get 1 + local.get 5 + local.get 49 + i32.store offset=96 + i32.const 0 + local.set 56 + local.get 5 + local.get 56 + i32.store offset=100 + i32.const 1 + local.set 57 + local.get 5 + local.get 57 + i32.store offset=104 + i32.const 3 + local.set 58 + i32.const 8 + local.set 59 + local.get 5 + local.get 59 + i32.add + local.set 60 + i32.const 96 + local.set 61 + local.get 5 + local.get 61 i32.add + local.set 62 + local.get 60 + local.get 62 + local.get 58 + call $_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4iter17h2f82be2143302357E + local.get 5 + i32.load offset=12 + local.set 63 + local.get 5 + i32.load offset=8 + local.set 64 i32.const 16 + local.set 65 + local.get 5 + local.get 65 i32.add - local.tee 0 - call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$4free17hd714605ffb598b3fE - i32.eqz - br_if 1 (;@2;) - i32.const 0 - i32.const 0 - i32.load offset=1051776 - local.get 0 - i32.sub - i32.store offset=1051776 - return + local.set 66 + local.get 66 + local.get 64 + local.get 63 + call $_ZN4core4iter6traits8iterator8Iterator6cloned17h3578c7209fd65b8cE + local.get 5 + i32.load offset=20 + local.set 67 + local.get 5 + i32.load offset=16 + local.set 68 + i32.const 24 + local.set 69 + local.get 5 + local.get 69 + i32.add + local.set 70 + local.get 70 + local.get 68 + local.get 67 + call $_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h313fbb621871c988E + local.get 5 + i32.load offset=28 + local.set 71 + local.get 5 + i32.load offset=24 + local.set 72 + local.get 5 + local.get 72 + i32.store offset=108 + local.get 5 + local.get 71 + i32.store offset=112 + br 1 (;@2;) end + i32.const 1049856 + local.set 73 + i32.const 33 + local.set 74 + i32.const 1049892 + local.set 75 + local.get 73 + local.get 74 + local.get 75 + call $_ZN4core9panicking5panic17hb41dbc4083d9884eE + unreachable + end + loop ;; label = @2 + i32.const 108 + local.set 76 + local.get 5 + local.get 76 + i32.add + local.set 77 + local.get 5 + local.get 77 + call $_ZN104_$LT$core..iter..adapters..cloned..Cloned$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17haaa1e9c7b03f1d44E + local.get 5 + i32.load + local.set 78 + local.get 5 + i32.load offset=4 + local.set 79 + local.get 5 + local.get 79 + i32.store offset=120 + local.get 5 + local.get 78 + i32.store offset=116 + local.get 5 + i32.load offset=116 + local.set 80 + local.get 80 + i32.eqz + br_if 1 (;@1;) + local.get 5 + i32.load offset=120 + local.set 81 block ;; label = @3 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk6cinuse17h1ffe85bfa307cbe6E - i32.eqz + local.get 46 br_if 0 (;@3;) - local.get 0 - local.get 1 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h2b5f242508300075E - br 2 (;@1;) + local.get 81 + i32.eqz + br_if 1 (;@2;) end + local.get 1 + local.get 46 + i32.add + local.set 82 + local.get 82 + local.get 1 + i32.lt_u + local.set 83 + i32.const 1 + local.set 84 + local.get 83 + local.get 84 + i32.and + local.set 85 block ;; label = @3 block ;; label = @4 - local.get 2 - i32.const 0 - i32.load offset=1051772 - i32.eq - br_if 0 (;@4;) - local.get 2 - i32.const 0 - i32.load offset=1051768 - i32.eq - br_if 1 (;@3;) - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E - 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_chunk17hb47d8811580bf409E - 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;) + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 + block ;; label = @11 + local.get 85 + br_if 0 (;@11;) + local.get 0 + i32.load offset=16 + local.set 86 + i32.const 0 + local.set 87 + local.get 86 + local.set 88 + local.get 87 + local.set 89 + local.get 88 + local.get 89 + i32.eq + local.set 90 + i32.const 1 + local.set 91 + local.get 90 + local.get 91 + i32.and + local.set 92 + local.get 92 + br_if 2 (;@9;) + br 1 (;@10;) + end + i32.const 1049792 + local.set 93 + i32.const 28 + local.set 94 + i32.const 1049908 + local.set 95 + local.get 93 + local.get 94 + local.get 95 + call $_ZN4core9panicking5panic17hb41dbc4083d9884eE + unreachable + end + local.get 82 + local.get 86 + i32.rem_u + local.set 96 + local.get 2 + local.get 81 + i32.add + local.set 97 + local.get 97 + local.get 2 + i32.lt_u + local.set 98 + i32.const 1 + local.set 99 + local.get 98 + local.get 99 + i32.and + local.set 100 + local.get 100 + br_if 2 (;@7;) + br 1 (;@8;) + end + i32.const 1049936 + local.set 101 + i32.const 57 + local.set 102 + i32.const 1049908 + local.set 103 + local.get 101 + local.get 102 + local.get 103 + call $_ZN4core9panicking5panic17hb41dbc4083d9884eE + unreachable + end + local.get 0 + i32.load offset=12 + local.set 104 + i32.const 0 + local.set 105 + local.get 104 + local.set 106 + local.get 105 + local.set 107 + local.get 106 + local.get 107 + i32.eq + local.set 108 + i32.const 1 + local.set 109 + local.get 108 + local.get 109 + i32.and + local.set 110 + local.get 110 + br_if 2 (;@5;) + br 1 (;@6;) + end + i32.const 1049792 + local.set 111 + i32.const 28 + local.set 112 + i32.const 1049996 + local.set 113 + local.get 111 + local.get 112 + local.get 113 + call $_ZN4core9panicking5panic17hb41dbc4083d9884eE + unreachable end - i32.const 0 - i32.const 0 - i32.load offset=1051752 - i32.const -2 - local.get 3 - i32.const 3 - i32.shr_u - i32.rotl + local.get 97 + local.get 104 + i32.rem_u + local.set 114 + local.get 0 + local.get 96 + local.get 114 + call $_ZN5index8Universe9get_index17h5a48cdd7f3281fb5E + local.set 115 + i32.const 1050012 + local.set 116 + local.get 0 + local.get 115 + local.get 116 + call $_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17hc80771b6cdb9dca7E + local.set 117 + local.get 117 + i32.load8_u + local.set 118 + local.get 5 + local.get 118 + i32.store8 offset=127 + local.get 5 + i32.load8_u offset=127 + local.set 119 + local.get 5 + i32.load8_u offset=67 + local.set 120 + local.get 120 + local.get 119 + i32.add + local.set 121 + i32.const 255 + local.set 122 + local.get 121 + local.get 122 + i32.and + local.set 123 + local.get 123 + local.get 121 + i32.ne + local.set 124 + local.get 121 + local.set 125 + i32.const 1 + local.set 126 + local.get 124 + local.get 126 i32.and - i32.store offset=1051752 + local.set 127 + local.get 127 + br_if 2 (;@3;) + br 1 (;@4;) end - local.get 0 - local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17habe76bbe555b1e73E - local.get 0 - i32.const 0 - i32.load offset=1051768 - i32.ne - br_if 3 (;@1;) - i32.const 0 - local.get 1 - i32.store offset=1051760 - br 2 (;@2;) - end - i32.const 0 - local.get 0 - i32.store offset=1051772 - i32.const 0 - i32.const 0 - i32.load offset=1051764 - local.get 1 - i32.add - local.tee 1 - i32.store offset=1051764 - local.get 0 - local.get 1 - i32.const 1 - i32.or - i32.store offset=4 - local.get 0 - i32.const 0 - i32.load offset=1051768 - i32.ne - br_if 1 (;@2;) - i32.const 0 - i32.const 0 - i32.store offset=1051760 - i32.const 0 - i32.const 0 - i32.store offset=1051768 - return + i32.const 1049936 + local.set 128 + i32.const 57 + local.set 129 + i32.const 1049996 + local.set 130 + local.get 128 + local.get 129 + local.get 130 + call $_ZN4core9panicking5panic17hb41dbc4083d9884eE + unreachable + end + local.get 5 + local.get 125 + i32.store8 offset=67 + br 1 (;@2;) end - i32.const 0 - local.get 0 - i32.store offset=1051768 - i32.const 0 - i32.const 0 - i32.load offset=1051760 - local.get 1 - i32.add - local.tee 1 - i32.store offset=1051760 - local.get 0 - local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17habe76bbe555b1e73E - 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_chunk17h2634ef33b3af9a32E - return end + i32.const 1049792 + local.set 131 + i32.const 28 + local.set 132 + i32.const 1050028 + local.set 133 + local.get 131 + local.get 132 + local.get 133 + call $_ZN4core9panicking5panic17hb41dbc4083d9884eE + unreachable) + (func $_ZN52_$LT$index..Cell$u20$as$u20$core..cmp..PartialEq$GT$2eq17h986f028f9909c227E (type 2) (param i32 i32) (result i32) + (local i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) + local.get 0 + i32.load8_u + local.set 2 + i32.const 1 + local.set 3 + local.get 2 + local.get 3 + i32.and + local.set 4 local.get 1 - i32.const -8 + i32.load8_u + local.set 5 + i32.const 1 + local.set 6 + local.get 5 + local.get 6 i32.and - i32.const 1051488 - i32.add + local.set 7 + i32.const 255 + local.set 8 + local.get 4 + local.get 8 + i32.and + local.set 9 + i32.const 255 + local.set 10 + local.get 7 + local.get 10 + i32.and + local.set 11 + local.get 9 + local.get 11 + i32.eq + local.set 12 + i32.const 1 + local.set 13 + local.get 12 + local.get 13 + i32.and + local.set 14 + local.get 14 + return) + (func $__rust_alloc (type 2) (param i32 i32) (result i32) + (local i32) + local.get 0 + local.get 1 + call $__rdl_alloc local.set 2 - block ;; label = @1 - block ;; label = @2 - i32.const 0 - i32.load offset=1051752 - 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=1051752 - local.get 2 - local.set 1 - end local.get 2 + return) + (func $__rust_dealloc (type 3) (param i32 i32 i32) local.get 0 - i32.store offset=8 local.get 1 + local.get 2 + call $__rdl_dealloc + return) + (func $__rust_realloc (type 11) (param i32 i32 i32 i32) (result i32) + (local i32) local.get 0 - i32.store offset=12 + local.get 1 + local.get 2 + local.get 3 + call $__rdl_realloc + local.set 4 + local.get 4 + return) + (func $__rust_alloc_zeroed (type 2) (param i32 i32) (result i32) + (local i32) local.get 0 + local.get 1 + call $__rdl_alloc_zeroed + local.set 2 local.get 2 - i32.store offset=12 + return) + (func $__rust_alloc_error_handler (type 0) (param i32 i32) local.get 0 local.get 1 - i32.store offset=8) - (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17hb47d8811580bf409E (type 6) (param i32) - (local i32 i32 i32 i32 i32) + call $__rg_oom + return) + (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17ha70a4555b5aec906E (type 0) (param i32 i32) local.get 0 - i32.load offset=24 - local.set 1 + i64.const -163230743173927068 + i64.store offset=8 + local.get 0 + i64.const -4493808902380553279 + i64.store) + (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17hc1fa5cd7ba7b388fE (type 0) (param i32 i32) + local.get 0 + i64.const 3183233196353969263 + i64.store offset=8 + local.get 0 + i64.const -5992187996373156989 + i64.store) + (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17he9d5f3dc2d5feb11E (type 0) (param i32 i32) + local.get 0 + i64.const 3621418216119541392 + i64.store offset=8 + local.get 0 + i64.const -6096952686898433405 + i64.store) + (func $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h24c2b8330ce7897eE (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 - block ;; label = @3 - local.get 0 - call $_ZN8dlmalloc8dlmalloc9TreeChunk4next17h1b01b32aed8bcb04E - 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 $_ZN8dlmalloc8dlmalloc9TreeChunk4prev17h2dd3935342ae5ab3E - local.tee 4 - local.get 0 - call $_ZN8dlmalloc8dlmalloc9TreeChunk4next17h1b01b32aed8bcb04E - local.tee 2 - call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17h4562a4235ab5a16eE - i32.store offset=12 + local.get 1 local.get 2 - local.get 4 - call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17h4562a4235ab5a16eE - 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 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 - i32.const 16 - i32.add local.get 4 - i32.load - local.tee 4 + local.get 2 + i32.gt_u select - local.set 3 + local.tee 2 + i32.const 8 local.get 2 - i32.const 20 - i32.const 16 - local.get 4 + i32.const 8 + i32.gt_u 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 + 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 + br_if 0 (;@4;) + local.get 3 + i32.const 0 + i32.store offset=24 + br 1 (;@3;) + end + 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 offset=28 - i32.const 2 - i32.shl - i32.const 1051344 - i32.add - local.tee 4 - i32.load - local.get 0 - i32.eq + i32.load + i32.store offset=20 + 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_grow17h5245e68c71414715E + 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 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 offset=4 + local.get 0 + local.get 1 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=1051756 - i32.const -2 - local.get 0 - i32.load offset=28 - i32.rotl - i32.and - i32.store offset=1051756 - 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 + local.get 1 + i32.const -2147483647 + i32.eq + br_if 1 (;@1;) + local.get 1 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 + local.get 1 + local.get 3 + i32.const 16 + i32.add + i32.load + call $_ZN5alloc5alloc18handle_alloc_error17h0853c609cdf121f4E + unreachable end + call $_ZN5alloc7raw_vec17capacity_overflow17h6742d6b707f6ebe7E + unreachable + end + local.get 3 + i32.const 32 + i32.add + global.set $__stack_pointer) + (func $_ZN4core3fmt5Write9write_fmt17he52a8376fe10e016E (type 2) (param i32 i32) (result i32) + local.get 0 + i32.const 1050160 + local.get 1 + call $_ZN4core3fmt5write17h362bec5724a70484E) + (func $_ZN4core3ptr120drop_in_place$LT$$LP$$RF$std..ffi..os_str..OsString$C$$RF$core..option..Option$LT$std..ffi..os_str..OsString$GT$$RP$$GT$17ha27ad9ced7d25b5bE (type 7) (param i32)) + (func $_ZN4core3ptr29drop_in_place$LT$$LP$$RP$$GT$17h23e4e6157c2e3123E (type 7) (param i32)) + (func $_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h43a2c67c5ee0fda2E (type 7) (param i32) + (local i32) + block ;; label = @1 local.get 0 - i32.const 20 - i32.add - i32.load - local.tee 4 + i32.load offset=4 + local.tee 1 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 + local.get 0 + i32.load + local.get 1 + i32.const 1 + call $__rust_dealloc end) - (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h2634ef33b3af9a32E (type 0) (param i32 i32) - (local i32 i32 i32 i32 i32) - i32.const 0 - local.set 2 + (func $_ZN4core3ptr77drop_in_place$LT$std..panicking..begin_panic_handler..FormatStringPayload$GT$17h48c273b6ad39dcc5E (type 7) (param i32) + (local i32) block ;; label = @1 - local.get 1 - i32.const 256 - i32.lt_u + local.get 0 + i32.load offset=4 + local.tee 1 + i32.eqz br_if 0 (;@1;) - i32.const 31 - local.set 2 - local.get 1 - i32.const 16777215 - i32.gt_u + local.get 0 + i32.const 8 + i32.add + i32.load + local.tee 0 + i32.eqz 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 + local.get 0 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 1051344 - i32.add - local.set 3 - local.get 0 - call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17h4562a4235ab5a16eE - local.set 4 + call $__rust_dealloc + end) + (func $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char17ha17b8b7c0f49fe81E (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 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 - i32.const 0 - i32.load offset=1051756 - local.tee 5 - i32.const 1 + local.get 1 + i32.const 65536 + i32.ge_u + br_if 0 (;@5;) local.get 2 - i32.shl - local.tee 6 + local.get 1 + i32.const 63 i32.and - i32.eqz - br_if 0 (;@5;) - local.get 3 - i32.load - local.set 5 + i32.const 128 + i32.or + i32.store8 offset=14 local.get 2 - call $_ZN8dlmalloc8dlmalloc24leftshift_for_tree_index17hbd308eba79453696E - local.set 2 - local.get 5 - call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17h4562a4235ab5a16eE - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E local.get 1 - i32.ne - br_if 1 (;@4;) - local.get 5 - local.set 2 - br 2 (;@3;) + 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 - i32.const 0 - local.get 5 - local.get 6 + local.get 2 + local.get 1 + i32.const 63 + i32.and + i32.const 128 i32.or - i32.store offset=1051756 - 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.store8 offset=15 + local.get 2 + local.get 1 + i32.const 6 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 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 offset=14 local.get 2 - local.set 5 + 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 - call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17h4562a4235ab5a16eE - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E 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_push17h93cfef48d3b0a4faE + 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 - call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17h4562a4235ab5a16eE - local.tee 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 - 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 + i32.sub + local.get 1 + i32.ge_u + br_if 0 (;@2;) + local.get 0 local.get 3 - i32.store offset=8 + local.get 1 + call $_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$7reserve21do_reserve_and_handle17h24c2b8330ce7897eE local.get 0 - i32.const 0 - i32.store offset=24 - return + i32.load offset=8 + local.set 3 end - local.get 6 local.get 0 - i32.store + 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 5 - i32.store offset=24 + local.get 3 + local.get 1 + i32.add + i32.store offset=8 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_segments17h3a36e1b255959a68E (type 12) (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 + 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_push17h93cfef48d3b0a4faE (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 - i32.const 0 - i32.load offset=1051480 - local.tee 2 - i32.eqz - br_if 0 (;@1;) - i32.const 1051472 - 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 + 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.set 5 + local.tee 3 + i32.const 1 + i32.shl + local.tee 4 + local.get 1 local.get 4 - i32.load - local.set 6 + 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 - i32.const 1051344 - 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_part17h9678d24cb077bde0E - i32.eqz - br_if 0 (;@4;) - local.get 4 - call $_ZN8dlmalloc8dlmalloc7Segment9is_extern17h3cbba93f4e5cfab1E - br_if 0 (;@4;) - local.get 6 - local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E - local.tee 7 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.get 7 - i32.sub - i32.add - local.tee 7 - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E - local.set 8 - call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17h2818126ab4d4ccc1E - local.tee 9 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 10 - i32.const 20 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 11 - i32.const 16 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 12 - local.get 7 - call $_ZN8dlmalloc8dlmalloc5Chunk5inuse17h6a9390afcf3c4f59E - 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=1051768 - i32.eq - br_if 0 (;@6;) - local.get 7 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17hb47d8811580bf409E - br 1 (;@5;) - end - i32.const 0 - i32.const 0 - i32.store offset=1051760 - i32.const 0 - i32.const 0 - i32.store offset=1051768 - end - block ;; label = @5 - i32.const 1051344 - local.get 6 - local.get 5 - call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$4free17hd714605ffb598b3fE - br_if 0 (;@5;) - local.get 7 - local.get 8 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h2634ef33b3af9a32E - br 1 (;@4;) - end - i32.const 0 - i32.const 0 - i32.load offset=1051776 - local.get 5 - i32.sub - i32.store offset=1051776 local.get 3 + br_if 0 (;@4;) local.get 2 - i32.store offset=8 - local.get 5 - local.get 1 - i32.add - local.set 1 + i32.const 0 + i32.store offset=24 br 1 (;@3;) end - local.get 4 - local.set 3 + 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 end - local.get 0 - i32.const 1 + local.get 2 + i32.const 8 i32.add - local.set 0 + local.get 4 + local.get 1 + local.get 2 + i32.const 20 + i32.add + call $_ZN5alloc7raw_vec11finish_grow17h5245e68c71414715E 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_error17h0853c609cdf121f4E + unreachable end + call $_ZN5alloc7raw_vec17capacity_overflow17h6742d6b707f6ebe7E + unreachable + end + local.get 2 + i32.const 32 + i32.add + global.set $__stack_pointer) + (func $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$9write_str17hf2204cbc5b4f5a57E (type 1) (param i32 i32 i32) (result i32) + (local i32) + block ;; label = @1 + local.get 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_handle17h24c2b8330ce7897eE + local.get 0 + i32.load offset=8 + local.set 3 end - i32.const 0 - local.get 0 - i32.const 4095 - local.get 0 - i32.const 4095 - i32.gt_u - select - i32.store offset=1051792 - local.get 1) - (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h38a840ecb1c1c0fbE (type 6) (param i32) - (local i32 i32 i32 i32 i32 i32) - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17h580b9f140f06bda7E - local.set 0 local.get 0 + i32.load + local.get 3 + i32.add + local.get 1 + local.get 2 + call $memcpy + drop local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E - local.tee 1 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - local.set 2 + local.get 3 + local.get 2 + i32.add + i32.store offset=8 + i32.const 0) + (func $_ZN5alloc7raw_vec11finish_grow17h5245e68c71414715E (type 8) (param i32 i32 i32 i32) + (local i32) block ;; label = @1 block ;; label = @2 - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk6pinuse17hc6c9f01d2e3fbf67E - br_if 0 (;@2;) - local.get 0 - i32.load - local.set 3 block ;; label = @3 - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17h78a75c1ab0261090E - br_if 0 (;@3;) - local.get 3 local.get 1 - i32.add - local.set 1 + i32.eqz + br_if 0 (;@3;) + local.get 2 + i32.const -1 + i32.le_s + br_if 1 (;@2;) block ;; label = @4 - local.get 0 - local.get 3 - call $_ZN8dlmalloc8dlmalloc5Chunk12minus_offset17h9670d4355605a879E - local.tee 0 - i32.const 0 - i32.load offset=1051768 - i32.ne - br_if 0 (;@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=1051009 + 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=1051009 + drop + end 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=1051760 - local.get 0 - local.get 1 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h2b5f242508300075E - return + call $__rust_alloc + local.set 3 end block ;; label = @4 local.get 3 - i32.const 256 - i32.lt_u + i32.eqz br_if 0 (;@4;) local.get 0 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17hb47d8811580bf409E - br 2 (;@2;) - end - block ;; label = @4 - local.get 0 - i32.const 12 - i32.add - i32.load - local.tee 4 + local.get 3 + i32.store offset=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;) + local.get 2 + i32.store + local.get 0 + i32.const 0 + i32.store + return end - i32.const 0 - i32.const 0 - i32.load offset=1051752 - i32.const -2 - local.get 3 - i32.const 3 - i32.shr_u - i32.rotl - i32.and - i32.store offset=1051752 - br 1 (;@2;) + 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 - i32.const 1051344 local.get 0 - local.get 3 - i32.sub - local.get 3 - local.get 1 - i32.add - i32.const 16 - i32.add - local.tee 0 - call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$4free17hd714605ffb598b3fE - i32.eqz - br_if 1 (;@1;) i32.const 0 - i32.const 0 - i32.load offset=1051776 + i32.store offset=4 local.get 0 - i32.sub - i32.store offset=1051776 - return + i32.const 8 + i32.add + local.get 2 + i32.store + br 1 (;@1;) end - block ;; label = @2 - block ;; label = @3 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk6cinuse17h1ffe85bfa307cbe6E - i32.eqz - br_if 0 (;@3;) - local.get 0 - local.get 1 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h2b5f242508300075E - br 1 (;@2;) - 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_chunk17h0b25ee30658eb07bE (type 0) (param i32 i32) + (local i32 i32 i32 i32) + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + local.set 2 + block ;; label = @1 + block ;; label = @2 block ;; label = @3 block ;; label = @4 block ;; label = @5 block ;; label = @6 - local.get 2 - i32.const 0 - i32.load offset=1051772 - i32.eq - br_if 0 (;@6;) - local.get 2 - i32.const 0 - i32.load offset=1051768 - i32.eq - br_if 1 (;@5;) - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E - local.tee 3 - local.get 1 - i32.add - local.set 1 block ;; label = @7 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6pinuse17hb674a446c3254c29E + br_if 0 (;@7;) + local.get 0 + i32.load + local.set 3 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17hc9e33fd0b0c5432fE + br_if 1 (;@6;) + local.get 3 + local.get 1 + i32.add + local.set 1 + block ;; label = @8 + local.get 0 + local.get 3 + call $_ZN8dlmalloc8dlmalloc5Chunk12minus_offset17hc4a0fdc2ff1abc38E + local.tee 0 + i32.const 0 + i32.load offset=1051460 + i32.ne + br_if 0 (;@8;) + local.get 2 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + br_if 1 (;@7;) + i32.const 0 + local.get 1 + i32.store offset=1051452 + local.get 0 + local.get 1 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h1e6a59985180e994E + return + end 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_chunk17hb47d8811580bf409E + local.get 0 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17h057503926679f426E br 1 (;@7;) end block ;; label = @8 - local.get 2 + local.get 0 i32.const 12 i32.add i32.load local.tee 4 - local.get 2 + local.get 0 i32.const 8 i32.add i32.load - local.tee 2 + local.tee 5 i32.eq br_if 0 (;@8;) - local.get 2 + local.get 5 local.get 4 i32.store offset=12 local.get 4 - local.get 2 + local.get 5 i32.store offset=8 br 1 (;@7;) end i32.const 0 i32.const 0 - i32.load offset=1051752 + i32.load offset=1051444 i32.const -2 local.get 3 i32.const 3 i32.shr_u i32.rotl i32.and - i32.store offset=1051752 + i32.store offset=1051444 end - local.get 0 - local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17habe76bbe555b1e73E - local.get 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk6cinuse17hb4677a5fcbb82422E + br_if 2 (;@4;) + local.get 2 i32.const 0 - i32.load offset=1051768 - i32.ne + i32.load offset=1051464 + i32.eq br_if 4 (;@2;) + local.get 2 + i32.const 0 + i32.load offset=1051460 + i32.ne + br_if 1 (;@5;) i32.const 0 + local.get 0 + i32.store offset=1051460 + i32.const 0 + i32.const 0 + i32.load offset=1051452 + local.get 1 + i32.add + local.tee 1 + i32.store offset=1051452 + local.get 0 local.get 1 - i32.store offset=1051760 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17hb8c49fbc662a8751E return end - i32.const 0 + i32.const 1051488 local.get 0 - i32.store offset=1051772 - i32.const 0 - i32.const 0 - i32.load offset=1051764 + local.get 3 + i32.sub local.get 1 + local.get 3 i32.add - local.tee 1 - i32.store offset=1051764 - local.get 0 - local.get 1 - i32.const 1 - i32.or - i32.store offset=4 - local.get 0 + i32.const 16 + i32.add + local.tee 0 + call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$4free17h17c630ddfc3296e0E + i32.eqz + br_if 4 (;@1;) i32.const 0 - i32.load offset=1051768 - i32.eq - br_if 1 (;@4;) - br 2 (;@3;) + i32.const 0 + i32.load offset=1051468 + local.get 0 + i32.sub + i32.store offset=1051468 + return end - i32.const 0 - local.get 0 - i32.store offset=1051768 - i32.const 0 - i32.const 0 - i32.load offset=1051760 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E + local.tee 3 local.get 1 i32.add - local.tee 1 - i32.store offset=1051760 - local.get 0 - local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17habe76bbe555b1e73E - return - end - i32.const 0 - i32.const 0 - i32.store offset=1051760 - i32.const 0 - i32.const 0 - i32.store offset=1051768 - end - local.get 1 - i32.const 0 - i32.load offset=1051784 - i32.le_u - br_if 1 (;@1;) - call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17h2818126ab4d4ccc1E - local.tee 0 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 1 - i32.const 20 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 2 - i32.const 16 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 3 - i32.const 0 - i32.const 16 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - 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=1051772 - i32.eqz - br_if 1 (;@1;) - call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17h2818126ab4d4ccc1E - local.tee 0 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 1 - i32.const 20 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 3 - i32.const 16 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 4 - i32.const 0 - local.set 2 - block ;; label = @3 - i32.const 0 - i32.load offset=1051764 - 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=1051772 - local.set 1 - i32.const 1051472 - local.set 0 - block ;; label = @4 - loop ;; label = @5 + local.set 1 + block ;; label = @5 block ;; label = @6 - local.get 0 + local.get 3 + i32.const 256 + i32.lt_u + br_if 0 (;@6;) + local.get 2 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17h057503926679f426E + br 1 (;@5;) + end + block ;; label = @6 + local.get 2 + i32.const 12 + i32.add i32.load - local.get 1 - i32.gt_u + local.tee 4 + local.get 2 + i32.const 8 + i32.add + i32.load + local.tee 2 + i32.eq br_if 0 (;@6;) - local.get 0 - call $_ZN8dlmalloc8dlmalloc7Segment3top17h96cd19ac0fd36e05E - local.get 1 - i32.gt_u - br_if 2 (;@4;) + local.get 2 + local.get 4 + i32.store offset=12 + local.get 4 + local.get 2 + i32.store offset=8 + br 1 (;@5;) end - local.get 0 - i32.load offset=8 - local.tee 0 - br_if 0 (;@5;) + i32.const 0 + i32.const 0 + i32.load offset=1051444 + i32.const -2 + local.get 3 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1051444 end + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17hb8c49fbc662a8751E + local.get 0 i32.const 0 - local.set 0 - end - i32.const 0 - local.set 2 - local.get 0 - call $_ZN8dlmalloc8dlmalloc7Segment9is_extern17h3cbba93f4e5cfab1E - br_if 0 (;@3;) - i32.const 1051344 - 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_part17h9678d24cb077bde0E - i32.eqz - br_if 0 (;@3;) + i32.load offset=1051460 + i32.ne + br_if 1 (;@3;) + i32.const 0 + local.get 1 + i32.store offset=1051452 + return + end local.get 0 - i32.load offset=4 - local.get 3 + local.get 1 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h1e6a59985180e994E + end + block ;; label = @3 + local.get 1 + i32.const 256 i32.lt_u br_if 0 (;@3;) - i32.const 1051472 - local.set 1 - loop ;; label = @4 - local.get 0 - local.get 1 - call $_ZN8dlmalloc8dlmalloc7Segment5holds17he3b1db583c6e4172E - br_if 1 (;@3;) + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17hc73af8a4cd0b31d7E + return + end + local.get 1 + i32.const -8 + i32.and + i32.const 1051180 + i32.add + local.set 2 + block ;; label = @3 + block ;; label = @4 + i32.const 0 + i32.load offset=1051444 + local.tee 3 + i32.const 1 local.get 1 - i32.load offset=8 + i32.const 3 + i32.shr_u + i32.shl local.tee 1 + i32.and br_if 0 (;@4;) + i32.const 0 + local.get 3 + local.get 1 + i32.or + i32.store offset=1051444 + local.get 2 + local.set 1 + br 1 (;@3;) end - i32.const 1051344 + local.get 2 + i32.load offset=8 + 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 + return + end + i32.const 0 + local.get 0 + i32.store offset=1051464 + i32.const 0 + i32.const 0 + i32.load offset=1051456 + local.get 1 + i32.add + local.tee 1 + i32.store offset=1051456 + local.get 0 + local.get 1 + i32.const 1 + i32.or + i32.store offset=4 + local.get 0 + i32.const 0 + i32.load offset=1051460 + i32.ne + br_if 0 (;@1;) + i32.const 0 + i32.const 0 + i32.store offset=1051452 + i32.const 0 + i32.const 0 + i32.store offset=1051460 + end) + (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17h057503926679f426E (type 7) (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 - i32.load + call $_ZN8dlmalloc8dlmalloc9TreeChunk4next17h0948dbff5b1fa27aE 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_part17had77920da45d8a75E - i32.eqz - br_if 0 (;@3;) - local.get 3 - i32.eqz + i32.ne br_if 0 (;@3;) local.get 0 + i32.const 20 + i32.const 16 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=1051776 - local.get 3 - i32.sub - i32.store offset=1051776 - i32.const 0 - i32.load offset=1051764 - local.set 1 - i32.const 0 - i32.load offset=1051772 - local.set 0 - i32.const 0 - local.get 0 - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E - local.tee 2 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.get 2 - i32.sub + i32.const 20 + i32.add local.tee 2 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - local.tee 0 - i32.store offset=1051772 - i32.const 0 - local.get 1 - local.get 4 - local.get 2 + i32.load + local.tee 3 + select i32.add - i32.sub - i32.const 65536 + i32.load + local.tee 4 + br_if 1 (;@2;) + i32.const 0 + local.set 2 + br 2 (;@1;) + end + local.get 0 + call $_ZN8dlmalloc8dlmalloc9TreeChunk4prev17hb7068ddb0a3bc75dE + local.tee 4 + local.get 0 + call $_ZN8dlmalloc8dlmalloc9TreeChunk4next17h0948dbff5b1fa27aE + local.tee 2 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hdd6a267a52100ff9E + i32.store offset=12 + local.get 2 + local.get 4 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hdd6a267a52100ff9E + 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 1051036 i32.add - local.tee 1 - i32.store offset=1051764 + local.tee 4 + i32.load local.get 0 + i32.eq + br_if 0 (;@3;) local.get 1 - i32.const 1 - i32.or - i32.store offset=4 - call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17h2818126ab4d4ccc1E - local.tee 2 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 4 - i32.const 20 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 5 i32.const 16 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 6 - local.get 0 + i32.const 20 local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - local.get 6 - local.get 5 - local.get 4 - local.get 2 - i32.sub - i32.add + i32.load offset=16 + local.get 0 + i32.eq + select i32.add - i32.store offset=4 - i32.const 0 - i32.const 2097152 - i32.store offset=1051784 - local.get 3 - local.set 2 + local.get 2 + i32.store + local.get 2 + br_if 1 (;@2;) + br 2 (;@1;) end - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$23release_unused_segments17h3a36e1b255959a68E + local.get 4 + local.get 2 + i32.store + local.get 2 + br_if 0 (;@2;) + i32.const 0 i32.const 0 + i32.load offset=1051448 + i32.const -2 + local.get 0 + i32.load offset=28 + i32.rotl + i32.and + i32.store offset=1051448 + 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.sub - i32.ne - br_if 1 (;@1;) - i32.const 0 - i32.load offset=1051764 - i32.const 0 - i32.load offset=1051784 - i32.le_u - br_if 1 (;@1;) - i32.const 0 - i32.const -1 - i32.store offset=1051784 - return + 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_chunk17hc73af8a4cd0b31d7E (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 1051036 + i32.add + local.set 3 + local.get 0 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hdd6a267a52100ff9E + local.set 4 + block ;; label = @1 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_chunk17h2634ef33b3af9a32E i32.const 0 + i32.load offset=1051448 + local.tee 5 + i32.const 1 + local.get 2 + i32.shl + local.tee 6 + i32.and + br_if 0 (;@2;) i32.const 0 - i32.load offset=1051792 - i32.const -1 - i32.add - local.tee 0 - i32.store offset=1051792 + local.get 5 + local.get 6 + i32.or + i32.store offset=1051448 + local.get 3 local.get 0 - br_if 1 (;@1;) - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$23release_unused_segments17h3a36e1b255959a68E - drop - return + i32.store + local.get 0 + local.get 3 + i32.store offset=24 + br 1 (;@1;) end - local.get 1 - i32.const -8 - i32.and - i32.const 1051488 - i32.add + local.get 3 + i32.load + local.set 5 + local.get 2 + call $_ZN8dlmalloc8dlmalloc24leftshift_for_tree_index17he8264d4c8bb74329E local.set 2 block ;; label = @2 block ;; label = @3 - i32.const 0 - i32.load offset=1051752 - local.tee 3 - i32.const 1 + block ;; label = @4 + local.get 5 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hdd6a267a52100ff9E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E + local.get 1 + i32.ne + br_if 0 (;@4;) + local.get 5 + local.set 2 + br 1 (;@3;) + end 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;) + 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 $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hdd6a267a52100ff9E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E + local.get 1 + i32.ne + br_if 0 (;@4;) + end end - i32.const 0 - local.get 3 - local.get 1 - i32.or - i32.store offset=1051752 local.get 2 - local.set 1 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hdd6a267a52100ff9E + 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 2 - local.get 0 - i32.store offset=8 - local.get 1 - local.get 0 - i32.store offset=12 + local.get 6 local.get 0 - local.get 2 - i32.store offset=12 + i32.store local.get 0 - local.get 1 - i32.store offset=8 - end) - (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h77bc0faa7fd9e29bE (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 + 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_segments17hfee793f58e61465bE (type 12) (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 - block ;; label = @2 + i32.const 0 + i32.load offset=1051172 + local.tee 2 + i32.eqz + br_if 0 (;@1;) + i32.const 1051164 + 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 1051488 + 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_part17he396a577db875ec0E + i32.eqz + br_if 0 (;@4;) + local.get 4 + call $_ZN8dlmalloc8dlmalloc7Segment9is_extern17hce2b6c60378fecbaE + br_if 0 (;@4;) + local.get 6 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E + local.tee 7 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.get 7 + i32.sub + i32.add + local.tee 7 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E + local.set 8 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hb4f8ba9389e35f03E + local.tee 9 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 10 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 11 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 12 + local.get 7 + call $_ZN8dlmalloc8dlmalloc5Chunk5inuse17h18988138fdbf78b6E + 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 0 - i32.const 245 - i32.lt_u - br_if 0 (;@6;) - call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17h2818126ab4d4ccc1E - local.tee 2 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 3 - i32.const 20 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 4 - i32.const 16 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 5 - i32.const 0 - local.set 6 - i32.const 0 - i32.const 16 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - 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_up17h0e87fd8a6d5b4dd0E - local.set 2 - i32.const 0 - i32.load offset=1051756 - 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 1051344 - 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_index17hbd308eba79453696E - 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 $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17h4562a4235ab5a16eE - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E - 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_up17h0e87fd8a6d5b4dd0E - i32.const -5 - i32.add - local.get 0 - i32.gt_u - select - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 2 - block ;; label = @6 i32.const 0 - i32.load offset=1051752 - 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 + i32.load offset=1051460 + i32.eq 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 1051496 - i32.add - i32.load - local.tee 0 - i32.const 8 - i32.add - i32.load - local.tee 6 - local.get 3 - i32.const 1051488 - 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=1051752 - end - local.get 0 - local.get 2 - i32.const 3 - i32.shl - call $_ZN8dlmalloc8dlmalloc5Chunk20set_inuse_and_pinuse17hc87585256ab7e20fE - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E - local.set 6 - br 5 (;@1;) + local.get 7 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17h057503926679f426E + br 1 (;@5;) end - local.get 2 i32.const 0 - i32.load offset=1051760 - i32.le_u - br_if 3 (;@2;) + i32.const 0 + i32.store offset=1051452 + i32.const 0 + i32.const 0 + i32.store offset=1051460 + end + block ;; label = @5 + i32.const 1051488 + local.get 6 + local.get 5 + call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$4free17h17c630ddfc3296e0E + br_if 0 (;@5;) + local.get 7 + local.get 8 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17hc73af8a4cd0b31d7E + br 1 (;@4;) + end + i32.const 0 + i32.const 0 + i32.load offset=1051468 + local.get 5 + i32.sub + i32.store offset=1051468 + 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=1051484 + local.get 1) + (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h0a66a05f2e0e0048E (type 7) (param i32) + (local i32 i32 i32 i32 i32 i32) + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17h979df28b2facc7dcE + local.set 0 + local.get 0 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E + local.tee 1 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + local.set 2 + block ;; label = @1 + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + block ;; label = @5 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=1051756 - local.tee 0 - i32.eqz - br_if 10 (;@2;) - local.get 0 - call $_ZN8dlmalloc8dlmalloc9least_bit17hc206cf4e014f3c55E - i32.ctz - i32.const 2 - i32.shl - i32.const 1051344 - i32.add - i32.load - local.tee 3 - call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17h4562a4235ab5a16eE - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E - local.get 2 - i32.sub - local.set 6 - block ;; label = @13 - local.get 3 - call $_ZN8dlmalloc8dlmalloc9TreeChunk14leftmost_child17h1ae27d38517e0e1cE - local.tee 0 - i32.eqz - br_if 0 (;@13;) - loop ;; label = @14 - local.get 0 - call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17h4562a4235ab5a16eE - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E - 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_child17h1ae27d38517e0e1cE - local.tee 0 - br_if 0 (;@14;) - end - end - local.get 3 - call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17h4562a4235ab5a16eE - local.tee 0 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - local.set 4 - local.get 3 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17hb47d8811580bf409E - local.get 6 - i32.const 16 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - i32.lt_u - br_if 2 (;@10;) - local.get 4 - call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17h4562a4235ab5a16eE - local.set 4 - local.get 0 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17h4a3baeef63b4aae1E - local.get 4 - local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17habe76bbe555b1e73E - i32.const 0 - i32.load offset=1051760 - 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_bits17h4d52756c14d62f33E - local.get 0 - local.get 6 - i32.shl - i32.and - call $_ZN8dlmalloc8dlmalloc9least_bit17hc206cf4e014f3c55E - i32.ctz - local.tee 6 - i32.const 3 - i32.shl - local.tee 4 - i32.const 1051496 - i32.add - i32.load - local.tee 0 - i32.const 8 - i32.add - i32.load - local.tee 3 - local.get 4 - i32.const 1051488 - 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=1051752 - i32.const -2 - local.get 6 - i32.rotl - i32.and - i32.store offset=1051752 - end - local.get 0 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17h4a3baeef63b4aae1E - local.get 0 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - 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_chunk17habe76bbe555b1e73E - i32.const 0 - i32.load offset=1051760 - local.tee 3 - br_if 2 (;@9;) - br 3 (;@8;) - end - local.get 7 - i32.const -8 - i32.and - i32.const 1051488 - i32.add - local.set 5 - i32.const 0 - i32.load offset=1051768 - local.set 3 - block ;; label = @11 - block ;; label = @12 - i32.const 0 - i32.load offset=1051752 - 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=1051752 - 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 + call $_ZN8dlmalloc8dlmalloc5Chunk6pinuse17hb674a446c3254c29E + br_if 0 (;@9;) + local.get 0 + i32.load + local.set 3 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17hc9e33fd0b0c5432fE + br_if 1 (;@8;) + local.get 3 + local.get 1 i32.add - call $_ZN8dlmalloc8dlmalloc5Chunk20set_inuse_and_pinuse17hc87585256ab7e20fE - br 3 (;@6;) - end - local.get 3 - i32.const -8 - i32.and - i32.const 1051488 - i32.add - local.set 6 - i32.const 0 - i32.load offset=1051768 - local.set 2 - block ;; label = @9 + local.set 1 block ;; label = @10 - i32.const 0 - i32.load offset=1051752 - local.tee 7 - i32.const 1 + local.get 0 local.get 3 + call $_ZN8dlmalloc8dlmalloc5Chunk12minus_offset17hc4a0fdc2ff1abc38E + local.tee 0 + i32.const 0 + i32.load offset=1051460 + i32.ne + br_if 0 (;@10;) + local.get 2 + i32.load offset=4 i32.const 3 - i32.shr_u - i32.shl - local.tee 3 i32.and - i32.eqz + i32.const 3 + i32.ne + br_if 1 (;@9;) + i32.const 0 + local.get 1 + i32.store offset=1051452 + local.get 0 + local.get 1 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h1e6a59985180e994E + br 9 (;@1;) + end + block ;; label = @10 + local.get 3 + i32.const 256 + i32.lt_u br_if 0 (;@10;) - local.get 6 - i32.load offset=8 - local.set 3 + local.get 0 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17h057503926679f426E + br 1 (;@9;) + end + block ;; label = @10 + 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 (;@10;) + local.get 5 + local.get 4 + i32.store offset=12 + local.get 4 + local.get 5 + i32.store offset=8 br 1 (;@9;) end i32.const 0 - local.get 7 + i32.const 0 + i32.load offset=1051444 + i32.const -2 local.get 3 - i32.or - i32.store offset=1051752 - local.get 6 - local.set 3 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1051444 end - local.get 6 local.get 2 - i32.store offset=8 - local.get 3 + call $_ZN8dlmalloc8dlmalloc5Chunk6cinuse17hb4677a5fcbb82422E + br_if 2 (;@6;) + local.get 2 + i32.const 0 + i32.load offset=1051464 + i32.eq + br_if 4 (;@4;) + local.get 2 + i32.const 0 + i32.load offset=1051460 + i32.ne + br_if 1 (;@7;) + i32.const 0 + local.get 0 + i32.store offset=1051460 + i32.const 0 + i32.const 0 + i32.load offset=1051452 + local.get 1 + i32.add + local.tee 1 + i32.store offset=1051452 + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17hb8c49fbc662a8751E + return + end + i32.const 1051488 + 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$4free17h17c630ddfc3296e0E + i32.eqz + br_if 6 (;@1;) + i32.const 0 + i32.const 0 + i32.load offset=1051468 + local.get 0 + i32.sub + i32.store offset=1051468 + return + end + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E + 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_chunk17h057503926679f426E + br 1 (;@7;) + end + block ;; label = @8 local.get 2 - i32.store offset=12 + i32.const 12 + i32.add + i32.load + local.tee 4 local.get 2 - local.get 6 + 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 - local.get 3 i32.store offset=8 + br 1 (;@7;) end i32.const 0 - local.get 4 - i32.store offset=1051768 i32.const 0 - local.get 5 - i32.store offset=1051760 - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E - local.set 6 - br 6 (;@1;) + i32.load offset=1051444 + i32.const -2 + local.get 3 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1051444 end + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17hb8c49fbc662a8751E + local.get 0 i32.const 0 - local.get 4 - i32.store offset=1051768 + i32.load offset=1051460 + i32.ne + br_if 1 (;@5;) i32.const 0 - local.get 6 - i32.store offset=1051760 + local.get 1 + i32.store offset=1051452 + return end local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E - local.tee 6 - i32.eqz - br_if 3 (;@2;) - br 4 (;@1;) + local.get 1 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h1e6a59985180e994E + end + local.get 1 + i32.const 256 + i32.lt_u + br_if 1 (;@3;) + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17hc73af8a4cd0b31d7E + i32.const 0 + i32.const 0 + i32.load offset=1051484 + i32.const -1 + i32.add + local.tee 0 + i32.store offset=1051484 + local.get 0 + br_if 3 (;@1;) + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$23release_unused_segments17hfee793f58e61465bE + drop + return + end + i32.const 0 + local.get 0 + i32.store offset=1051464 + i32.const 0 + i32.const 0 + i32.load offset=1051456 + local.get 1 + i32.add + local.tee 1 + i32.store offset=1051456 + local.get 0 + local.get 1 + i32.const 1 + i32.or + i32.store offset=4 + block ;; label = @4 + local.get 0 + i32.const 0 + i32.load offset=1051460 + i32.ne + br_if 0 (;@4;) + i32.const 0 + i32.const 0 + i32.store offset=1051452 + i32.const 0 + i32.const 0 + i32.store offset=1051460 + end + local.get 1 + i32.const 0 + i32.load offset=1051476 + i32.le_u + br_if 2 (;@1;) + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hb4f8ba9389e35f03E + local.tee 0 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 1 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 2 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 3 + i32.const 0 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + 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 2 (;@1;) + i32.const 0 + i32.load offset=1051464 + i32.eqz + br_if 2 (;@1;) + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hb4f8ba9389e35f03E + local.tee 0 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 1 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 3 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 4 + i32.const 0 + local.set 2 + i32.const 0 + i32.load offset=1051456 + 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 1 (;@2;) + 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=1051464 + local.set 1 + i32.const 1051164 + 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 $_ZN8dlmalloc8dlmalloc7Segment3top17hdd4d160761d7a4c1E + 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_extern17hce2b6c60378fecbaE + br_if 1 (;@2;) + i32.const 1051488 + 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_part17he396a577db875ec0E + i32.eqz + br_if 1 (;@2;) + local.get 0 + i32.load offset=4 + local.get 3 + i32.lt_u + br_if 1 (;@2;) + i32.const 1051164 + local.set 1 + loop ;; label = @4 + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc7Segment5holds17hd979b70163a9ea52E + br_if 2 (;@2;) + local.get 1 + i32.load offset=8 + local.tee 1 + br_if 0 (;@4;) + end + i32.const 1051488 + 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_part17h6e5bac3b0cfb8f54E + local.set 1 + local.get 3 + i32.eqz + br_if 1 (;@2;) + local.get 1 + i32.eqz + br_if 1 (;@2;) + 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=1051468 + local.get 3 + i32.sub + i32.store offset=1051468 + i32.const 0 + i32.load offset=1051456 + local.set 1 + i32.const 0 + i32.load offset=1051464 + local.set 0 + i32.const 0 + local.get 0 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E + local.tee 2 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.get 2 + i32.sub + local.tee 2 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + local.tee 0 + i32.store offset=1051464 + 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=1051456 + local.get 0 + local.get 1 + i32.const 1 + i32.or + i32.store offset=4 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hb4f8ba9389e35f03E + local.tee 2 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 4 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 5 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 6 + local.get 0 + local.get 1 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + 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=1051476 + local.get 3 + local.set 2 + br 1 (;@2;) + end + local.get 1 + i32.const -8 + i32.and + i32.const 1051180 + i32.add + local.set 2 + block ;; label = @3 + block ;; label = @4 + i32.const 0 + i32.load offset=1051444 + local.tee 3 + i32.const 1 + local.get 1 + i32.const 3 + i32.shr_u + i32.shl + local.tee 1 + i32.and + br_if 0 (;@4;) + i32.const 0 + local.get 3 + local.get 1 + i32.or + i32.store offset=1051444 + local.get 2 + local.set 1 + br 1 (;@3;) + end + local.get 2 + i32.load offset=8 + 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 + return + end + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$23release_unused_segments17hfee793f58e61465bE + i32.const 0 + local.get 2 + i32.sub + i32.ne + br_if 0 (;@1;) + i32.const 0 + i32.load offset=1051456 + i32.const 0 + i32.load offset=1051476 + i32.le_u + br_if 0 (;@1;) + i32.const 0 + i32.const -1 + i32.store offset=1051476 + return + end) + (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h464a2d96faf011fdE (type 4) (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 local.get 0 - local.get 4 - i32.or + i32.const 245 + i32.lt_u br_if 0 (;@5;) - i32.const 0 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hb4f8ba9389e35f03E + local.tee 2 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 3 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.set 4 - i32.const 1 - local.get 8 - i32.shl - call $_ZN8dlmalloc8dlmalloc9left_bits17h4d52756c14d62f33E + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 5 i32.const 0 - i32.load offset=1051756 + local.set 6 + i32.const 0 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + 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 - local.tee 0 + 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 4 (;@1;) + local.get 0 + i32.const 4 + i32.add + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 2 + i32.const 0 + i32.load offset=1051448 i32.eqz br_if 3 (;@2;) - local.get 0 - call $_ZN8dlmalloc8dlmalloc9least_bit17hc206cf4e014f3c55E - i32.ctz - i32.const 2 + i32.const 0 + local.set 8 + block ;; label = @6 + local.get 2 + i32.const 256 + i32.lt_u + br_if 0 (;@6;) + i32.const 31 + local.set 8 + local.get 2 + i32.const 16777215 + i32.gt_u + br_if 0 (;@6;) + 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 = @6 + local.get 8 + i32.const 2 + i32.shl + i32.const 1051036 + i32.add + i32.load + local.tee 3 + br_if 0 (;@6;) + i32.const 0 + local.set 0 + i32.const 0 + local.set 4 + br 2 (;@4;) + end + local.get 2 + local.get 8 + call $_ZN8dlmalloc8dlmalloc24leftshift_for_tree_index17he8264d4c8bb74329E i32.shl - i32.const 1051344 - i32.add - i32.load + local.set 5 + i32.const 0 local.set 0 + i32.const 0 + local.set 4 + loop ;; label = @6 + block ;; label = @7 + local.get 3 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hdd6a267a52100ff9E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E + local.tee 7 + local.get 2 + i32.lt_u + br_if 0 (;@7;) + local.get 7 + local.get 2 + i32.sub + local.tee 7 + local.get 6 + i32.ge_u + br_if 0 (;@7;) + local.get 7 + local.set 6 + local.get 3 + local.set 4 + local.get 7 + br_if 0 (;@7;) + i32.const 0 + local.set 6 + local.get 3 + local.set 4 + local.get 3 + local.set 0 + i32.const 0 + local.set 3 + br 4 (;@3;) + 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 (;@4;) + br 0 (;@6;) + end end + i32.const 16 local.get 0 - i32.eqz - br_if 1 (;@3;) - end - loop ;; label = @4 - local.get 0 - local.get 4 - local.get 0 - call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17h4562a4235ab5a16eE - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E - 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_child17h1ae27d38517e0e1cE - 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=1051760 - 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 $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17h4562a4235ab5a16eE - local.tee 0 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - local.set 3 - local.get 4 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17hb47d8811580bf409E - block ;; label = @3 - block ;; label = @4 - local.get 6 + i32.const 4 + i32.add i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - i32.lt_u - br_if 0 (;@4;) + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + i32.const -5 + i32.add local.get 0 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17h4a3baeef63b4aae1E - local.get 3 - local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17habe76bbe555b1e73E + i32.gt_u + select + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 2 block ;; label = @5 - local.get 6 - i32.const 256 - i32.lt_u + i32.const 0 + i32.load offset=1051444 + 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 (;@5;) - local.get 3 - local.get 6 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h2634ef33b3af9a32E - br 2 (;@3;) - end - local.get 6 - i32.const -8 - i32.and - i32.const 1051488 - i32.add - local.set 4 - block ;; label = @5 block ;; label = @6 + block ;; label = @7 + local.get 0 + i32.const -1 + i32.xor + i32.const 1 + i32.and + local.get 6 + i32.add + local.tee 6 + i32.const 3 + i32.shl + local.tee 3 + i32.const 1051188 + i32.add + i32.load + local.tee 0 + i32.const 8 + i32.add + i32.load + local.tee 2 + local.get 3 + i32.const 1051180 + i32.add + local.tee 3 + i32.eq + br_if 0 (;@7;) + local.get 2 + local.get 3 + i32.store offset=12 + local.get 3 + local.get 2 + i32.store offset=8 + br 1 (;@6;) + end i32.const 0 - i32.load offset=1051752 - local.tee 5 - i32.const 1 + local.get 4 + i32.const -2 local.get 6 - i32.const 3 - i32.shr_u - i32.shl - local.tee 6 + i32.rotl i32.and - i32.eqz - br_if 0 (;@6;) - local.get 4 - i32.load offset=8 - local.set 6 - br 1 (;@5;) + i32.store offset=1051444 end - i32.const 0 - local.get 5 + local.get 0 local.get 6 - i32.or - i32.store offset=1051752 - local.get 4 + i32.const 3 + i32.shl + call $_ZN8dlmalloc8dlmalloc5Chunk20set_inuse_and_pinuse17hb5017cd9994d56b7E + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E local.set 6 + br 4 (;@1;) 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_pinuse17hc87585256ab7e20fE - end - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E - local.tee 6 - br_if 1 (;@1;) - end - block ;; label = @2 - block ;; label = @3 - block ;; label = @4 + local.get 2 + i32.const 0 + i32.load offset=1051452 + i32.le_u + br_if 2 (;@2;) block ;; label = @5 block ;; label = @6 - block ;; label = @7 - block ;; label = @8 - block ;; label = @9 - i32.const 0 - i32.load offset=1051760 - local.tee 6 - local.get 2 - i32.ge_u - br_if 0 (;@9;) - block ;; label = @10 - i32.const 0 - i32.load offset=1051764 - local.tee 0 - local.get 2 - i32.gt_u - br_if 0 (;@10;) - local.get 1 - i32.const 1051344 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17h2818126ab4d4ccc1E - local.tee 0 - i32.sub - local.get 0 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - i32.add - i32.const 20 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - i32.add - i32.const 16 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - i32.add - i32.const 8 - i32.add - i32.const 65536 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$5alloc17h9bcb497e409528ddE - block ;; label = @11 - local.get 1 - i32.load - local.tee 6 - br_if 0 (;@11;) - i32.const 0 - local.set 6 - br 10 (;@1;) - end - local.get 1 - i32.load offset=8 - local.set 8 - i32.const 0 - i32.const 0 - i32.load offset=1051776 - local.get 1 - i32.load offset=4 - local.tee 5 - i32.add - local.tee 0 - i32.store offset=1051776 - i32.const 0 - i32.const 0 - i32.load offset=1051780 - local.tee 3 - local.get 0 - local.get 3 - local.get 0 - i32.gt_u - select - i32.store offset=1051780 - block ;; label = @11 - block ;; label = @12 - block ;; label = @13 - i32.const 0 - i32.load offset=1051772 - i32.eqz - br_if 0 (;@13;) - i32.const 1051472 - local.set 0 - loop ;; label = @14 - local.get 6 - local.get 0 - call $_ZN8dlmalloc8dlmalloc7Segment3top17h96cd19ac0fd36e05E - 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=1051788 - 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_extern17h3cbba93f4e5cfab1E - br_if 0 (;@11;) - local.get 0 - call $_ZN8dlmalloc8dlmalloc7Segment9sys_flags17hd7870bf529598941E - local.get 8 - i32.ne - br_if 0 (;@11;) - local.get 0 - i32.const 0 - i32.load offset=1051772 - call $_ZN8dlmalloc8dlmalloc7Segment5holds17he3b1db583c6e4172E - br_if 4 (;@7;) - end - i32.const 0 - i32.const 0 - i32.load offset=1051788 - local.tee 0 - local.get 6 - local.get 6 - local.get 0 - i32.gt_u - select - i32.store offset=1051788 - local.get 6 - local.get 5 - i32.add - local.set 3 - i32.const 1051472 - local.set 0 + block ;; label = @7 + block ;; label = @8 + block ;; label = @9 + block ;; label = @10 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_extern17h3cbba93f4e5cfab1E - br_if 0 (;@12;) - local.get 0 - call $_ZN8dlmalloc8dlmalloc7Segment9sys_flags17hd7870bf529598941E - local.get 8 - i32.eq - br_if 1 (;@11;) - end + local.get 0 + br_if 0 (;@11;) i32.const 0 - i32.load offset=1051772 - local.set 3 - i32.const 1051472 - local.set 0 + i32.load offset=1051448 + local.tee 0 + i32.eqz + br_if 9 (;@2;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc9least_bit17h6d1d38bf68f60a15E + i32.ctz + i32.const 2 + i32.shl + i32.const 1051036 + i32.add + i32.load + local.tee 3 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hdd6a267a52100ff9E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E + local.get 2 + i32.sub + local.set 6 block ;; label = @12 + local.get 3 + call $_ZN8dlmalloc8dlmalloc9TreeChunk14leftmost_child17h6480385e5d33dc8cE + local.tee 0 + i32.eqz + br_if 0 (;@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 $_ZN8dlmalloc8dlmalloc7Segment3top17h96cd19ac0fd36e05E - local.get 3 - i32.gt_u - br_if 2 (;@12;) - end local.get 0 - i32.load offset=8 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hdd6a267a52100ff9E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E + 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_child17h6480385e5d33dc8cE local.tee 0 br_if 0 (;@13;) end - i32.const 0 - local.set 0 end - local.get 0 - call $_ZN8dlmalloc8dlmalloc7Segment3top17h96cd19ac0fd36e05E - local.tee 4 - i32.const 20 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.tee 9 - i32.sub - i32.const -23 - i32.add - local.set 0 local.get 3 - local.get 0 - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E - local.tee 7 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.get 7 - i32.sub - i32.add + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hdd6a267a52100ff9E local.tee 0 - local.get 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + local.set 4 local.get 3 - i32.const 16 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - i32.add - i32.lt_u - select - local.tee 7 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E - local.set 10 - local.get 7 - local.get 9 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - local.set 0 - call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17h2818126ab4d4ccc1E - local.tee 11 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 12 - i32.const 20 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 13 - i32.const 16 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 14 - i32.const 0 - local.get 6 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17h057503926679f426E local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E - local.tee 15 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.get 15 - i32.sub - local.tee 16 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - local.tee 15 - i32.store offset=1051772 - 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=1051764 - local.get 15 - local.get 11 - i32.const 1 - i32.or - i32.store offset=4 - call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17h2818126ab4d4ccc1E - local.tee 12 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 13 - i32.const 20 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 14 i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 16 - local.get 15 - local.get 11 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - 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=1051784 - local.get 7 - local.get 9 - call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17h4a3baeef63b4aae1E - i32.const 0 - i64.load offset=1051472 align=4 - local.set 17 - local.get 10 - i32.const 8 - i32.add - i32.const 0 - i64.load offset=1051480 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=1051484 - i32.const 0 - local.get 5 - i32.store offset=1051476 - i32.const 0 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + i32.lt_u + br_if 2 (;@9;) + local.get 4 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hdd6a267a52100ff9E + local.set 4 + local.get 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hc6d12ed1fddec215E + local.get 4 local.get 6 - i32.store offset=1051472 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17hb8c49fbc662a8751E i32.const 0 - local.get 10 - i32.store offset=1051480 - loop ;; label = @12 - local.get 0 - i32.const 4 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - local.set 6 - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk14fencepost_head17h782694e16a323064E - i32.store offset=4 + i32.load offset=1051452 + local.tee 7 + br_if 1 (;@10;) + br 5 (;@6;) + end + block ;; label = @11 + block ;; label = @12 + i32.const 1 local.get 6 - local.set 0 + i32.const 31 + i32.and + local.tee 6 + i32.shl + call $_ZN8dlmalloc8dlmalloc9left_bits17hfd760f4678f8d918E + local.get 0 local.get 6 - i32.const 4 + i32.shl + i32.and + call $_ZN8dlmalloc8dlmalloc9least_bit17h6d1d38bf68f60a15E + i32.ctz + local.tee 6 + i32.const 3 + i32.shl + local.tee 4 + i32.const 1051188 i32.add + i32.load + local.tee 0 + i32.const 8 + i32.add + i32.load + local.tee 3 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_offset17h9b67d52a46bbff2cE - call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h2b5f242508300075E - block ;; label = @12 - local.get 0 - i32.const 256 - i32.lt_u + i32.const 1051180 + i32.add + local.tee 4 + i32.eq br_if 0 (;@12;) local.get 3 - local.get 0 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h2634ef33b3af9a32E - br 10 (;@2;) - end - local.get 0 - i32.const -8 - i32.and - i32.const 1051488 - i32.add - local.set 6 - block ;; label = @12 - block ;; label = @13 - i32.const 0 - i32.load offset=1051752 - 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=1051752 - local.get 6 - local.set 0 + i32.store offset=12 + local.get 4 + local.get 3 + i32.store offset=8 + br 1 (;@11;) 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_mem17hc02bf0af126119c0E - local.tee 0 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 3 - local.get 4 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E - local.tee 5 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 7 - local.get 6 - local.get 3 - local.get 0 - i32.sub - i32.add - local.tee 6 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - local.set 3 - local.get 6 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17h4a3baeef63b4aae1E - 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=1051772 - i32.eq - br_if 0 (;@11;) - local.get 0 i32.const 0 - i32.load offset=1051768 - i32.eq - br_if 5 (;@6;) - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk5inuse17h6a9390afcf3c4f59E - br_if 7 (;@4;) - block ;; label = @12 - block ;; label = @13 - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E - local.tee 4 - i32.const 256 - i32.lt_u - br_if 0 (;@13;) - local.get 0 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17hb47d8811580bf409E - 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=1051752 - i32.const -2 - local.get 4 - i32.const 3 - i32.shr_u - i32.rotl - i32.and - i32.store offset=1051752 - end - local.get 4 - local.get 2 - i32.add - local.set 2 - local.get 0 - local.get 4 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - local.set 0 - br 7 (;@4;) + i32.load offset=1051444 + i32.const -2 + local.get 6 + i32.rotl + i32.and + i32.store offset=1051444 end - i32.const 0 - local.get 3 - i32.store offset=1051772 - i32.const 0 - i32.const 0 - i32.load offset=1051764 + local.get 0 local.get 2 - i32.add - local.tee 0 - i32.store offset=1051764 - local.get 3 + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hc6d12ed1fddec215E local.get 0 - i32.const 1 - i32.or - i32.store offset=4 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + local.tee 4 local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E - local.set 6 - br 9 (;@1;) + i32.const 3 + i32.shl + local.get 2 + i32.sub + local.tee 5 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17hb8c49fbc662a8751E + i32.const 0 + i32.load offset=1051452 + local.tee 3 + br_if 2 (;@8;) + br 3 (;@7;) end + local.get 7 + i32.const -8 + i32.and + i32.const 1051180 + i32.add + local.set 5 i32.const 0 - local.get 0 - local.get 2 - i32.sub - local.tee 6 - i32.store offset=1051764 - i32.const 0 + i32.load offset=1051460 + local.set 3 + block ;; label = @10 + block ;; label = @11 + i32.const 0 + i32.load offset=1051444 + local.tee 8 + i32.const 1 + local.get 7 + i32.const 3 + i32.shr_u + i32.shl + local.tee 7 + i32.and + br_if 0 (;@11;) + i32.const 0 + local.get 8 + local.get 7 + i32.or + i32.store offset=1051444 + local.get 5 + local.set 7 + br 1 (;@10;) + end + local.get 5 + i32.load offset=8 + 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 (;@6;) + end + local.get 0 + local.get 6 + local.get 2 + i32.add + call $_ZN8dlmalloc8dlmalloc5Chunk20set_inuse_and_pinuse17hb5017cd9994d56b7E + br 3 (;@5;) + end + local.get 3 + i32.const -8 + i32.and + i32.const 1051180 + i32.add + local.set 2 + i32.const 0 + i32.load offset=1051460 + local.set 6 + block ;; label = @8 + block ;; label = @9 i32.const 0 - i32.load offset=1051772 - local.tee 0 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE + i32.load offset=1051444 + local.tee 7 + i32.const 1 + local.get 3 + i32.const 3 + i32.shr_u + i32.shl local.tee 3 - i32.store offset=1051772 + i32.and + br_if 0 (;@9;) + i32.const 0 + local.get 7 local.get 3 - local.get 6 - i32.const 1 i32.or - i32.store offset=4 - local.get 0 + i32.store offset=1051444 local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17h4a3baeef63b4aae1E - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E - local.set 6 - br 8 (;@1;) + local.set 3 + br 1 (;@8;) end + local.get 2 + i32.load offset=8 + local.set 3 + end + local.get 2 + local.get 6 + i32.store offset=8 + local.get 3 + local.get 6 + i32.store offset=12 + local.get 6 + local.get 2 + i32.store offset=12 + local.get 6 + local.get 3 + i32.store offset=8 + end + i32.const 0 + local.get 4 + i32.store offset=1051460 + i32.const 0 + local.get 5 + i32.store offset=1051452 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E + local.set 6 + br 5 (;@1;) + end + i32.const 0 + local.get 4 + i32.store offset=1051460 + i32.const 0 + local.get 6 + i32.store offset=1051452 + end + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E + local.tee 6 + i32.eqz + br_if 2 (;@2;) + br 3 (;@1;) + end + block ;; label = @4 + local.get 0 + local.get 4 + i32.or + br_if 0 (;@4;) + i32.const 0 + local.set 4 + i32.const 1 + local.get 8 + i32.shl + call $_ZN8dlmalloc8dlmalloc9left_bits17hfd760f4678f8d918E + i32.const 0 + i32.load offset=1051448 + i32.and + local.tee 0 + i32.eqz + br_if 2 (;@2;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc9least_bit17h6d1d38bf68f60a15E + i32.ctz + i32.const 2 + i32.shl + i32.const 1051036 + i32.add + i32.load + local.set 0 + end + i32.const 1 + local.set 3 + end + loop ;; label = @3 + block ;; label = @4 + block ;; label = @5 + local.get 3 + br_table 0 (;@5;) 1 (;@4;) 1 (;@4;) + end + local.get 4 + local.get 0 + local.get 4 + local.get 0 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hdd6a267a52100ff9E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E + local.tee 3 + local.get 2 + i32.sub + local.tee 5 + local.get 6 + i32.lt_u + local.tee 7 + select + local.get 3 + local.get 2 + i32.lt_u + local.tee 3 + select + local.set 4 + local.get 6 + local.get 5 + local.get 6 + local.get 7 + select + local.get 3 + select + local.set 6 + local.get 0 + call $_ZN8dlmalloc8dlmalloc9TreeChunk14leftmost_child17h6480385e5d33dc8cE + local.set 0 + i32.const 1 + local.set 3 + br 1 (;@3;) + end + block ;; label = @4 + local.get 0 + br_if 0 (;@4;) + local.get 4 + i32.eqz + br_if 2 (;@2;) + block ;; label = @5 + i32.const 0 + i32.load offset=1051452 + local.tee 0 + local.get 2 + i32.lt_u + br_if 0 (;@5;) + local.get 6 + local.get 0 + local.get 2 + i32.sub + i32.ge_u + br_if 3 (;@2;) + end + local.get 4 + call $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hdd6a267a52100ff9E + local.tee 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + local.set 3 + local.get 4 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17h057503926679f426E + block ;; label = @5 + block ;; label = @6 + local.get 6 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + i32.lt_u + br_if 0 (;@6;) + local.get 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hc6d12ed1fddec215E + local.get 3 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17hb8c49fbc662a8751E + block ;; label = @7 + local.get 6 + i32.const 256 + i32.lt_u + br_if 0 (;@7;) + local.get 3 + local.get 6 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17hc73af8a4cd0b31d7E + br 2 (;@5;) + end + local.get 6 + i32.const -8 + i32.and + i32.const 1051180 + i32.add + local.set 4 + block ;; label = @7 + block ;; label = @8 + i32.const 0 + i32.load offset=1051444 + local.tee 5 + i32.const 1 + local.get 6 + i32.const 3 + i32.shr_u + i32.shl + local.tee 6 + i32.and + br_if 0 (;@8;) i32.const 0 - i32.load offset=1051768 - local.set 0 + local.get 5 + local.get 6 + i32.or + i32.store offset=1051444 + local.get 4 + local.set 6 + br 1 (;@7;) + end + local.get 4 + i32.load offset=8 + 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 (;@5;) + end + local.get 0 + local.get 6 + local.get 2 + i32.add + call $_ZN8dlmalloc8dlmalloc5Chunk20set_inuse_and_pinuse17hb5017cd9994d56b7E + end + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E + local.tee 6 + br_if 3 (;@1;) + br 2 (;@2;) + end + i32.const 0 + local.set 3 + br 0 (;@3;) + end + end + block ;; label = @2 + block ;; label = @3 + block ;; label = @4 + i32.const 0 + i32.load offset=1051452 + local.tee 6 + local.get 2 + i32.ge_u + br_if 0 (;@4;) + block ;; label = @5 + i32.const 0 + i32.load offset=1051456 + local.tee 0 + local.get 2 + i32.gt_u + br_if 0 (;@5;) + local.get 1 + i32.const 4 + i32.add + i32.const 1051488 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hb4f8ba9389e35f03E + local.tee 0 + i32.sub + local.get 0 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + i32.add + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + i32.add + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + i32.add + i32.const 8 + i32.add + i32.const 65536 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$5alloc17hed1977c094ba06f0E + block ;; label = @6 + local.get 1 + i32.load offset=4 + local.tee 6 + br_if 0 (;@6;) + i32.const 0 + local.set 6 + br 5 (;@1;) + end + local.get 1 + i32.load offset=12 + local.set 8 + i32.const 0 + i32.const 0 + i32.load offset=1051468 + local.get 1 + i32.load offset=8 + local.tee 5 + i32.add + local.tee 0 + i32.store offset=1051468 + i32.const 0 + i32.const 0 + i32.load offset=1051472 + local.tee 3 + local.get 0 + local.get 3 + local.get 0 + i32.gt_u + select + i32.store offset=1051472 + block ;; label = @6 + block ;; label = @7 + i32.const 0 + i32.load offset=1051464 + i32.eqz + br_if 0 (;@7;) + i32.const 1051164 + local.set 0 + loop ;; label = @8 local.get 6 - local.get 2 - i32.sub - local.tee 6 - i32.const 16 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - i32.lt_u - br_if 3 (;@5;) local.get 0 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - local.set 3 - i32.const 0 - local.get 6 - i32.store offset=1051760 + call $_ZN8dlmalloc8dlmalloc7Segment3top17hdd4d160761d7a4c1E + i32.eq + br_if 2 (;@6;) + local.get 0 + i32.load offset=8 + local.tee 0 + br_if 0 (;@8;) + br 5 (;@3;) + end + end + block ;; label = @7 + block ;; label = @8 i32.const 0 - local.get 3 - i32.store offset=1051768 - local.get 3 + i32.load offset=1051480 + local.tee 0 + i32.eqz + br_if 0 (;@8;) local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17habe76bbe555b1e73E - local.get 0 - local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17h4a3baeef63b4aae1E local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E - local.set 6 - br 7 (;@1;) + i32.ge_u + br_if 1 (;@7;) end i32.const 0 local.get 6 - i32.store offset=1051788 - br 4 (;@3;) + i32.store offset=1051480 end + i32.const 0 + i32.const 4095 + i32.store offset=1051484 + i32.const 0 + local.get 8 + i32.store offset=1051176 + i32.const 0 + local.get 5 + i32.store offset=1051168 + i32.const 0 + local.get 6 + i32.store offset=1051164 + i32.const 0 + i32.const 1051180 + i32.store offset=1051192 + i32.const 0 + i32.const 1051188 + i32.store offset=1051200 + i32.const 0 + i32.const 1051180 + i32.store offset=1051188 + i32.const 0 + i32.const 1051196 + i32.store offset=1051208 + i32.const 0 + i32.const 1051188 + i32.store offset=1051196 + i32.const 0 + i32.const 1051204 + i32.store offset=1051216 + i32.const 0 + i32.const 1051196 + i32.store offset=1051204 + i32.const 0 + i32.const 1051212 + i32.store offset=1051224 + i32.const 0 + i32.const 1051204 + i32.store offset=1051212 + i32.const 0 + i32.const 1051220 + i32.store offset=1051232 + i32.const 0 + i32.const 1051212 + i32.store offset=1051220 + i32.const 0 + i32.const 1051228 + i32.store offset=1051240 + i32.const 0 + i32.const 1051220 + i32.store offset=1051228 + i32.const 0 + i32.const 1051236 + i32.store offset=1051248 + i32.const 0 + i32.const 1051228 + i32.store offset=1051236 + i32.const 0 + i32.const 1051244 + i32.store offset=1051256 + i32.const 0 + i32.const 1051236 + i32.store offset=1051244 + i32.const 0 + i32.const 1051244 + i32.store offset=1051252 + i32.const 0 + i32.const 1051252 + i32.store offset=1051264 + i32.const 0 + i32.const 1051252 + i32.store offset=1051260 + i32.const 0 + i32.const 1051260 + i32.store offset=1051272 + i32.const 0 + i32.const 1051260 + i32.store offset=1051268 + i32.const 0 + i32.const 1051268 + i32.store offset=1051280 + i32.const 0 + i32.const 1051268 + i32.store offset=1051276 + i32.const 0 + i32.const 1051276 + i32.store offset=1051288 + i32.const 0 + i32.const 1051276 + i32.store offset=1051284 + i32.const 0 + i32.const 1051284 + i32.store offset=1051296 + i32.const 0 + i32.const 1051284 + i32.store offset=1051292 + i32.const 0 + i32.const 1051292 + i32.store offset=1051304 + i32.const 0 + i32.const 1051292 + i32.store offset=1051300 + i32.const 0 + i32.const 1051300 + i32.store offset=1051312 + i32.const 0 + i32.const 1051300 + i32.store offset=1051308 + i32.const 0 + i32.const 1051308 + i32.store offset=1051320 + i32.const 0 + i32.const 1051316 + i32.store offset=1051328 + i32.const 0 + i32.const 1051308 + i32.store offset=1051316 + i32.const 0 + i32.const 1051324 + i32.store offset=1051336 + i32.const 0 + i32.const 1051316 + i32.store offset=1051324 + i32.const 0 + i32.const 1051332 + i32.store offset=1051344 + i32.const 0 + i32.const 1051324 + i32.store offset=1051332 + i32.const 0 + i32.const 1051340 + i32.store offset=1051352 + i32.const 0 + i32.const 1051332 + i32.store offset=1051340 + i32.const 0 + i32.const 1051348 + i32.store offset=1051360 + i32.const 0 + i32.const 1051340 + i32.store offset=1051348 + i32.const 0 + i32.const 1051356 + i32.store offset=1051368 + i32.const 0 + i32.const 1051348 + i32.store offset=1051356 + i32.const 0 + i32.const 1051364 + i32.store offset=1051376 + i32.const 0 + i32.const 1051356 + i32.store offset=1051364 + i32.const 0 + i32.const 1051372 + i32.store offset=1051384 + i32.const 0 + i32.const 1051364 + i32.store offset=1051372 + i32.const 0 + i32.const 1051380 + i32.store offset=1051392 + i32.const 0 + i32.const 1051372 + i32.store offset=1051380 + i32.const 0 + i32.const 1051388 + i32.store offset=1051400 + i32.const 0 + i32.const 1051380 + i32.store offset=1051388 + i32.const 0 + i32.const 1051396 + i32.store offset=1051408 + i32.const 0 + i32.const 1051388 + i32.store offset=1051396 + i32.const 0 + i32.const 1051404 + i32.store offset=1051416 + i32.const 0 + i32.const 1051396 + i32.store offset=1051404 + i32.const 0 + i32.const 1051412 + i32.store offset=1051424 + i32.const 0 + i32.const 1051404 + i32.store offset=1051412 + i32.const 0 + i32.const 1051420 + i32.store offset=1051432 + i32.const 0 + i32.const 1051412 + i32.store offset=1051420 + i32.const 0 + i32.const 1051428 + i32.store offset=1051440 + i32.const 0 + i32.const 1051420 + i32.store offset=1051428 + i32.const 0 + i32.const 1051428 + i32.store offset=1051436 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hb4f8ba9389e35f03E + local.tee 3 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 4 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 7 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 8 + i32.const 0 + local.get 6 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E + local.tee 0 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.get 0 - local.get 0 - i32.load offset=4 + i32.sub + local.tee 9 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + local.tee 0 + i32.store offset=1051464 + 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 9 + i32.add + i32.sub + local.tee 6 + i32.store offset=1051456 + local.get 0 + local.get 6 + i32.const 1 + i32.or i32.store offset=4 - i32.const 0 - i32.load offset=1051772 - i32.const 0 - i32.load offset=1051764 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hb4f8ba9389e35f03E + local.tee 3 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 4 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 5 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 7 + local.get 0 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + local.get 7 local.get 5 + local.get 4 + local.get 3 + i32.sub + i32.add i32.add - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8init_top17h9f173f15516b6497E + i32.store offset=4 + i32.const 0 + i32.const 2097152 + i32.store offset=1051476 br 4 (;@2;) end + local.get 0 + call $_ZN8dlmalloc8dlmalloc7Segment9is_extern17hce2b6c60378fecbaE + br_if 2 (;@3;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc7Segment9sys_flags17ha34d71c2c0a2f4f8E + local.get 8 + i32.ne + br_if 2 (;@3;) + local.get 0 i32.const 0 - local.get 3 - i32.store offset=1051768 + i32.load offset=1051464 + call $_ZN8dlmalloc8dlmalloc7Segment5holds17hd979b70163a9ea52E + i32.eqz + br_if 2 (;@3;) + 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=1051464 i32.const 0 - i32.load offset=1051760 - local.get 2 + i32.load offset=1051456 + local.get 5 i32.add - local.tee 0 - i32.store offset=1051760 - local.get 3 - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17habe76bbe555b1e73E - local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E - local.set 6 - br 4 (;@1;) + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8init_top17haeeb56bfbe3f1e70E + br 3 (;@2;) end i32.const 0 - i32.const 0 - i32.store offset=1051768 - i32.const 0 - i32.load offset=1051760 - local.set 2 + local.get 0 + local.get 2 + i32.sub + local.tee 6 + i32.store offset=1051456 i32.const 0 i32.const 0 - i32.store offset=1051760 + i32.load offset=1051464 + local.tee 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + local.tee 3 + i32.store offset=1051464 + local.get 3 + local.get 6 + i32.const 1 + i32.or + i32.store offset=4 local.get 0 local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk20set_inuse_and_pinuse17hc87585256ab7e20fE + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hc6d12ed1fddec215E local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E local.set 6 br 3 (;@1;) end - local.get 3 - local.get 2 - local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h2b5f242508300075E + i32.const 0 + i32.load offset=1051460 + local.set 0 block ;; label = @4 + local.get 6 local.get 2 - i32.const 256 + i32.sub + local.tee 6 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE i32.lt_u br_if 0 (;@4;) - local.get 3 + local.get 0 local.get 2 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17h2634ef33b3af9a32E + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + local.set 3 + i32.const 0 + local.get 6 + i32.store offset=1051452 + i32.const 0 + local.get 3 + i32.store offset=1051460 + local.get 3 local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17hb8c49fbc662a8751E + local.get 0 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hc6d12ed1fddec215E + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E local.set 6 br 3 (;@1;) end + i32.const 0 + i32.const 0 + i32.store offset=1051460 + i32.const 0 + i32.load offset=1051452 + local.set 6 + i32.const 0 + i32.const 0 + i32.store offset=1051452 + local.get 0 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk20set_inuse_and_pinuse17hb5017cd9994d56b7E + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E + local.set 6 + br 2 (;@1;) + end + i32.const 0 + i32.const 0 + i32.load offset=1051480 + local.tee 0 + local.get 6 + local.get 6 + local.get 0 + i32.gt_u + select + i32.store offset=1051480 + local.get 6 + local.get 5 + i32.add + local.set 3 + i32.const 1051164 + local.set 0 + block ;; label = @3 + block ;; label = @4 + loop ;; label = @5 + local.get 0 + i32.load + local.get 3 + i32.eq + br_if 1 (;@4;) + local.get 0 + i32.load offset=8 + local.tee 0 + br_if 0 (;@5;) + br 2 (;@3;) + end + end + local.get 0 + call $_ZN8dlmalloc8dlmalloc7Segment9is_extern17hce2b6c60378fecbaE + br_if 0 (;@3;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc7Segment9sys_flags17ha34d71c2c0a2f4f8E + local.get 8 + i32.ne + br_if 0 (;@3;) + 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_mem17h50c7b3bad37923f8E + local.tee 0 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 3 + local.get 4 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E + local.tee 5 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 7 + local.get 6 + local.get 3 + local.get 0 + i32.sub + i32.add + local.tee 6 local.get 2 - i32.const -8 - i32.and - i32.const 1051488 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + local.set 3 + local.get 6 + local.get 2 + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hc6d12ed1fddec215E + local.get 4 + local.get 7 + local.get 5 + i32.sub i32.add - local.set 0 + local.tee 0 + local.get 2 + local.get 6 + i32.add + i32.sub + local.set 2 block ;; label = @4 block ;; label = @5 + local.get 0 i32.const 0 - i32.load offset=1051752 - local.tee 4 - i32.const 1 + i32.load offset=1051464 + i32.eq + br_if 0 (;@5;) + local.get 0 + i32.const 0 + i32.load offset=1051460 + i32.eq + br_if 1 (;@4;) + block ;; label = @6 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk5inuse17h18988138fdbf78b6E + br_if 0 (;@6;) + block ;; label = @7 + block ;; label = @8 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E + local.tee 4 + i32.const 256 + i32.lt_u + br_if 0 (;@8;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17h057503926679f426E + br 1 (;@7;) + end + block ;; label = @8 + 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 (;@8;) + local.get 7 + local.get 5 + i32.store offset=12 + local.get 5 + local.get 7 + i32.store offset=8 + br 1 (;@7;) + end + i32.const 0 + i32.const 0 + i32.load offset=1051444 + i32.const -2 + local.get 4 + i32.const 3 + i32.shr_u + i32.rotl + i32.and + i32.store offset=1051444 + end + local.get 4 + local.get 2 + i32.add + local.set 2 + local.get 0 + local.get 4 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + local.set 0 + end + local.get 3 local.get 2 - i32.const 3 - i32.shr_u - i32.shl - local.tee 2 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h1e6a59985180e994E + block ;; label = @6 + local.get 2 + i32.const 256 + i32.lt_u + br_if 0 (;@6;) + local.get 3 + local.get 2 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17hc73af8a4cd0b31d7E + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E + local.set 6 + br 5 (;@1;) + end + local.get 2 + i32.const -8 i32.and - i32.eqz - br_if 0 (;@5;) + i32.const 1051180 + i32.add + local.set 0 + block ;; label = @6 + block ;; label = @7 + i32.const 0 + i32.load offset=1051444 + local.tee 4 + i32.const 1 + local.get 2 + i32.const 3 + i32.shr_u + i32.shl + local.tee 2 + i32.and + br_if 0 (;@7;) + i32.const 0 + local.get 4 + local.get 2 + i32.or + i32.store offset=1051444 + local.get 0 + local.set 2 + br 1 (;@6;) + end + local.get 0 + i32.load offset=8 + local.set 2 + end local.get 0 - i32.load offset=8 - local.set 2 - br 1 (;@4;) + 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_mem17h50c7b3bad37923f8E + local.set 6 + br 4 (;@1;) end i32.const 0 - local.get 4 + local.get 3 + i32.store offset=1051464 + i32.const 0 + i32.const 0 + i32.load offset=1051456 local.get 2 - i32.or - i32.store offset=1051752 + i32.add + local.tee 0 + i32.store offset=1051456 + local.get 3 local.get 0 - local.set 2 + i32.const 1 + i32.or + i32.store offset=4 + local.get 6 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E + local.set 6 + br 3 (;@1;) end - local.get 0 + i32.const 0 local.get 3 - i32.store offset=8 + i32.store offset=1051460 + i32.const 0 + i32.const 0 + i32.load offset=1051452 local.get 2 - local.get 3 - i32.store offset=12 + i32.add + local.tee 0 + i32.store offset=1051452 local.get 3 local.get 0 - i32.store offset=12 - local.get 3 - local.get 2 - i32.store offset=8 + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17hb8c49fbc662a8751E local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E local.set 6 br 2 (;@1;) end i32.const 0 - i32.const 4095 - i32.store offset=1051792 - i32.const 0 - local.get 8 - i32.store offset=1051484 - i32.const 0 - local.get 5 - i32.store offset=1051476 - i32.const 0 - local.get 6 - i32.store offset=1051472 - i32.const 0 - i32.const 1051488 - i32.store offset=1051500 - i32.const 0 - i32.const 1051496 - i32.store offset=1051508 - i32.const 0 - i32.const 1051488 - i32.store offset=1051496 - i32.const 0 - i32.const 1051504 - i32.store offset=1051516 - i32.const 0 - i32.const 1051496 - i32.store offset=1051504 - i32.const 0 - i32.const 1051512 - i32.store offset=1051524 - i32.const 0 - i32.const 1051504 - i32.store offset=1051512 - i32.const 0 - i32.const 1051520 - i32.store offset=1051532 - i32.const 0 - i32.const 1051512 - i32.store offset=1051520 - i32.const 0 - i32.const 1051528 - i32.store offset=1051540 - i32.const 0 - i32.const 1051520 - i32.store offset=1051528 - i32.const 0 - i32.const 1051536 - i32.store offset=1051548 - i32.const 0 - i32.const 1051528 - i32.store offset=1051536 - i32.const 0 - i32.const 1051544 - i32.store offset=1051556 - i32.const 0 - i32.const 1051536 - i32.store offset=1051544 - i32.const 0 - i32.const 1051552 - i32.store offset=1051564 - i32.const 0 - i32.const 1051544 - i32.store offset=1051552 - i32.const 0 - i32.const 1051552 - i32.store offset=1051560 - i32.const 0 - i32.const 1051560 - i32.store offset=1051572 - i32.const 0 - i32.const 1051560 - i32.store offset=1051568 - i32.const 0 - i32.const 1051568 - i32.store offset=1051580 - i32.const 0 - i32.const 1051568 - i32.store offset=1051576 - i32.const 0 - i32.const 1051576 - i32.store offset=1051588 - i32.const 0 - i32.const 1051576 - i32.store offset=1051584 - i32.const 0 - i32.const 1051584 - i32.store offset=1051596 - i32.const 0 - i32.const 1051584 - i32.store offset=1051592 - i32.const 0 - i32.const 1051592 - i32.store offset=1051604 - i32.const 0 - i32.const 1051592 - i32.store offset=1051600 - i32.const 0 - i32.const 1051600 - i32.store offset=1051612 - i32.const 0 - i32.const 1051600 - i32.store offset=1051608 - i32.const 0 - i32.const 1051608 - i32.store offset=1051620 - i32.const 0 - i32.const 1051608 - i32.store offset=1051616 - i32.const 0 - i32.const 1051616 - i32.store offset=1051628 - i32.const 0 - i32.const 1051624 - i32.store offset=1051636 - i32.const 0 - i32.const 1051616 - i32.store offset=1051624 - i32.const 0 - i32.const 1051632 - i32.store offset=1051644 - i32.const 0 - i32.const 1051624 - i32.store offset=1051632 - i32.const 0 - i32.const 1051640 - i32.store offset=1051652 - i32.const 0 - i32.const 1051632 - i32.store offset=1051640 - i32.const 0 - i32.const 1051648 - i32.store offset=1051660 - i32.const 0 - i32.const 1051640 - i32.store offset=1051648 - i32.const 0 - i32.const 1051656 - i32.store offset=1051668 - i32.const 0 - i32.const 1051648 - i32.store offset=1051656 - i32.const 0 - i32.const 1051664 - i32.store offset=1051676 - i32.const 0 - i32.const 1051656 - i32.store offset=1051664 - i32.const 0 - i32.const 1051672 - i32.store offset=1051684 - i32.const 0 - i32.const 1051664 - i32.store offset=1051672 - i32.const 0 - i32.const 1051680 - i32.store offset=1051692 - i32.const 0 - i32.const 1051672 - i32.store offset=1051680 - i32.const 0 - i32.const 1051688 - i32.store offset=1051700 - i32.const 0 - i32.const 1051680 - i32.store offset=1051688 - i32.const 0 - i32.const 1051696 - i32.store offset=1051708 - i32.const 0 - i32.const 1051688 - i32.store offset=1051696 - i32.const 0 - i32.const 1051704 - i32.store offset=1051716 - i32.const 0 - i32.const 1051696 - i32.store offset=1051704 - i32.const 0 - i32.const 1051712 - i32.store offset=1051724 - i32.const 0 - i32.const 1051704 - i32.store offset=1051712 - i32.const 0 - i32.const 1051720 - i32.store offset=1051732 - i32.const 0 - i32.const 1051712 - i32.store offset=1051720 - i32.const 0 - i32.const 1051728 - i32.store offset=1051740 - i32.const 0 - i32.const 1051720 - i32.store offset=1051728 - i32.const 0 - i32.const 1051736 - i32.store offset=1051748 - i32.const 0 - i32.const 1051728 - i32.store offset=1051736 - i32.const 0 - i32.const 1051736 - i32.store offset=1051744 - call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17h2818126ab4d4ccc1E - local.tee 3 + i32.load offset=1051464 + local.set 3 + i32.const 1051164 + local.set 0 + block ;; label = @3 + loop ;; label = @4 + block ;; label = @5 + local.get 0 + i32.load + local.get 3 + i32.gt_u + br_if 0 (;@5;) + local.get 0 + call $_ZN8dlmalloc8dlmalloc7Segment3top17hdd4d160761d7a4c1E + local.get 3 + i32.gt_u + br_if 2 (;@3;) + end + local.get 0 + i32.load offset=8 + local.tee 0 + br_if 0 (;@4;) + end + i32.const 0 + local.set 0 + end + local.get 0 + call $_ZN8dlmalloc8dlmalloc7Segment3top17hdd4d160761d7a4c1E + local.tee 4 + i32.const 20 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 4 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.tee 10 + i32.sub + i32.const -23 + i32.add + local.set 0 + local.get 3 + local.get 0 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E + local.tee 7 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.get 7 + i32.sub + i32.add + local.tee 0 + local.get 0 + local.get 3 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + i32.add + i32.lt_u + select + local.tee 7 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E + local.set 9 + local.get 7 + local.get 10 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + local.set 0 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hb4f8ba9389e35f03E + local.tee 11 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 12 i32.const 20 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 7 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 13 i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 14 i32.const 0 local.get 6 local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E - local.tee 0 + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E + local.tee 15 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.get 0 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.get 15 i32.sub - local.tee 10 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - local.tee 0 - i32.store offset=1051772 + local.tee 16 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + local.tee 15 + i32.store offset=1051464 i32.const 0 - local.get 3 + local.get 11 local.get 5 i32.add - local.get 8 - local.get 4 - local.get 7 + 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=1051456 + local.get 15 + local.get 11 + i32.const 1 + i32.or + i32.store offset=4 + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hb4f8ba9389e35f03E + local.tee 12 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 13 + i32.const 20 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 14 + i32.const 16 + i32.const 8 + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE + local.set 16 + local.get 15 + local.get 11 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + 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=1051476 + local.get 7 local.get 10 + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hc6d12ed1fddec215E + i32.const 0 + i64.load offset=1051164 align=4 + local.set 17 + local.get 9 + i32.const 8 i32.add + i32.const 0 + i64.load offset=1051172 align=4 + i64.store align=4 + local.get 9 + local.get 17 + i64.store align=4 + i32.const 0 + local.get 8 + i32.store offset=1051176 + i32.const 0 + local.get 5 + i32.store offset=1051168 + i32.const 0 + local.get 6 + i32.store offset=1051164 + i32.const 0 + local.get 9 + i32.store offset=1051172 + loop ;; label = @3 + local.get 0 + i32.const 4 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + local.set 6 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk14fencepost_head17h9c894b28b6a333e9E + 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 (;@3;) + end + local.get 7 + local.get 3 + i32.eq + br_if 0 (;@2;) + local.get 7 + local.get 3 i32.sub - local.tee 6 - i32.store offset=1051764 + local.set 0 + local.get 3 + local.get 0 + local.get 3 + local.get 0 + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E + call $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h1e6a59985180e994E + block ;; label = @3 + local.get 0 + i32.const 256 + i32.lt_u + br_if 0 (;@3;) + local.get 3 + local.get 0 + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18insert_large_chunk17hc73af8a4cd0b31d7E + br 1 (;@2;) + end local.get 0 + i32.const -8 + i32.and + i32.const 1051180 + i32.add + local.set 6 + block ;; label = @3 + block ;; label = @4 + i32.const 0 + i32.load offset=1051444 + local.tee 4 + i32.const 1 + local.get 0 + i32.const 3 + i32.shr_u + i32.shl + local.tee 0 + i32.and + br_if 0 (;@4;) + i32.const 0 + local.get 4 + local.get 0 + i32.or + i32.store offset=1051444 + local.get 6 + local.set 0 + br 1 (;@3;) + end + local.get 6 + i32.load offset=8 + local.set 0 + end local.get 6 - i32.const 1 - i32.or - i32.store offset=4 - call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17h2818126ab4d4ccc1E - local.tee 3 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 4 - i32.const 20 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 5 - i32.const 16 - i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E - local.set 7 + local.get 3 + i32.store offset=8 local.get 0 + local.get 3 + i32.store offset=12 + local.get 3 local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE - local.get 7 - local.get 5 - local.get 4 + i32.store offset=12 local.get 3 - i32.sub - i32.add - i32.add - i32.store offset=4 - i32.const 0 - i32.const 2097152 - i32.store offset=1051784 + local.get 0 + i32.store offset=8 end i32.const 0 local.set 6 i32.const 0 - i32.load offset=1051764 + i32.load offset=1051456 local.tee 0 local.get 2 i32.le_u @@ -15552,15 +14644,15 @@ local.get 2 i32.sub local.tee 6 - i32.store offset=1051764 + i32.store offset=1051456 i32.const 0 i32.const 0 - i32.load offset=1051772 + i32.load offset=1051464 local.tee 0 local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E local.tee 3 - i32.store offset=1051772 + i32.store offset=1051464 local.get 3 local.get 6 i32.const 1 @@ -15568,9 +14660,9 @@ i32.store offset=4 local.get 0 local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17h4a3baeef63b4aae1E + call $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hc6d12ed1fddec215E local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E local.set 6 end local.get 1 @@ -15578,49 +14670,49 @@ i32.add global.set $__stack_pointer local.get 6) - (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8init_top17h9f173f15516b6497E (type 0) (param i32 i32) + (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8init_top17haeeb56bfbe3f1e70E (type 0) (param i32 i32) (local i32 i32 i32 i32) local.get 0 local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E local.tee 2 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.get 2 i32.sub local.tee 2 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E local.set 0 i32.const 0 local.get 1 local.get 2 i32.sub local.tee 1 - i32.store offset=1051764 + i32.store offset=1051456 i32.const 0 local.get 0 - i32.store offset=1051772 + i32.store offset=1051464 local.get 0 local.get 1 i32.const 1 i32.or i32.store offset=4 - call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17h2818126ab4d4ccc1E + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hb4f8ba9389e35f03E local.tee 2 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.set 3 i32.const 20 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.set 4 i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.set 5 local.get 0 local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E local.get 5 local.get 4 local.get 3 @@ -15631,33 +14723,33 @@ i32.store offset=4 i32.const 0 i32.const 2097152 - i32.store offset=1051784) - (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17h4975f1e1d24aff71E (type 2) (param i32 i32) (result i32) + i32.store offset=1051476) + (func $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17h95037d0abac42865E (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_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.get 0 i32.le_u br_if 0 (;@1;) i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.set 0 end - call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17h2818126ab4d4ccc1E + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hb4f8ba9389e35f03E local.tee 2 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.set 3 i32.const 20 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.set 4 i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.set 5 i32.const 0 local.set 6 @@ -15665,7 +14757,7 @@ i32.const 0 i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE i32.const 2 i32.shl i32.sub @@ -15700,28 +14792,28 @@ i32.add i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE i32.const -5 i32.add local.get 1 i32.gt_u select i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.tee 3 i32.add i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE i32.add i32.const -4 i32.add - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h77bc0faa7fd9e29bE + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h464a2d96faf011fdE local.tee 2 i32.eqz br_if 0 (;@1;) local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17h580b9f140f06bda7E + call $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17h979df28b2facc7dcE local.set 1 block ;; label = @2 block ;; label = @3 @@ -15743,14 +14835,14 @@ local.get 0 i32.sub i32.and - call $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17h580b9f140f06bda7E + call $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17h979df28b2facc7dcE local.set 6 i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.set 2 local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E local.get 6 i32.const 0 local.get 0 @@ -15769,17 +14861,17 @@ local.set 2 block ;; label = @3 local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17h78a75c1ab0261090E + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17hc9e33fd0b0c5432fE br_if 0 (;@3;) local.get 0 local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h11955a4ac5122936E + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h6303961e692a6b87E local.get 1 local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h11955a4ac5122936E + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h6303961e692a6b87E local.get 1 local.get 6 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17h814c7cfd84378e6aE + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17h0b25ee30658eb07bE br 1 (;@2;) end local.get 1 @@ -15796,48 +14888,48 @@ end block ;; label = @2 local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17h78a75c1ab0261090E + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17hc9e33fd0b0c5432fE br_if 0 (;@2;) local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E local.tee 1 i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.get 3 i32.add i32.le_u br_if 0 (;@2;) local.get 0 local.get 3 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E local.set 6 local.get 0 local.get 3 - call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h11955a4ac5122936E + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h6303961e692a6b87E local.get 6 local.get 1 local.get 3 i32.sub local.tee 1 - call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h11955a4ac5122936E + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h6303961e692a6b87E local.get 6 local.get 1 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17h814c7cfd84378e6aE + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17h0b25ee30658eb07bE end local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E local.set 6 local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17h78a75c1ab0261090E + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17hc9e33fd0b0c5432fE drop end local.get 6) - (func $_ZN3std10sys_common9backtrace26__rust_end_short_backtrace17h04fac26f88d230dfE (type 6) (param i32) + (func $_ZN3std10sys_common9backtrace26__rust_end_short_backtrace17hf9e2f055fb5ef672E (type 7) (param i32) local.get 0 - call $_ZN3std9panicking19begin_panic_handler28_$u7b$$u7b$closure$u7d$$u7d$17he405aaeb801d5772E + call $_ZN3std9panicking19begin_panic_handler28_$u7b$$u7b$closure$u7d$$u7d$17hc07db454214d2c87E unreachable) - (func $_ZN3std9panicking19begin_panic_handler28_$u7b$$u7b$closure$u7d$$u7d$17he405aaeb801d5772E (type 6) (param i32) + (func $_ZN3std9panicking19begin_panic_handler28_$u7b$$u7b$closure$u7d$$u7d$17hc07db454214d2c87E (type 7) (param i32) (local i32 i32 i32) global.get $__stack_pointer i32.const 16 @@ -15861,7 +14953,7 @@ end local.get 3 br_if 2 (;@1;) - i32.const 1050492 + i32.const 1050116 local.set 2 i32.const 0 local.set 3 @@ -15885,16 +14977,18 @@ local.get 2 i32.store local.get 1 - i32.const 1050676 + i32.const 1050368 local.get 0 i32.load offset=4 local.tee 2 - call $_ZN4core5panic10panic_info9PanicInfo7message17ha3c0b951fa489593E + call $_ZN4core5panic10panic_info9PanicInfo7message17hd4c13a2e438e62f2E local.get 0 i32.load offset=8 local.get 2 - call $_ZN4core5panic10panic_info9PanicInfo10can_unwind17h75205550bb42d21cE - call $_ZN3std9panicking20rust_panic_with_hook17h7601402c0a383194E + call $_ZN4core5panic10panic_info9PanicInfo10can_unwind17h28bb5a3a95a12ae3E + local.get 2 + i32.load8_u offset=17 + call $_ZN3std9panicking20rust_panic_with_hook17hbf46ef0245cc9589E unreachable end local.get 1 @@ -15904,18 +14998,20 @@ local.get 2 i32.store local.get 1 - i32.const 1050696 + i32.const 1050388 local.get 0 i32.load offset=4 local.tee 2 - call $_ZN4core5panic10panic_info9PanicInfo7message17ha3c0b951fa489593E + call $_ZN4core5panic10panic_info9PanicInfo7message17hd4c13a2e438e62f2E local.get 0 i32.load offset=8 local.get 2 - call $_ZN4core5panic10panic_info9PanicInfo10can_unwind17h75205550bb42d21cE - call $_ZN3std9panicking20rust_panic_with_hook17h7601402c0a383194E + call $_ZN4core5panic10panic_info9PanicInfo10can_unwind17h28bb5a3a95a12ae3E + local.get 2 + i32.load8_u offset=17 + call $_ZN3std9panicking20rust_panic_with_hook17hbf46ef0245cc9589E unreachable) - (func $_ZN3std5alloc24default_alloc_error_hook17hab840010b11b64ffE (type 0) (param i32 i32) + (func $_ZN3std5alloc24default_alloc_error_hook17hc2a71c6bbbdfc2afE (type 0) (param i32 i32) (local i32) global.get $__stack_pointer i32.const 48 @@ -15924,41 +15020,41 @@ global.set $__stack_pointer block ;; label = @1 i32.const 0 - i32.load8_u offset=1051316 + i32.load8_u offset=1051008 i32.eqz br_if 0 (;@1;) local.get 2 - i32.const 20 + i32.const 24 i32.add i64.const 1 i64.store align=4 local.get 2 i32.const 2 - i32.store offset=12 + i32.store offset=16 local.get 2 - i32.const 1050528 - i32.store offset=8 + i32.const 1050220 + i32.store offset=12 local.get 2 i32.const 2 - i32.store offset=36 + i32.store offset=40 local.get 2 local.get 1 i32.store offset=44 local.get 2 local.get 2 - i32.const 32 + i32.const 36 i32.add - i32.store offset=16 + i32.store offset=20 local.get 2 local.get 2 i32.const 44 i32.add - i32.store offset=32 + i32.store offset=36 local.get 2 - i32.const 8 + i32.const 12 i32.add - i32.const 1050568 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E + i32.const 1050260 + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE unreachable end local.get 2 @@ -15973,14 +15069,14 @@ br_if 0 (;@1;) local.get 1 local.get 0 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17h4975f1e1d24aff71E + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17h95037d0abac42865E return end local.get 0 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h77bc0faa7fd9e29bE) + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h464a2d96faf011fdE) (func $__rdl_dealloc (type 3) (param i32 i32 i32) local.get 0 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h38a840ecb1c1c0fbE) + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h0a66a05f2e0e0048E) (func $__rdl_realloc (type 11) (param i32 i32 i32 i32) (result i32) (local i32 i32 i32 i32 i32 i32) block ;; label = @1 @@ -15995,31 +15091,31 @@ br_if 0 (;@6;) local.get 2 local.get 3 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17h4975f1e1d24aff71E + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17h95037d0abac42865E local.tee 2 br_if 1 (;@5;) i32.const 0 return end - call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17h2818126ab4d4ccc1E + call $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hb4f8ba9389e35f03E local.tee 1 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.set 4 i32.const 20 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.set 5 i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.set 6 i32.const 0 local.set 2 i32.const 0 i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE i32.const 2 i32.shl i32.sub @@ -16051,23 +15147,23 @@ i32.add i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE i32.const -5 i32.add local.get 3 i32.gt_u select i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.set 4 local.get 0 - call $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17h580b9f140f06bda7E + call $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17h979df28b2facc7dcE local.set 1 local.get 1 local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E local.tee 5 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E local.set 6 block ;; label = @6 block ;; label = @7 @@ -16077,7 +15173,7 @@ block ;; label = @11 block ;; label = @12 local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17h78a75c1ab0261090E + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17hc9e33fd0b0c5432fE br_if 0 (;@12;) local.get 5 local.get 4 @@ -16085,19 +15181,19 @@ br_if 4 (;@8;) local.get 6 i32.const 0 - i32.load offset=1051772 + i32.load offset=1051464 i32.eq br_if 6 (;@6;) local.get 6 i32.const 0 - i32.load offset=1051768 + i32.load offset=1051460 i32.eq br_if 3 (;@9;) local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk6cinuse17h1ffe85bfa307cbe6E + call $_ZN8dlmalloc8dlmalloc5Chunk6cinuse17hb4677a5fcbb82422E br_if 9 (;@3;) local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E local.tee 7 local.get 5 i32.add @@ -16114,11 +15210,11 @@ i32.lt_u br_if 1 (;@11;) local.get 6 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17hb47d8811580bf409E + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$18unlink_large_chunk17h057503926679f426E br 2 (;@10;) end local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E local.set 5 local.get 4 i32.const 256 @@ -16138,7 +15234,7 @@ i32.lt_u br_if 5 (;@7;) end - i32.const 1051344 + i32.const 1051488 local.get 1 local.get 1 i32.load @@ -16153,12 +15249,12 @@ local.get 4 i32.const 31 i32.add - i32.const 1051344 - call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$9page_size17hb3843d9dc082c5b9E - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + i32.const 1051488 + call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$9page_size17h459e98b74b287111E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE local.tee 5 i32.const 1 - call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$5remap17hdb996963ff5d078cE + call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$5remap17hcd1e52d496e8313fE local.tee 4 i32.eqz br_if 8 (;@3;) @@ -16174,49 +15270,49 @@ i32.add local.tee 2 i32.store offset=4 - call $_ZN8dlmalloc8dlmalloc5Chunk14fencepost_head17h782694e16a323064E + call $_ZN8dlmalloc8dlmalloc5Chunk14fencepost_head17h9c894b28b6a333e9E local.set 0 local.get 1 local.get 2 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E local.get 0 i32.store offset=4 local.get 1 local.get 3 i32.const -12 i32.add - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E i32.const 0 i32.store offset=4 i32.const 0 i32.const 0 - i32.load offset=1051776 + i32.load offset=1051468 local.get 5 local.get 7 i32.sub i32.add local.tee 3 - i32.store offset=1051776 + i32.store offset=1051468 i32.const 0 i32.const 0 - i32.load offset=1051788 + i32.load offset=1051480 local.tee 2 local.get 4 local.get 4 local.get 2 i32.gt_u select - i32.store offset=1051788 + i32.store offset=1051480 i32.const 0 i32.const 0 - i32.load offset=1051780 + i32.load offset=1051472 local.tee 2 local.get 3 local.get 2 local.get 3 i32.gt_u select - i32.store offset=1051780 + i32.store offset=1051472 br 10 (;@1;) end block ;; label = @11 @@ -16242,48 +15338,48 @@ end i32.const 0 i32.const 0 - i32.load offset=1051752 + i32.load offset=1051444 i32.const -2 local.get 7 i32.const 3 i32.shr_u i32.rotl i32.and - i32.store offset=1051752 + i32.store offset=1051444 end block ;; label = @10 local.get 8 i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE i32.lt_u br_if 0 (;@10;) local.get 1 local.get 4 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E local.set 5 local.get 1 local.get 4 - call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h11955a4ac5122936E + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h6303961e692a6b87E local.get 5 local.get 8 - call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h11955a4ac5122936E + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h6303961e692a6b87E local.get 5 local.get 8 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17h814c7cfd84378e6aE + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17h0b25ee30658eb07bE local.get 1 br_if 9 (;@1;) br 7 (;@3;) end local.get 1 local.get 5 - call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h11955a4ac5122936E + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h6303961e692a6b87E local.get 1 br_if 8 (;@1;) br 6 (;@3;) end i32.const 0 - i32.load offset=1051760 + i32.load offset=1051452 local.get 5 i32.add local.tee 5 @@ -16298,12 +15394,12 @@ local.tee 6 i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE i32.ge_u br_if 0 (;@10;) local.get 1 local.get 5 - call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h11955a4ac5122936E + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h6303961e692a6b87E i32.const 0 local.set 6 i32.const 0 @@ -16312,26 +15408,26 @@ end local.get 1 local.get 4 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E local.tee 5 local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E local.set 7 local.get 1 local.get 4 - call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h11955a4ac5122936E + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h6303961e692a6b87E local.get 5 local.get 6 - call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17habe76bbe555b1e73E + call $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17hb8c49fbc662a8751E local.get 7 - call $_ZN8dlmalloc8dlmalloc5Chunk12clear_pinuse17h0b911081ee46f5e4E + call $_ZN8dlmalloc8dlmalloc5Chunk12clear_pinuse17ha5f0a52b38d69e23E end i32.const 0 local.get 5 - i32.store offset=1051768 + i32.store offset=1051460 i32.const 0 local.get 6 - i32.store offset=1051760 + i32.store offset=1051452 local.get 1 br_if 7 (;@1;) br 5 (;@3;) @@ -16342,29 +15438,29 @@ local.tee 5 i32.const 16 i32.const 8 - call $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E + call $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE i32.lt_u br_if 0 (;@7;) local.get 1 local.get 4 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E local.set 6 local.get 1 local.get 4 - call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h11955a4ac5122936E + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h6303961e692a6b87E local.get 6 local.get 5 - call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h11955a4ac5122936E + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h6303961e692a6b87E local.get 6 local.get 5 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17h814c7cfd84378e6aE + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$13dispose_chunk17h0b25ee30658eb07bE end local.get 1 br_if 5 (;@1;) br 3 (;@3;) end i32.const 0 - i32.load offset=1051764 + i32.load offset=1051456 local.get 5 i32.add local.tee 5 @@ -16384,16 +15480,16 @@ call $memcpy drop local.get 0 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h38a840ecb1c1c0fbE + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h0a66a05f2e0e0048E br 2 (;@2;) end local.get 1 local.get 4 - call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE + call $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E local.set 6 local.get 1 local.get 4 - call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h11955a4ac5122936E + call $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h6303961e692a6b87E local.get 6 local.get 5 local.get 4 @@ -16404,26 +15500,26 @@ i32.store offset=4 i32.const 0 local.get 4 - i32.store offset=1051764 + i32.store offset=1051456 i32.const 0 local.get 6 - i32.store offset=1051772 + i32.store offset=1051464 local.get 1 br_if 2 (;@1;) end local.get 3 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h77bc0faa7fd9e29bE + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h464a2d96faf011fdE local.tee 4 i32.eqz br_if 0 (;@2;) local.get 4 local.get 0 local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E + call $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E i32.const -8 i32.const -4 local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17h78a75c1ab0261090E + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17hc9e33fd0b0c5432fE select i32.add local.tee 2 @@ -16435,7 +15531,7 @@ call $memcpy local.set 3 local.get 0 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h38a840ecb1c1c0fbE + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$4free17h0a66a05f2e0e0048E local.get 3 return end @@ -16443,10 +15539,10 @@ return end local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17h78a75c1ab0261090E + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17hc9e33fd0b0c5432fE drop local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E) + call $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E) (func $__rdl_alloc_zeroed (type 2) (param i32 i32) (result i32) block ;; label = @1 block ;; label = @2 @@ -16456,12 +15552,12 @@ br_if 0 (;@2;) local.get 1 local.get 0 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17h4975f1e1d24aff71E + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$8memalign17h95037d0abac42865E local.set 1 br 1 (;@1;) end local.get 0 - call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h77bc0faa7fd9e29bE + call $_ZN8dlmalloc8dlmalloc17Dlmalloc$LT$A$GT$6malloc17h464a2d96faf011fdE local.set 1 end block ;; label = @1 @@ -16469,13 +15565,13 @@ i32.eqz br_if 0 (;@1;) block ;; label = @2 - i32.const 1051344 - call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$15allocates_zeros17h598c0d26e9d865e2E + i32.const 1051488 + call $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$15allocates_zeros17h7dd58abcff7a9dfdE i32.eqz br_if 0 (;@2;) local.get 1 - call $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17h580b9f140f06bda7E - call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17h78a75c1ab0261090E + call $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17h979df28b2facc7dcE + call $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17hc9e33fd0b0c5432fE br_if 1 (;@1;) end local.get 1 @@ -16485,7 +15581,7 @@ drop end local.get 1) - (func $rust_begin_unwind (type 6) (param i32) + (func $rust_begin_unwind (type 7) (param i32) (local i32 i32 i32) global.get $__stack_pointer i32.const 16 @@ -16495,40 +15591,42 @@ block ;; label = @1 block ;; label = @2 local.get 0 - call $_ZN4core5panic10panic_info9PanicInfo8location17h1ccdb1bf0bb693f4E + call $_ZN4core5panic10panic_info9PanicInfo8location17hd4d0a91e5314f4e9E local.tee 2 i32.eqz br_if 0 (;@2;) local.get 0 - call $_ZN4core5panic10panic_info9PanicInfo7message17ha3c0b951fa489593E + call $_ZN4core5panic10panic_info9PanicInfo7message17hd4c13a2e438e62f2E local.tee 3 i32.eqz br_if 1 (;@1;) local.get 1 local.get 2 - i32.store offset=8 + i32.store offset=12 local.get 1 local.get 0 - i32.store offset=4 + i32.store offset=8 local.get 1 local.get 3 - i32.store + i32.store offset=4 local.get 1 - call $_ZN3std10sys_common9backtrace26__rust_end_short_backtrace17h04fac26f88d230dfE + i32.const 4 + i32.add + call $_ZN3std10sys_common9backtrace26__rust_end_short_backtrace17hf9e2f055fb5ef672E unreachable end - i32.const 1050425 + i32.const 1050116 i32.const 43 - i32.const 1050612 - call $_ZN4core9panicking5panic17hfd6e422134ee8ce5E + i32.const 1050304 + call $_ZN4core9panicking5panic17hb41dbc4083d9884eE unreachable end - i32.const 1050425 + i32.const 1050116 i32.const 43 - i32.const 1050628 - call $_ZN4core9panicking5panic17hfd6e422134ee8ce5E + i32.const 1050320 + call $_ZN4core9panicking5panic17hb41dbc4083d9884eE unreachable) - (func $_ZN90_$LT$std..panicking..begin_panic_handler..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$8take_box17h910c38d4f578a2b7E (type 0) (param i32 i32) + (func $_ZN102_$LT$std..panicking..begin_panic_handler..FormatStringPayload$u20$as$u20$core..panic..PanicPayload$GT$8take_box17h5929bfcf172a673bE (type 0) (param i32 i32) (local i32 i32 i32 i32 i64) global.get $__stack_pointer i32.const 48 @@ -16547,7 +15645,7 @@ i32.load local.set 4 local.get 2 - i32.const 32 + i32.const 36 i32.add i32.const 8 i32.add @@ -16556,21 +15654,16 @@ i32.store local.get 2 i64.const 1 - i64.store offset=32 + i64.store offset=36 align=4 local.get 2 - local.get 2 - i32.const 32 - i32.add - i32.store offset=44 - local.get 2 - i32.const 44 + i32.const 36 i32.add - i32.const 1050468 + i32.const 1050160 local.get 4 - call $_ZN4core3fmt5write17hce4d120ebbfb2b82E + call $_ZN4core3fmt5write17h362bec5724a70484E drop local.get 2 - i32.const 16 + i32.const 24 i32.add i32.const 8 i32.add @@ -16580,9 +15673,9 @@ i32.store local.get 2 local.get 2 - i64.load offset=32 + i64.load offset=36 align=4 local.tee 6 - i64.store offset=16 + i64.store offset=24 local.get 3 i32.const 8 i32.add @@ -16595,6 +15688,8 @@ local.get 2 i32.const 8 i32.add + i32.const 8 + i32.add local.tee 4 local.get 3 i32.const 8 @@ -16613,11 +15708,11 @@ i64.const 1 i64.store offset=4 align=4 i32.const 0 - i32.load8_u offset=1051317 + i32.load8_u offset=1051009 drop local.get 2 local.get 6 - i64.store + i64.store offset=8 block ;; label = @1 i32.const 12 i32.const 4 @@ -16626,12 +15721,12 @@ br_if 0 (;@1;) i32.const 4 i32.const 12 - call $_ZN5alloc5alloc18handle_alloc_error17hbbf685130f283420E + call $_ZN5alloc5alloc18handle_alloc_error17h0853c609cdf121f4E unreachable end local.get 1 local.get 2 - i64.load + i64.load offset=8 i64.store align=4 local.get 1 i32.const 8 @@ -16640,7 +15735,7 @@ i32.load i32.store local.get 0 - i32.const 1050644 + i32.const 1050336 i32.store offset=4 local.get 0 local.get 1 @@ -16649,7 +15744,7 @@ 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$3get17hdf52e0f41fcdce1bE (type 0) (param i32 i32) + (func $_ZN102_$LT$std..panicking..begin_panic_handler..FormatStringPayload$u20$as$u20$core..panic..PanicPayload$GT$3get17ha6f02a3978ce3c39E (type 0) (param i32 i32) (local i32 i32 i32 i64) global.get $__stack_pointer i32.const 32 @@ -16668,7 +15763,7 @@ i32.load local.set 1 local.get 2 - i32.const 16 + i32.const 20 i32.add i32.const 8 i32.add @@ -16677,31 +15772,28 @@ i32.store local.get 2 i64.const 1 - i64.store offset=16 - local.get 2 - local.get 2 - i32.const 16 - i32.add - i32.store offset=28 + i64.store offset=20 align=4 local.get 2 - i32.const 28 + i32.const 20 i32.add - i32.const 1050468 + i32.const 1050160 local.get 1 - call $_ZN4core3fmt5write17hce4d120ebbfb2b82E + call $_ZN4core3fmt5write17h362bec5724a70484E drop local.get 2 i32.const 8 i32.add + 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 + i64.load offset=20 align=4 local.tee 5 - i64.store + i64.store offset=8 local.get 3 i32.const 8 i32.add @@ -16712,7 +15804,7 @@ i64.store align=4 end local.get 0 - i32.const 1050644 + i32.const 1050336 i32.store offset=4 local.get 0 local.get 3 @@ -16721,10 +15813,10 @@ 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_box17hb935537982794978E (type 0) (param i32 i32) + (func $_ZN99_$LT$std..panicking..begin_panic_handler..StaticStrPayload$u20$as$u20$core..panic..PanicPayload$GT$8take_box17he8029361236923d4E (type 0) (param i32 i32) (local i32 i32) i32.const 0 - i32.load8_u offset=1051317 + i32.load8_u offset=1051009 drop local.get 1 i32.load offset=4 @@ -16740,7 +15832,7 @@ br_if 0 (;@1;) i32.const 4 i32.const 8 - call $_ZN5alloc5alloc18handle_alloc_error17hbbf685130f283420E + call $_ZN5alloc5alloc18handle_alloc_error17h0853c609cdf121f4E unreachable end local.get 1 @@ -16750,113 +15842,116 @@ local.get 3 i32.store local.get 0 - i32.const 1050660 + i32.const 1050352 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$3get17h5a47fb41c3bdfcd5E (type 0) (param i32 i32) + (func $_ZN99_$LT$std..panicking..begin_panic_handler..StaticStrPayload$u20$as$u20$core..panic..PanicPayload$GT$3get17hc439086ced5b4208E (type 0) (param i32 i32) local.get 0 - i32.const 1050660 + i32.const 1050352 i32.store offset=4 local.get 0 local.get 1 i32.store) - (func $_ZN3std9panicking20rust_panic_with_hook17h7601402c0a383194E (type 5) (param i32 i32 i32 i32 i32) + (func $_ZN3std9panicking20rust_panic_with_hook17hbf46ef0245cc9589E (type 5) (param i32 i32 i32 i32 i32 i32) (local i32 i32) global.get $__stack_pointer i32.const 32 i32.sub - local.tee 5 + local.tee 6 global.set $__stack_pointer i32.const 0 i32.const 0 - i32.load offset=1051340 - local.tee 6 + i32.load offset=1051032 + local.tee 7 i32.const 1 i32.add - i32.store offset=1051340 + i32.store offset=1051032 block ;; label = @1 block ;; label = @2 - local.get 6 + local.get 7 i32.const 0 i32.lt_s br_if 0 (;@2;) i32.const 0 - i32.load8_u offset=1051800 + i32.load8_u offset=1051492 i32.const 255 i32.and br_if 0 (;@2;) i32.const 0 i32.const 1 - i32.store8 offset=1051800 + i32.store8 offset=1051492 i32.const 0 i32.const 0 - i32.load offset=1051796 + i32.load offset=1051488 i32.const 1 i32.add - i32.store offset=1051796 - local.get 5 - local.get 2 - i32.store offset=20 - local.get 5 - i32.const 1050716 - i32.store offset=12 - local.get 5 - i32.const 1050492 - i32.store offset=8 + i32.store offset=1051488 + local.get 6 local.get 5 + i32.store8 offset=29 + local.get 6 local.get 4 - i32.store8 offset=24 - local.get 5 + i32.store8 offset=28 + local.get 6 local.get 3 + i32.store offset=24 + local.get 6 + local.get 2 + i32.store offset=20 + local.get 6 + i32.const 1050408 i32.store offset=16 + local.get 6 + i32.const 1050116 + i32.store offset=12 i32.const 0 - i32.load offset=1051324 - local.tee 6 + i32.load offset=1051016 + local.tee 7 i32.const -1 i32.le_s br_if 0 (;@2;) i32.const 0 - local.get 6 + local.get 7 i32.const 1 i32.add - i32.store offset=1051324 + i32.store offset=1051016 block ;; label = @3 i32.const 0 - i32.load offset=1051332 + i32.load offset=1051024 i32.eqz br_if 0 (;@3;) - local.get 5 + local.get 6 local.get 0 local.get 1 i32.load offset=16 call_indirect (type 0) - local.get 5 - local.get 5 + local.get 6 + local.get 6 i64.load - i64.store offset=8 + i64.store offset=12 align=4 i32.const 0 - i32.load offset=1051332 - local.get 5 - i32.const 8 + i32.load offset=1051024 + local.get 6 + i32.const 12 i32.add i32.const 0 - i32.load offset=1051336 + i32.load offset=1051028 i32.load offset=20 call_indirect (type 0) i32.const 0 - i32.load offset=1051324 + i32.load offset=1051016 i32.const -1 i32.add - local.set 6 + local.set 7 end i32.const 0 - local.get 6 - i32.store offset=1051324 + local.get 7 + i32.store offset=1051016 i32.const 0 i32.const 0 - i32.store8 offset=1051800 + i32.store8 offset=1051492 local.get 4 br_if 1 (;@1;) end @@ -16879,9 +15974,9 @@ local.get 1 local.get 0 i32.const 0 - i32.load offset=1051320 + i32.load offset=1051012 local.tee 2 - i32.const 14 + i32.const 10 local.get 2 select call_indirect (type 0) @@ -16890,7 +15985,7 @@ (func $__rust_start_panic (type 2) (param i32 i32) (result i32) unreachable unreachable) - (func $_ZN8dlmalloc8dlmalloc8align_up17h0e87fd8a6d5b4dd0E (type 2) (param i32 i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc8align_up17hf58412c808f1bdfcE (type 2) (param i32 i32) (result i32) local.get 0 local.get 1 i32.add @@ -16900,7 +15995,7 @@ local.get 1 i32.sub i32.and) - (func $_ZN8dlmalloc8dlmalloc9left_bits17h4d52756c14d62f33E (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc9left_bits17hfd760f4678f8d918E (type 4) (param i32) (result i32) local.get 0 i32.const 1 i32.shl @@ -16909,13 +16004,13 @@ local.get 0 i32.sub i32.or) - (func $_ZN8dlmalloc8dlmalloc9least_bit17hc206cf4e014f3c55E (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc9least_bit17h6d1d38bf68f60a15E (type 4) (param i32) (result i32) i32.const 0 local.get 0 i32.sub local.get 0 i32.and) - (func $_ZN8dlmalloc8dlmalloc24leftshift_for_tree_index17hbd308eba79453696E (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc24leftshift_for_tree_index17he8264d4c8bb74329E (type 4) (param i32) (result i32) i32.const 0 i32.const 25 local.get 0 @@ -16926,46 +16021,46 @@ i32.const 31 i32.eq select) - (func $_ZN8dlmalloc8dlmalloc5Chunk14fencepost_head17h782694e16a323064E (type 12) (result i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk14fencepost_head17h9c894b28b6a333e9E (type 12) (result i32) i32.const 7) - (func $_ZN8dlmalloc8dlmalloc5Chunk4size17h7f97819e0e1a81b6E (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk4size17h6ea85aca232e3ec5E (type 4) (param i32) (result i32) local.get 0 i32.load offset=4 i32.const -8 i32.and) - (func $_ZN8dlmalloc8dlmalloc5Chunk6cinuse17h1ffe85bfa307cbe6E (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk6cinuse17hb4677a5fcbb82422E (type 4) (param i32) (result i32) local.get 0 i32.load8_u offset=4 i32.const 2 i32.and i32.const 1 i32.shr_u) - (func $_ZN8dlmalloc8dlmalloc5Chunk6pinuse17hc6c9f01d2e3fbf67E (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk6pinuse17hb674a446c3254c29E (type 4) (param i32) (result i32) local.get 0 i32.load offset=4 i32.const 1 i32.and) - (func $_ZN8dlmalloc8dlmalloc5Chunk12clear_pinuse17h0b911081ee46f5e4E (type 6) (param i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk12clear_pinuse17ha5f0a52b38d69e23E (type 7) (param i32) local.get 0 local.get 0 i32.load offset=4 i32.const -2 i32.and i32.store offset=4) - (func $_ZN8dlmalloc8dlmalloc5Chunk5inuse17h6a9390afcf3c4f59E (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk5inuse17h18988138fdbf78b6E (type 4) (param i32) (result i32) local.get 0 i32.load offset=4 i32.const 3 i32.and i32.const 1 i32.ne) - (func $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17h78a75c1ab0261090E (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk7mmapped17hc9e33fd0b0c5432fE (type 4) (param i32) (result i32) local.get 0 i32.load8_u offset=4 i32.const 3 i32.and i32.eqz) - (func $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h11955a4ac5122936E (type 0) (param i32 i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk9set_inuse17h6303961e692a6b87E (type 0) (param i32 i32) local.get 0 local.get 0 i32.load offset=4 @@ -16985,7 +16080,7 @@ i32.const 1 i32.or i32.store offset=4) - (func $_ZN8dlmalloc8dlmalloc5Chunk20set_inuse_and_pinuse17hc87585256ab7e20fE (type 0) (param i32 i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk20set_inuse_and_pinuse17hb5017cd9994d56b7E (type 0) (param i32 i32) local.get 0 local.get 1 i32.const 3 @@ -17000,13 +16095,13 @@ i32.const 1 i32.or i32.store offset=4) - (func $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17h4a3baeef63b4aae1E (type 0) (param i32 i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk34set_size_and_pinuse_of_inuse_chunk17hc6d12ed1fddec215E (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_chunk17habe76bbe555b1e73E (type 0) (param i32 i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk33set_size_and_pinuse_of_free_chunk17hb8c49fbc662a8751E (type 0) (param i32 i32) local.get 0 local.get 1 i32.const 1 @@ -17017,7 +16112,7 @@ i32.add local.get 1 i32.store) - (func $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h2b5f242508300075E (type 3) (param i32 i32 i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk20set_free_with_pinuse17h1e6a59985180e994E (type 3) (param i32 i32 i32) local.get 2 local.get 2 i32.load offset=4 @@ -17034,25 +16129,25 @@ i32.add local.get 1 i32.store) - (func $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h9b67d52a46bbff2cE (type 2) (param i32 i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk11plus_offset17h10af76c6d2e34d25E (type 2) (param i32 i32) (result i32) local.get 0 local.get 1 i32.add) - (func $_ZN8dlmalloc8dlmalloc5Chunk12minus_offset17h9670d4355605a879E (type 2) (param i32 i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk12minus_offset17hc4a0fdc2ff1abc38E (type 2) (param i32 i32) (result i32) local.get 0 local.get 1 i32.sub) - (func $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17hc02bf0af126119c0E (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk6to_mem17h50c7b3bad37923f8E (type 4) (param i32) (result i32) local.get 0 i32.const 8 i32.add) - (func $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17h2818126ab4d4ccc1E (type 12) (result i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk10mem_offset17hb4f8ba9389e35f03E (type 12) (result i32) i32.const 8) - (func $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17h580b9f140f06bda7E (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc5Chunk8from_mem17h979df28b2facc7dcE (type 4) (param i32) (result i32) local.get 0 i32.const -8 i32.add) - (func $_ZN8dlmalloc8dlmalloc9TreeChunk14leftmost_child17h1ae27d38517e0e1cE (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc9TreeChunk14leftmost_child17h6480385e5d33dc8cE (type 4) (param i32) (result i32) (local i32) block ;; label = @1 local.get 0 @@ -17066,25 +16161,25 @@ local.set 1 end local.get 1) - (func $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17h4562a4235ab5a16eE (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc9TreeChunk5chunk17hdd6a267a52100ff9E (type 4) (param i32) (result i32) local.get 0) - (func $_ZN8dlmalloc8dlmalloc9TreeChunk4next17h1b01b32aed8bcb04E (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc9TreeChunk4next17h0948dbff5b1fa27aE (type 4) (param i32) (result i32) local.get 0 i32.load offset=12) - (func $_ZN8dlmalloc8dlmalloc9TreeChunk4prev17h2dd3935342ae5ab3E (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc9TreeChunk4prev17hb7068ddb0a3bc75dE (type 4) (param i32) (result i32) local.get 0 i32.load offset=8) - (func $_ZN8dlmalloc8dlmalloc7Segment9is_extern17h3cbba93f4e5cfab1E (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc7Segment9is_extern17hce2b6c60378fecbaE (type 4) (param i32) (result i32) local.get 0 i32.load offset=12 i32.const 1 i32.and) - (func $_ZN8dlmalloc8dlmalloc7Segment9sys_flags17hd7870bf529598941E (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc7Segment9sys_flags17ha34d71c2c0a2f4f8E (type 4) (param i32) (result i32) local.get 0 i32.load offset=12 i32.const 1 i32.shr_u) - (func $_ZN8dlmalloc8dlmalloc7Segment5holds17he3b1db583c6e4172E (type 2) (param i32 i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc7Segment5holds17hd979b70163a9ea52E (type 2) (param i32 i32) (result i32) (local i32 i32) i32.const 0 local.set 2 @@ -17104,13 +16199,13 @@ local.set 2 end local.get 2) - (func $_ZN8dlmalloc8dlmalloc7Segment3top17h96cd19ac0fd36e05E (type 9) (param i32) (result i32) + (func $_ZN8dlmalloc8dlmalloc7Segment3top17hdd4d160761d7a4c1E (type 4) (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$5alloc17h9bcb497e409528ddE (type 3) (param i32 i32 i32) + (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$5alloc17hed1977c094ba06f0E (type 3) (param i32 i32 i32) (local i32) local.get 2 i32.const 16 @@ -17139,24 +16234,24 @@ local.get 2 select i32.store) - (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$5remap17hdb996963ff5d078cE (type 13) (param i32 i32 i32 i32 i32) (result i32) + (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$5remap17hcd1e52d496e8313fE (type 13) (param i32 i32 i32 i32 i32) (result i32) i32.const 0) - (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$9free_part17had77920da45d8a75E (type 11) (param i32 i32 i32 i32) (result i32) + (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$9free_part17h6e5bac3b0cfb8f54E (type 11) (param i32 i32 i32 i32) (result i32) i32.const 0) - (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$4free17hd714605ffb598b3fE (type 1) (param i32 i32 i32) (result i32) + (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$4free17h17c630ddfc3296e0E (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_part17h9678d24cb077bde0E (type 2) (param i32 i32) (result i32) + (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$16can_release_part17he396a577db875ec0E (type 2) (param i32 i32) (result i32) i32.const 0) - (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$15allocates_zeros17h598c0d26e9d865e2E (type 9) (param i32) (result i32) + (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$15allocates_zeros17h7dd58abcff7a9dfdE (type 4) (param i32) (result i32) i32.const 1) - (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$9page_size17hb3843d9dc082c5b9E (type 9) (param i32) (result i32) + (func $_ZN61_$LT$dlmalloc..sys..System$u20$as$u20$dlmalloc..Allocator$GT$9page_size17h459e98b74b287111E (type 4) (param i32) (result i32) i32.const 65536) - (func $_ZN5alloc5alloc18handle_alloc_error17hbbf685130f283420E (type 0) (param i32 i32) + (func $_ZN5alloc5alloc18handle_alloc_error17h0853c609cdf121f4E (type 0) (param i32 i32) local.get 0 local.get 1 - call $_ZN5alloc5alloc18handle_alloc_error8rt_error17ha06fd10b3c267ebeE + call $_ZN5alloc5alloc18handle_alloc_error8rt_error17he3b3ec192280323dE unreachable) - (func $_ZN5alloc7raw_vec17capacity_overflow17h69391d2b6a90e408E (type 14) + (func $_ZN5alloc7raw_vec17capacity_overflow17h6742d6b707f6ebe7E (type 14) (local i32) global.get $__stack_pointer i32.const 32 @@ -17172,31 +16267,31 @@ i32.const 1 i32.store offset=12 local.get 0 - i32.const 1050780 + i32.const 1050472 i32.store offset=8 local.get 0 - i32.const 1050732 + i32.const 1050424 i32.store offset=16 local.get 0 i32.const 8 i32.add - i32.const 1050788 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E + i32.const 1050480 + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE unreachable) - (func $_ZN5alloc5alloc18handle_alloc_error8rt_error17ha06fd10b3c267ebeE (type 0) (param i32 i32) + (func $_ZN5alloc5alloc18handle_alloc_error8rt_error17he3b3ec192280323dE (type 0) (param i32 i32) local.get 1 local.get 0 call $__rust_alloc_error_handler unreachable) - (func $_ZN4core3ops8function6FnOnce9call_once17h76067c467ab7d853E (type 2) (param i32 i32) (result i32) + (func $_ZN4core3ops8function6FnOnce9call_once17h76fe3987e9baa657E (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$17h20c52a201febd195E (type 6) (param i32)) - (func $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E (type 0) (param i32 i32) + (func $_ZN4core3ptr37drop_in_place$LT$core..fmt..Error$GT$17h758e210251b6ee64E (type 7) (param i32)) + (func $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE (type 0) (param i32 i32) (local i32) global.get $__stack_pointer i32.const 32 @@ -17204,26 +16299,26 @@ local.tee 2 global.set $__stack_pointer local.get 2 - local.get 0 - i32.store offset=20 - local.get 2 - i32.const 1050804 - i32.store offset=12 - local.get 2 - i32.const 1050804 - i32.store offset=8 - local.get 2 i32.const 1 - i32.store8 offset=24 + i32.store16 offset=28 local.get 2 local.get 1 + i32.store offset=24 + local.get 2 + local.get 0 + i32.store offset=20 + local.get 2 + i32.const 1050496 i32.store offset=16 local.get 2 - i32.const 8 + i32.const 1050496 + i32.store offset=12 + local.get 2 + i32.const 12 i32.add call $rust_begin_unwind unreachable) - (func $_ZN4core9panicking18panic_bounds_check17h110a20fd4f592785E (type 3) (param i32 i32 i32) + (func $_ZN4core5slice5index26slice_start_index_len_fail17hb6eb0f03f001b495E (type 3) (param i32 i32 i32) (local i32) global.get $__stack_pointer i32.const 48 @@ -17231,12 +16326,12 @@ local.tee 3 global.set $__stack_pointer local.get 3 - local.get 1 - i32.store offset=4 - local.get 3 local.get 0 i32.store local.get 3 + local.get 1 + i32.store offset=4 + local.get 3 i32.const 8 i32.add i32.const 12 @@ -17254,7 +16349,7 @@ i32.const 2 i32.store offset=12 local.get 3 - i32.const 1050872 + i32.const 1050900 i32.store offset=8 local.get 3 i32.const 2 @@ -17266,19 +16361,19 @@ i32.store offset=16 local.get 3 local.get 3 + i32.const 4 + i32.add i32.store offset=40 local.get 3 local.get 3 - i32.const 4 - i32.add i32.store offset=32 local.get 3 i32.const 8 i32.add local.get 2 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE unreachable) - (func $_ZN4core5slice5index26slice_start_index_len_fail17h851b41322c5eadc1E (type 3) (param i32 i32 i32) + (func $_ZN4core9panicking18panic_bounds_check17h66aea8b9574ca63eE (type 3) (param i32 i32 i32) (local i32) global.get $__stack_pointer i32.const 48 @@ -17286,12 +16381,12 @@ local.tee 3 global.set $__stack_pointer local.get 3 - local.get 0 - i32.store - local.get 3 local.get 1 i32.store offset=4 local.get 3 + local.get 0 + i32.store + local.get 3 i32.const 8 i32.add i32.const 12 @@ -17309,7 +16404,7 @@ i32.const 2 i32.store offset=12 local.get 3 - i32.const 1051208 + i32.const 1050564 i32.store offset=8 local.get 3 i32.const 2 @@ -17321,19 +16416,19 @@ i32.store offset=16 local.get 3 local.get 3 - i32.const 4 - i32.add i32.store offset=40 local.get 3 local.get 3 + i32.const 4 + i32.add i32.store offset=32 local.get 3 i32.const 8 i32.add local.get 2 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE unreachable) - (func $_ZN4core5slice5index24slice_end_index_len_fail17he06aaf6517598049E (type 3) (param i32 i32 i32) + (func $_ZN4core5slice5index24slice_end_index_len_fail17h6448231a3cf176e8E (type 3) (param i32 i32 i32) (local i32) global.get $__stack_pointer i32.const 48 @@ -17364,7 +16459,7 @@ i32.const 2 i32.store offset=12 local.get 3 - i32.const 1051240 + i32.const 1050932 i32.store offset=8 local.get 3 i32.const 2 @@ -17386,442 +16481,439 @@ i32.const 8 i32.add local.get 2 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE unreachable) - (func $_ZN4core3fmt9Formatter3pad17h0b6da8b5646917dcE (type 1) (param i32 i32 i32) (result i32) + (func $_ZN4core3fmt9Formatter3pad17hdfdd925968056d8dE (type 1) (param i32 i32 i32) (result i32) (local i32 i32 i32 i32 i32 i32 i32 i32) block ;; label = @1 + local.get 0 + i32.load + local.tee 3 + local.get 0 + i32.load offset=8 + local.tee 4 + i32.or + i32.eqz + br_if 0 (;@1;) block ;; label = @2 - local.get 0 - i32.load - local.tee 3 - local.get 0 - i32.load offset=8 - local.tee 4 - i32.or + local.get 4 i32.eqz br_if 0 (;@2;) + local.get 1 + local.get 2 + i32.add + local.set 5 + local.get 0 + i32.const 12 + i32.add + i32.load + i32.const 1 + i32.add + local.set 6 + i32.const 0 + local.set 7 + local.get 1 + local.set 8 block ;; label = @3 - local.get 4 - i32.eqz - br_if 0 (;@3;) - local.get 1 - local.get 2 - i32.add - local.set 5 - local.get 0 - i32.const 12 - i32.add - i32.load - i32.const 1 - i32.add - local.set 6 - i32.const 0 - local.set 7 - local.get 1 - local.set 8 - block ;; label = @4 - loop ;; label = @5 - local.get 8 - local.set 4 - local.get 6 - i32.const -1 - i32.add - local.tee 6 - i32.eqz - br_if 1 (;@4;) - local.get 4 - local.get 5 - i32.eq - br_if 2 (;@3;) + loop ;; label = @4 + local.get 8 + local.set 4 + local.get 6 + i32.const -1 + i32.add + local.tee 6 + i32.eqz + br_if 1 (;@3;) + local.get 4 + local.get 5 + i32.eq + br_if 2 (;@2;) + block ;; label = @5 block ;; label = @6 - block ;; label = @7 - local.get 4 - i32.load8_s - local.tee 9 - i32.const -1 - i32.le_s - br_if 0 (;@7;) - local.get 4 - i32.const 1 - i32.add - local.set 8 - local.get 9 - i32.const 255 - i32.and - local.set 9 - br 1 (;@6;) - end local.get 4 - i32.load8_u offset=1 - i32.const 63 - i32.and - local.set 10 + i32.load8_s + local.tee 9 + i32.const -1 + i32.le_s + br_if 0 (;@6;) + local.get 4 + i32.const 1 + i32.add + local.set 8 local.get 9 - i32.const 31 + i32.const 255 i32.and - local.set 8 - block ;; label = @7 - local.get 9 - i32.const -33 - i32.gt_u - br_if 0 (;@7;) - local.get 8 - i32.const 6 - i32.shl - local.get 10 - i32.or - local.set 9 - local.get 4 - i32.const 2 - i32.add - local.set 8 - br 1 (;@6;) - end - local.get 10 + local.set 9 + br 1 (;@5;) + end + local.get 4 + i32.load8_u offset=1 + i32.const 63 + i32.and + local.set 10 + local.get 9 + i32.const 31 + i32.and + local.set 8 + block ;; label = @6 + local.get 9 + i32.const -33 + i32.gt_u + br_if 0 (;@6;) + local.get 8 i32.const 6 i32.shl - local.get 4 - i32.load8_u offset=2 - i32.const 63 - i32.and - i32.or - local.set 10 - block ;; label = @7 - local.get 9 - i32.const -16 - i32.ge_u - br_if 0 (;@7;) - local.get 10 - local.get 8 - i32.const 12 - i32.shl - i32.or - local.set 9 - local.get 4 - i32.const 3 - i32.add - local.set 8 - br 1 (;@6;) - end local.get 10 - i32.const 6 - i32.shl - local.get 4 - i32.load8_u offset=3 - i32.const 63 - i32.and i32.or + local.set 9 + local.get 4 + i32.const 2 + i32.add + local.set 8 + br 1 (;@5;) + end + local.get 10 + i32.const 6 + i32.shl + local.get 4 + i32.load8_u offset=2 + i32.const 63 + i32.and + i32.or + local.set 10 + block ;; label = @6 + local.get 9 + i32.const -16 + i32.ge_u + br_if 0 (;@6;) + local.get 10 local.get 8 - i32.const 18 + i32.const 12 i32.shl - i32.const 1835008 - i32.and i32.or - local.tee 9 - i32.const 1114112 - i32.eq - br_if 3 (;@3;) + local.set 9 local.get 4 - i32.const 4 + i32.const 3 i32.add local.set 8 + br 1 (;@5;) end - local.get 7 + local.get 10 + i32.const 6 + i32.shl local.get 4 - i32.sub + i32.load8_u offset=3 + i32.const 63 + i32.and + i32.or local.get 8 - i32.add - local.set 7 - local.get 9 + i32.const 18 + i32.shl + i32.const 1835008 + i32.and + i32.or + local.tee 9 i32.const 1114112 - i32.ne - br_if 0 (;@5;) - br 2 (;@3;) + i32.eq + br_if 3 (;@2;) + local.get 4 + i32.const 4 + i32.add + local.set 8 end - end - local.get 4 - local.get 5 - i32.eq - br_if 0 (;@3;) - block ;; label = @4 - local.get 4 - i32.load8_s - local.tee 8 - i32.const -1 - i32.gt_s - br_if 0 (;@4;) - local.get 8 - i32.const -32 - i32.lt_u - br_if 0 (;@4;) - local.get 8 - i32.const -16 - i32.lt_u - br_if 0 (;@4;) - local.get 4 - i32.load8_u offset=2 - i32.const 63 - i32.and - i32.const 6 - i32.shl - local.get 4 - i32.load8_u offset=1 - i32.const 63 - i32.and - i32.const 12 - i32.shl - i32.or + local.get 7 local.get 4 - i32.load8_u offset=3 - i32.const 63 - i32.and - i32.or + i32.sub local.get 8 - i32.const 255 - i32.and - i32.const 18 - i32.shl - i32.const 1835008 - i32.and - i32.or + i32.add + local.set 7 + local.get 9 i32.const 1114112 - i32.eq - br_if 1 (;@3;) + i32.ne + br_if 0 (;@4;) + br 2 (;@2;) end + end + local.get 4 + local.get 5 + i32.eq + br_if 0 (;@2;) + block ;; label = @3 + local.get 4 + i32.load8_s + local.tee 8 + i32.const -1 + i32.gt_s + br_if 0 (;@3;) + local.get 8 + i32.const -32 + i32.lt_u + br_if 0 (;@3;) + local.get 8 + i32.const -16 + i32.lt_u + br_if 0 (;@3;) + local.get 4 + i32.load8_u offset=2 + i32.const 63 + i32.and + i32.const 6 + i32.shl + local.get 4 + i32.load8_u offset=1 + i32.const 63 + i32.and + i32.const 12 + i32.shl + i32.or + local.get 4 + i32.load8_u offset=3 + i32.const 63 + i32.and + i32.or + local.get 8 + i32.const 255 + i32.and + i32.const 18 + i32.shl + i32.const 1835008 + i32.and + i32.or + i32.const 1114112 + i32.eq + br_if 1 (;@2;) + end + block ;; label = @3 block ;; label = @4 + local.get 7 + i32.eqz + br_if 0 (;@4;) block ;; label = @5 local.get 7 - i32.eqz + local.get 2 + i32.lt_u br_if 0 (;@5;) - block ;; label = @6 - local.get 7 - local.get 2 - i32.lt_u - br_if 0 (;@6;) - i32.const 0 - local.set 4 - local.get 7 - local.get 2 - i32.eq - br_if 1 (;@5;) - br 2 (;@4;) - end i32.const 0 local.set 4 - local.get 1 local.get 7 - i32.add - i32.load8_s - i32.const -64 - i32.lt_s + local.get 2 + i32.eq br_if 1 (;@4;) + br 2 (;@3;) end - local.get 1 + i32.const 0 local.set 4 + local.get 1 + local.get 7 + i32.add + i32.load8_s + i32.const -64 + i32.lt_s + br_if 1 (;@3;) end - local.get 7 - local.get 2 - local.get 4 - select - local.set 2 - local.get 4 local.get 1 - local.get 4 - select - local.set 1 + local.set 4 end + local.get 7 + local.get 2 + local.get 4 + select + local.set 2 + local.get 4 + local.get 1 + local.get 4 + select + local.set 1 + end + block ;; label = @2 + local.get 3 + br_if 0 (;@2;) + local.get 0 + i32.load offset=20 + local.get 1 + local.get 2 + local.get 0 + i32.const 24 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 1) + return + end + local.get 0 + i32.load offset=4 + local.set 5 + block ;; label = @2 block ;; label = @3 - local.get 3 + local.get 2 + i32.const 16 + i32.lt_u br_if 0 (;@3;) - local.get 0 - i32.load offset=20 local.get 1 local.get 2 - local.get 0 - i32.const 24 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 1) - return + call $_ZN4core3str5count14do_count_chars17h96cd483782209bbbE + local.set 4 + br 1 (;@2;) end - local.get 0 - i32.load offset=4 - local.set 5 + block ;; label = @3 + local.get 2 + br_if 0 (;@3;) + i32.const 0 + local.set 4 + br 1 (;@2;) + end + local.get 2 + i32.const 3 + i32.and + local.set 6 block ;; label = @3 block ;; label = @4 local.get 2 - i32.const 16 - i32.lt_u - br_if 0 (;@4;) - local.get 1 - local.get 2 - call $_ZN4core3str5count14do_count_chars17h3b059f1cb1060412E - local.set 4 - br 1 (;@3;) - end - block ;; label = @4 - local.get 2 + i32.const 4 + i32.ge_u br_if 0 (;@4;) i32.const 0 local.set 4 + i32.const 0 + local.set 9 br 1 (;@3;) end local.get 2 - i32.const 3 + i32.const -4 i32.and - local.set 6 - block ;; label = @4 - block ;; label = @5 - local.get 2 - i32.const 4 - i32.ge_u - br_if 0 (;@5;) - i32.const 0 - local.set 4 - i32.const 0 - local.set 9 - br 1 (;@4;) - end - local.get 2 - i32.const -4 - i32.and - local.set 7 - i32.const 0 - local.set 4 - i32.const 0 - local.set 9 - loop ;; label = @5 - local.get 4 - local.get 1 - local.get 9 - i32.add - local.tee 8 - i32.load8_s - i32.const -65 - i32.gt_s - i32.add - local.get 8 - i32.const 1 - i32.add - i32.load8_s - i32.const -65 - i32.gt_s - i32.add - local.get 8 - i32.const 2 - i32.add - i32.load8_s - i32.const -65 - i32.gt_s - i32.add - local.get 8 - i32.const 3 - i32.add - i32.load8_s - i32.const -65 - i32.gt_s - i32.add - local.set 4 - local.get 7 - local.get 9 - i32.const 4 - i32.add - local.tee 9 - i32.ne - br_if 0 (;@5;) - end - end - local.get 6 - i32.eqz - br_if 0 (;@3;) - local.get 1 - local.get 9 - i32.add - local.set 8 + local.set 7 + i32.const 0 + local.set 4 + i32.const 0 + local.set 9 loop ;; label = @4 local.get 4 - local.get 8 + local.get 1 + local.get 9 + i32.add + local.tee 8 i32.load8_s i32.const -65 i32.gt_s i32.add - local.set 4 local.get 8 i32.const 1 i32.add - local.set 8 - local.get 6 - i32.const -1 + i32.load8_s + i32.const -65 + i32.gt_s i32.add - local.tee 6 + local.get 8 + i32.const 2 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.get 8 + i32.const 3 + i32.add + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 4 + local.get 7 + local.get 9 + i32.const 4 + i32.add + local.tee 9 + i32.ne br_if 0 (;@4;) end end - local.get 5 - local.get 4 - i32.le_u - br_if 1 (;@1;) - i32.const 0 + local.get 6 + i32.eqz + br_if 0 (;@2;) + local.get 1 + local.get 9 + i32.add local.set 8 - local.get 5 - local.get 4 - i32.sub - local.tee 4 - local.set 7 + loop ;; label = @3 + local.get 4 + local.get 8 + i32.load8_s + i32.const -65 + i32.gt_s + i32.add + local.set 4 + local.get 8 + i32.const 1 + i32.add + local.set 8 + local.get 6 + i32.const -1 + i32.add + local.tee 6 + br_if 0 (;@3;) + end + end + block ;; label = @2 block ;; label = @3 + local.get 5 + local.get 4 + i32.le_u + br_if 0 (;@3;) + local.get 5 + local.get 4 + i32.sub + local.set 7 + i32.const 0 + local.set 4 block ;; label = @4 block ;; label = @5 - local.get 0 - i32.load8_u offset=32 - br_table 2 (;@3;) 0 (;@5;) 1 (;@4;) 2 (;@3;) 2 (;@3;) + block ;; label = @6 + local.get 0 + i32.load8_u offset=32 + br_table 2 (;@4;) 0 (;@6;) 1 (;@5;) 2 (;@4;) 2 (;@4;) + end + local.get 7 + local.set 4 + i32.const 0 + local.set 7 + br 1 (;@4;) end - i32.const 0 + local.get 7 + i32.const 1 + i32.shr_u + local.set 4 + local.get 7 + i32.const 1 + i32.add + i32.const 1 + i32.shr_u local.set 7 - local.get 4 - local.set 8 - br 1 (;@3;) end local.get 4 i32.const 1 - i32.shr_u - local.set 8 - local.get 4 - i32.const 1 i32.add - i32.const 1 - i32.shr_u - local.set 7 - end - local.get 8 - i32.const 1 - i32.add - local.set 4 - local.get 0 - i32.const 24 - i32.add - i32.load - local.set 9 - local.get 0 - i32.const 20 - i32.add - i32.load - local.set 6 - local.get 0 - i32.load offset=16 - local.set 8 - block ;; label = @3 + local.set 4 + local.get 0 + i32.const 24 + i32.add + i32.load + local.set 8 + local.get 0 + i32.load offset=16 + local.set 6 + local.get 0 + i32.load offset=20 + local.set 9 loop ;; label = @4 local.get 4 i32.const -1 i32.add local.tee 4 i32.eqz - br_if 1 (;@3;) + br_if 2 (;@2;) + local.get 9 local.get 6 local.get 8 - local.get 9 i32.load offset=16 call_indirect (type 2) i32.eqz @@ -17830,68 +16922,64 @@ i32.const 1 return end - i32.const 1 + local.get 0 + i32.load offset=20 + local.get 1 + local.get 2 + local.get 0 + i32.const 24 + i32.add + i32.load + i32.load offset=12 + call_indirect (type 1) + return + end + i32.const 1 + local.set 4 + block ;; label = @2 + local.get 9 + local.get 1 + local.get 2 + local.get 8 + i32.load offset=12 + call_indirect (type 1) + br_if 0 (;@2;) + i32.const 0 local.set 4 block ;; label = @3 - local.get 8 - i32.const 1114112 - i32.eq - br_if 0 (;@3;) - local.get 6 - local.get 1 - local.get 2 - local.get 9 - i32.load offset=12 - call_indirect (type 1) - br_if 0 (;@3;) - i32.const 0 - local.set 4 - block ;; label = @4 - loop ;; label = @5 - block ;; label = @6 - local.get 7 - local.get 4 - i32.ne - br_if 0 (;@6;) - local.get 7 - local.set 4 - br 2 (;@4;) - end + loop ;; label = @4 + block ;; label = @5 + local.get 7 local.get 4 - i32.const 1 - i32.add - local.set 4 - local.get 6 - local.get 8 - local.get 9 - i32.load offset=16 - call_indirect (type 2) - i32.eqz + i32.ne br_if 0 (;@5;) + local.get 7 + local.set 4 + br 2 (;@3;) end local.get 4 - i32.const -1 + i32.const 1 i32.add local.set 4 + local.get 9 + local.get 6 + local.get 8 + i32.load offset=16 + call_indirect (type 2) + i32.eqz + br_if 0 (;@4;) end local.get 4 - local.get 7 - i32.lt_u + i32.const -1 + i32.add local.set 4 end local.get 4 - return + local.get 7 + i32.lt_u + local.set 4 end - local.get 0 - i32.load offset=20 - local.get 1 - local.get 2 - local.get 0 - i32.const 24 - i32.add - i32.load - i32.load offset=12 - call_indirect (type 1) + local.get 4 return end local.get 0 @@ -17904,7 +16992,7 @@ i32.load i32.load offset=12 call_indirect (type 1)) - (func $_ZN4core9panicking5panic17hfd6e422134ee8ce5E (type 3) (param i32 i32 i32) + (func $_ZN4core9panicking5panic17hb41dbc4083d9884eE (type 3) (param i32 i32 i32) (local i32) global.get $__stack_pointer i32.const 32 @@ -17920,7 +17008,7 @@ i32.const 1 i32.store offset=4 local.get 3 - i32.const 1050804 + i32.const 1050496 i32.store offset=8 local.get 3 local.get 1 @@ -17935,70 +17023,15 @@ i32.store local.get 3 local.get 2 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E - unreachable) - (func $_ZN4core5slice5index22slice_index_order_fail17h31507632e276d053E (type 3) (param i32 i32 i32) - (local i32) - global.get $__stack_pointer - i32.const 48 - i32.sub - local.tee 3 - global.set $__stack_pointer - local.get 3 - local.get 0 - i32.store - local.get 3 - local.get 1 - i32.store offset=4 - local.get 3 - i32.const 8 - i32.add - i32.const 12 - i32.add - i64.const 2 - i64.store align=4 - local.get 3 - i32.const 32 - i32.add - i32.const 12 - i32.add - i32.const 2 - i32.store - local.get 3 - i32.const 2 - i32.store offset=12 - local.get 3 - i32.const 1051292 - i32.store offset=8 - local.get 3 - i32.const 2 - i32.store offset=36 - local.get 3 - local.get 3 - i32.const 32 - i32.add - i32.store offset=16 - local.get 3 - local.get 3 - i32.const 4 - i32.add - i32.store offset=40 - local.get 3 - local.get 3 - i32.store offset=32 - local.get 3 - i32.const 8 - i32.add - local.get 2 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE unreachable) - (func $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17hbaa66a6ca3ee12c8E (type 2) (param i32 i32) (result i32) + (func $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h4e0e32fdcb1fd671E (type 2) (param i32 i32) (result i32) local.get 0 i64.load32_u i32.const 1 local.get 1 - call $_ZN4core3fmt3num3imp7fmt_u6417h7a228af73e4122cdE) - (func $_ZN4core3fmt5write17hce4d120ebbfb2b82E (type 1) (param i32 i32 i32) (result i32) + call $_ZN4core3fmt3num3imp7fmt_u6417hfad12596563b72deE) + (func $_ZN4core3fmt5write17h362bec5724a70484E (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 @@ -18006,300 +17039,300 @@ local.tee 3 global.set $__stack_pointer local.get 3 - i32.const 32 + i32.const 36 i32.add local.get 1 i32.store local.get 3 i32.const 3 - i32.store8 offset=40 + i32.store8 offset=44 local.get 3 i32.const 32 - i32.store offset=24 + i32.store offset=28 i32.const 0 local.set 4 local.get 3 i32.const 0 - i32.store offset=36 + i32.store offset=40 local.get 3 local.get 0 - i32.store offset=28 + i32.store offset=32 local.get 3 i32.const 0 - i32.store offset=16 + i32.store offset=20 local.get 3 i32.const 0 - i32.store offset=8 + i32.store offset=12 block ;; label = @1 block ;; label = @2 block ;; label = @3 block ;; label = @4 + block ;; label = @5 + local.get 2 + i32.load offset=16 + local.tee 5 + br_if 0 (;@5;) + local.get 2 + i32.const 12 + i32.add + i32.load + local.tee 0 + i32.eqz + br_if 1 (;@4;) + 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 = @6 + block ;; label = @7 + local.get 0 + i32.const 4 + i32.add + i32.load + local.tee 7 + i32.eqz + br_if 0 (;@7;) + 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 (;@3;) + 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 (;@3;) + 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 (;@6;) + br 2 (;@4;) + end + end local.get 2 - i32.load offset=16 - local.tee 5 - br_if 0 (;@4;) - local.get 2 - i32.const 12 + i32.const 20 i32.add i32.load - local.tee 0 + local.tee 1 i32.eqz - br_if 1 (;@3;) - local.get 2 - i32.load offset=8 - local.set 1 - local.get 0 - i32.const 3 + br_if 0 (;@4;) + local.get 1 + i32.const 5 i32.shl - local.set 6 - local.get 0 + local.set 8 + local.get 1 i32.const -1 i32.add - i32.const 536870911 + 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 = @5 block ;; label = @6 local.get 0 i32.const 4 i32.add i32.load - local.tee 7 + local.tee 1 i32.eqz br_if 0 (;@6;) local.get 3 - i32.load offset=28 + i32.load offset=32 local.get 0 i32.load - local.get 7 + local.get 1 local.get 3 - i32.load offset=32 + i32.load offset=36 i32.load offset=12 call_indirect (type 1) - br_if 4 (;@2;) + br_if 3 (;@3;) end - local.get 1 - i32.load local.get 3 - i32.const 8 + local.get 5 + local.get 6 i32.add - local.get 1 - i32.const 4 + local.tee 1 + i32.const 16 i32.add i32.load - call_indirect (type 2) - br_if 3 (;@2;) + i32.store offset=28 + local.get 3 local.get 1 - i32.const 8 - i32.add - local.set 1 - local.get 0 - i32.const 8 + i32.const 28 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 - 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;) + i32.load8_u + i32.store8 offset=44 local.get 3 - i32.load offset=28 - local.get 0 + local.get 1 + i32.const 24 + i32.add i32.load + i32.store offset=40 local.get 1 - local.get 3 - i32.load offset=32 - 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=24 - local.get 3 - local.get 1 - i32.const 28 - i32.add - i32.load8_u - i32.store8 offset=40 - local.get 3 - local.get 1 - i32.const 24 - i32.add - i32.load - i32.store offset=36 - local.get 1 - i32.const 12 - i32.add - i32.load - local.set 9 - local.get 2 - i32.load offset=8 - local.set 10 - i32.const 0 - local.set 11 - i32.const 0 - local.set 7 - block ;; label = @5 + i32.const 12 + i32.add + i32.load + local.set 10 + i32.const 0 + local.set 11 + i32.const 0 + local.set 7 block ;; label = @6 block ;; label = @7 - local.get 1 - i32.const 8 + block ;; label = @8 + local.get 1 + i32.const 8 + i32.add + i32.load + br_table 1 (;@7;) 0 (;@8;) 2 (;@6;) 1 (;@7;) + 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 25 + i32.ne + br_if 1 (;@6;) + local.get 12 + i32.load i32.load - br_table 1 (;@6;) 0 (;@7;) 2 (;@5;) 1 (;@6;) + local.set 10 end - local.get 9 - i32.const 3 - i32.shl - local.set 12 - i32.const 0 + i32.const 1 local.set 7 - local.get 10 - local.get 12 - i32.add - local.tee 12 - i32.load offset=4 - i32.const 29 - i32.ne - br_if 1 (;@5;) - local.get 12 - i32.load - i32.load - local.set 9 end - i32.const 1 + 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 - end - local.get 3 - local.get 9 - i32.store offset=12 - local.get 3 - local.get 7 - i32.store offset=8 - 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 + block ;; label = @8 + local.get 1 + i32.load + br_table 1 (;@7;) 0 (;@8;) 2 (;@6;) 1 (;@7;) + 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 25 + i32.ne + br_if 1 (;@6;) + local.get 10 + i32.load i32.load - br_table 1 (;@6;) 0 (;@7;) 2 (;@5;) 1 (;@6;) + local.set 7 end - local.get 7 - i32.const 3 - i32.shl - local.set 9 - local.get 10 - local.get 9 - i32.add - local.tee 9 - i32.load offset=4 - i32.const 29 - i32.ne - br_if 1 (;@5;) - local.get 9 - i32.load - i32.load - local.set 7 + i32.const 1 + local.set 11 end - i32.const 1 - local.set 11 + 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 (;@3;) + 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 (;@5;) end - local.get 3 - local.get 7 - i32.store offset=20 - local.get 3 - local.get 11 - i32.store offset=16 - local.get 10 - 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 8 - 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;) + br_if 1 (;@2;) local.get 3 - i32.load offset=28 + i32.load offset=32 local.get 2 i32.load local.get 4 @@ -18311,16 +17344,17 @@ local.get 1 i32.load offset=4 local.get 3 - i32.load offset=32 + i32.load offset=36 i32.load offset=12 call_indirect (type 1) + i32.eqz br_if 1 (;@2;) end - i32.const 0 + i32.const 1 local.set 1 br 1 (;@1;) end - i32.const 1 + i32.const 0 local.set 1 end local.get 3 @@ -18328,42 +17362,41 @@ i32.add global.set $__stack_pointer local.get 1) - (func $_ZN4core3fmt9Formatter12pad_integral17h1311a70c35efb64aE (type 15) (param i32 i32 i32 i32 i32 i32) (result i32) + (func $_ZN4core3fmt9Formatter12pad_integral17h7b816fd454935dbfE (type 15) (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 5 + i32.const 1 + i32.add + local.set 6 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 + i32.const 45 local.set 8 br 1 (;@1;) end - local.get 5 - i32.const 1 - i32.add - local.set 8 + i32.const 43 + i32.const 1114112 local.get 0 i32.load offset=28 + local.tee 7 + i32.const 1 + i32.and + local.tee 1 + select + local.set 8 + local.get 1 + local.get 5 + i32.add local.set 6 - i32.const 45 - local.set 7 end block ;; label = @1 block ;; label = @2 - local.get 6 + local.get 7 i32.const 4 i32.and br_if 0 (;@2;) @@ -18379,7 +17412,7 @@ br_if 0 (;@3;) local.get 2 local.get 3 - call $_ZN4core3str5count14do_count_chars17h3b059f1cb1060412E + call $_ZN4core3str5count14do_count_chars17h96cd483782209bbbE local.set 1 br 1 (;@2;) end @@ -18482,9 +17515,9 @@ end end local.get 1 - local.get 8 + local.get 6 i32.add - local.set 8 + local.set 6 end block ;; label = @1 block ;; label = @2 @@ -18494,19 +17527,15 @@ i32.const 1 local.set 1 local.get 0 - i32.const 20 - i32.add - i32.load + i32.load offset=20 local.tee 12 local.get 0 - i32.const 24 - i32.add - i32.load + i32.load offset=24 local.tee 10 - local.get 7 + local.get 8 local.get 2 local.get 3 - call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h7186e489b53c8fefE + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h633cee055c70f5b3E br_if 1 (;@1;) local.get 12 local.get 4 @@ -18520,25 +17549,21 @@ local.get 0 i32.load offset=4 local.tee 9 - local.get 8 + local.get 6 i32.gt_u br_if 0 (;@2;) i32.const 1 local.set 1 local.get 0 - i32.const 20 - i32.add - i32.load + i32.load offset=20 local.tee 12 local.get 0 - i32.const 24 - i32.add - i32.load + i32.load offset=24 local.tee 10 - local.get 7 + local.get 8 local.get 2 local.get 3 - call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h7186e489b53c8fefE + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h633cee055c70f5b3E br_if 1 (;@1;) local.get 12 local.get 4 @@ -18549,7 +17574,7 @@ return end block ;; label = @2 - local.get 6 + local.get 7 i32.const 8 i32.and i32.eqz @@ -18562,29 +17587,25 @@ i32.store offset=16 local.get 0 i32.load8_u offset=32 - local.set 6 + local.set 7 i32.const 1 local.set 1 local.get 0 i32.const 1 i32.store8 offset=32 local.get 0 - i32.const 20 - i32.add - i32.load + i32.load offset=20 local.tee 12 local.get 0 - i32.const 24 - i32.add - i32.load + i32.load offset=24 local.tee 10 - local.get 7 + local.get 8 local.get 2 local.get 3 - call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h7186e489b53c8fefE + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h633cee055c70f5b3E br_if 1 (;@1;) local.get 9 - local.get 8 + local.get 6 i32.sub i32.const 1 i32.add @@ -18618,7 +17639,7 @@ call_indirect (type 1) br_if 1 (;@1;) local.get 0 - local.get 6 + local.get 7 i32.store8 offset=32 local.get 0 local.get 11 @@ -18628,10 +17649,9 @@ br 1 (;@1;) end local.get 9 - local.get 8 + local.get 6 i32.sub - local.tee 12 - local.set 8 + local.set 6 block ;; label = @2 block ;; label = @3 block ;; label = @4 @@ -18640,22 +17660,22 @@ local.tee 1 br_table 2 (;@2;) 0 (;@4;) 1 (;@3;) 0 (;@4;) 2 (;@2;) end - i32.const 0 - local.set 8 - local.get 12 + local.get 6 local.set 1 + i32.const 0 + local.set 6 br 1 (;@2;) end - local.get 12 + local.get 6 i32.const 1 i32.shr_u local.set 1 - local.get 12 + local.get 6 i32.const 1 i32.add i32.const 1 i32.shr_u - local.set 8 + local.set 6 end local.get 1 i32.const 1 @@ -18665,15 +17685,13 @@ i32.const 24 i32.add i32.load - local.set 10 + local.set 12 local.get 0 - i32.const 20 - i32.add - i32.load + i32.load offset=16 local.set 9 local.get 0 - i32.load offset=16 - local.set 12 + i32.load offset=20 + local.set 10 block ;; label = @2 loop ;; label = @3 local.get 1 @@ -18682,9 +17700,9 @@ local.tee 1 i32.eqz br_if 1 (;@2;) + local.get 10 local.get 9 local.get 12 - local.get 10 i32.load offset=16 call_indirect (type 2) i32.eqz @@ -18695,21 +17713,17 @@ end i32.const 1 local.set 1 - local.get 12 - i32.const 1114112 - i32.eq - br_if 0 (;@1;) - local.get 9 local.get 10 - local.get 7 + local.get 12 + local.get 8 local.get 2 local.get 3 - call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h7186e489b53c8fefE + call $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h633cee055c70f5b3E br_if 0 (;@1;) - local.get 9 + local.get 10 local.get 4 local.get 5 - local.get 10 + local.get 12 i32.load offset=12 call_indirect (type 1) br_if 0 (;@1;) @@ -18717,12 +17731,12 @@ local.set 1 loop ;; label = @2 block ;; label = @3 - local.get 8 + local.get 6 local.get 1 i32.ne br_if 0 (;@3;) - local.get 8 - local.get 8 + local.get 6 + local.get 6 i32.lt_u return end @@ -18730,9 +17744,9 @@ i32.const 1 i32.add local.set 1 + local.get 10 local.get 9 local.get 12 - local.get 10 i32.load offset=16 call_indirect (type 2) i32.eqz @@ -18741,19 +17755,74 @@ local.get 1 i32.const -1 i32.add - local.get 8 + local.get 6 i32.lt_u return end local.get 1) - (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17hfb753db928a637b4E (type 0) (param i32 i32) + (func $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h657a530d99624e05E (type 0) (param i32 i32) local.get 0 - i64.const 6709583872402221221 + i64.const 3621418216119541392 i64.store offset=8 local.get 0 - i64.const -517914840449640987 + i64.const -6096952686898433405 i64.store) - (func $_ZN4core6result13unwrap_failed17h7ed8731a69ab17a3E (type 5) (param i32 i32 i32 i32 i32) + (func $_ZN4core5slice5index22slice_index_order_fail17h511e34aef03a49cbE (type 3) (param i32 i32 i32) + (local i32) + global.get $__stack_pointer + i32.const 48 + i32.sub + local.tee 3 + global.set $__stack_pointer + local.get 3 + local.get 0 + i32.store + local.get 3 + local.get 1 + i32.store offset=4 + local.get 3 + i32.const 8 + i32.add + i32.const 12 + i32.add + i64.const 2 + i64.store align=4 + local.get 3 + i32.const 32 + i32.add + i32.const 12 + i32.add + i32.const 2 + i32.store + local.get 3 + i32.const 2 + i32.store offset=12 + local.get 3 + i32.const 1050984 + i32.store offset=8 + local.get 3 + i32.const 2 + i32.store offset=36 + local.get 3 + local.get 3 + i32.const 32 + i32.add + i32.store offset=16 + local.get 3 + local.get 3 + i32.const 4 + i32.add + i32.store offset=40 + local.get 3 + local.get 3 + i32.store offset=32 + local.get 3 + i32.const 8 + i32.add + local.get 2 + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE + unreachable) + (func $_ZN4core6result13unwrap_failed17hc368cb5845aa399dE (type 6) (param i32 i32 i32 i32 i32) (local i32) global.get $__stack_pointer i32.const 64 @@ -18784,16 +17853,16 @@ i32.add i32.const 12 i32.add - i32.const 30 + i32.const 26 i32.store local.get 5 i32.const 2 i32.store offset=28 local.get 5 - i32.const 1050892 + i32.const 1050584 i32.store offset=24 local.get 5 - i32.const 31 + i32.const 27 i32.store offset=52 local.get 5 local.get 5 @@ -18814,25 +17883,25 @@ i32.const 24 i32.add local.get 4 - call $_ZN4core9panicking9panic_fmt17h6dad0405f48e39e2E + call $_ZN4core9panicking9panic_fmt17h14c85a61aa3d538eE unreachable) - (func $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17hb73b6a73788677afE (type 2) (param i32 i32) (result i32) + (func $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h39acb405d1bb9472E (type 2) (param i32 i32) (result i32) local.get 1 local.get 0 i32.load local.get 0 i32.load offset=4 - call $_ZN4core3fmt9Formatter3pad17h0b6da8b5646917dcE) - (func $_ZN4core5panic10panic_info9PanicInfo7message17ha3c0b951fa489593E (type 9) (param i32) (result i32) - local.get 0 - i32.load offset=12) - (func $_ZN4core5panic10panic_info9PanicInfo8location17h1ccdb1bf0bb693f4E (type 9) (param i32) (result i32) + call $_ZN4core3fmt9Formatter3pad17hdfdd925968056d8dE) + (func $_ZN4core5panic10panic_info9PanicInfo7message17hd4c13a2e438e62f2E (type 4) (param i32) (result i32) local.get 0 i32.load offset=8) - (func $_ZN4core5panic10panic_info9PanicInfo10can_unwind17h75205550bb42d21cE (type 9) (param i32) (result i32) + (func $_ZN4core5panic10panic_info9PanicInfo8location17hd4d0a91e5314f4e9E (type 4) (param i32) (result i32) + local.get 0 + i32.load offset=12) + (func $_ZN4core5panic10panic_info9PanicInfo10can_unwind17h28bb5a3a95a12ae3E (type 4) (param i32) (result i32) local.get 0 i32.load8_u offset=16) - (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h492aa3edaecea1b7E (type 2) (param i32 i32) (result i32) + (func $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h85162f68fed8fde8E (type 2) (param i32 i32) (result i32) local.get 0 i32.load local.get 1 @@ -18840,7 +17909,7 @@ i32.load offset=4 i32.load offset=12 call_indirect (type 2)) - (func $_ZN4core3fmt9Formatter3new17h34283c8bc6308254E (type 3) (param i32 i32 i32) + (func $_ZN4core3fmt9Formatter3new17h6af65e07b3260355E (type 3) (param i32 i32 i32) local.get 0 i32.const 3 i32.store8 offset=32 @@ -18864,10 +17933,11 @@ i32.add local.get 2 i32.store) - (func $_ZN4core3str5count14do_count_chars17h3b059f1cb1060412E (type 2) (param i32 i32) (result i32) - (local i32 i32 i32 i32 i32 i32 i32 i32 i32) + (func $_ZN4core3str5count14do_count_chars17h96cd483782209bbbE (type 2) (param i32 i32) (result i32) + (local 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 @@ -18877,8 +17947,7 @@ local.get 0 i32.sub local.tee 3 - local.get 1 - i32.gt_u + i32.lt_u br_if 0 (;@2;) local.get 1 local.get 3 @@ -18897,13 +17966,12 @@ local.set 1 block ;; label = @3 local.get 2 - local.get 0 - i32.eq - br_if 0 (;@3;) - local.get 3 - i32.const 3 - i32.and - local.set 7 + 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 @@ -18915,17 +17983,9 @@ i32.ge_u br_if 0 (;@5;) i32.const 0 - local.set 1 - i32.const 0 local.set 8 br 1 (;@4;) end - local.get 3 - i32.const -4 - i32.and - local.set 9 - i32.const 0 - local.set 1 i32.const 0 local.set 8 loop ;; label = @5 @@ -18933,26 +17993,26 @@ local.get 0 local.get 8 i32.add - local.tee 2 + local.tee 9 i32.load8_s i32.const -65 i32.gt_s i32.add - local.get 2 + local.get 9 i32.const 1 i32.add i32.load8_s i32.const -65 i32.gt_s i32.add - local.get 2 + local.get 9 i32.const 2 i32.add i32.load8_s i32.const -65 i32.gt_s i32.add - local.get 2 + local.get 9 i32.const 3 i32.add i32.load8_s @@ -18960,38 +18020,39 @@ i32.gt_s i32.add local.set 1 - local.get 9 local.get 8 i32.const 4 i32.add local.tee 8 - i32.ne br_if 0 (;@5;) end end local.get 7 - i32.eqz 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 2 + local.set 9 loop ;; label = @4 local.get 1 - local.get 2 + local.get 9 i32.load8_s i32.const -65 i32.gt_s i32.add local.set 1 - local.get 2 + local.get 9 i32.const 1 i32.add - local.set 2 - local.get 7 - i32.const -1 + local.set 9 + local.get 2 + i32.const 1 i32.add - local.tee 7 + local.tee 2 br_if 0 (;@4;) end end @@ -19008,7 +18069,7 @@ i32.const -4 i32.and i32.add - local.tee 2 + local.tee 9 i32.load8_s i32.const -65 i32.gt_s @@ -19018,7 +18079,7 @@ i32.eq br_if 0 (;@3;) local.get 6 - local.get 2 + local.get 9 i32.load8_s offset=1 i32.const -65 i32.gt_s @@ -19029,7 +18090,7 @@ i32.eq br_if 0 (;@3;) local.get 6 - local.get 2 + local.get 9 i32.load8_s offset=2 i32.const -65 i32.gt_s @@ -19039,56 +18100,49 @@ local.get 4 i32.const 2 i32.shr_u - local.set 9 + local.set 3 local.get 6 local.get 1 i32.add - local.set 7 + local.set 2 loop ;; label = @3 local.get 8 - local.set 4 - local.get 9 + local.set 6 + local.get 3 i32.eqz br_if 2 (;@1;) - local.get 9 + local.get 3 i32.const 192 - local.get 9 + local.get 3 i32.const 192 i32.lt_u select - local.tee 3 + local.tee 4 i32.const 3 i32.and - local.set 6 - local.get 3 + local.set 7 + local.get 4 i32.const 2 i32.shl local.set 5 + i32.const 0 + local.set 9 block ;; label = @4 - block ;; label = @5 - local.get 3 - i32.const 252 - i32.and - local.tee 10 - br_if 0 (;@5;) - i32.const 0 - local.set 2 - br 1 (;@4;) - end local.get 4 - local.get 10 - i32.const 2 - i32.shl + i32.const 4 + i32.lt_u + br_if 0 (;@4;) + local.get 6 + local.get 5 + i32.const 1008 + i32.and i32.add local.set 0 i32.const 0 - local.set 2 - local.get 4 + local.set 9 + local.get 6 local.set 1 loop ;; label = @5 - local.get 1 - i32.eqz - br_if 1 (;@4;) local.get 1 i32.const 12 i32.add @@ -19147,12 +18201,12 @@ i32.or i32.const 16843009 i32.and - local.get 2 + local.get 9 i32.add i32.add i32.add i32.add - local.set 2 + local.set 9 local.get 1 i32.const 16 i32.add @@ -19162,20 +18216,20 @@ br_if 0 (;@5;) end end - local.get 9 local.get 3 - i32.sub - local.set 9 local.get 4 + i32.sub + local.set 3 + local.get 6 local.get 5 i32.add local.set 8 - local.get 2 + local.get 9 i32.const 8 i32.shr_u i32.const 16711935 i32.and - local.get 2 + local.get 9 i32.const 16711935 i32.and i32.add @@ -19183,45 +18237,40 @@ i32.mul i32.const 16 i32.shr_u - local.get 7 + local.get 2 i32.add - local.set 7 - local.get 6 + local.set 2 + local.get 7 i32.eqz br_if 0 (;@3;) end + local.get 6 + local.get 4 + i32.const 252 + i32.and + 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 - block ;; label = @4 - local.get 4 - br_if 0 (;@4;) - i32.const 0 - local.set 1 - br 1 (;@3;) - end - local.get 4 - local.get 10 - i32.const 2 - i32.shl - i32.add - local.tee 2 - 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 - local.get 6 + local.get 7 i32.const 1 i32.eq br_if 0 (;@3;) - local.get 2 + local.get 9 i32.load offset=4 local.tee 8 i32.const -1 @@ -19237,18 +18286,18 @@ local.get 1 i32.add local.set 1 - local.get 6 + local.get 7 i32.const 2 i32.eq br_if 0 (;@3;) - local.get 2 + local.get 9 i32.load offset=8 - local.tee 2 + local.tee 9 i32.const -1 i32.xor i32.const 7 i32.shr_u - local.get 2 + local.get 9 i32.const 6 i32.shr_u i32.or @@ -19271,10 +18320,9 @@ i32.mul i32.const 16 i32.shr_u - local.get 7 + local.get 2 i32.add - local.set 7 - br 1 (;@1;) + return end block ;; label = @2 local.get 1 @@ -19293,23 +18341,23 @@ i32.ge_u br_if 0 (;@3;) i32.const 0 - local.set 7 - 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 9 - i32.const 0 - local.set 7 + local.set 3 i32.const 0 local.set 2 + i32.const 0 + local.set 9 loop ;; label = @3 - local.get 7 - local.get 0 local.get 2 + local.get 0 + local.get 9 i32.add local.tee 1 i32.load8_s @@ -19337,12 +18385,12 @@ i32.const -65 i32.gt_s i32.add - local.set 7 + local.set 2 + local.get 3 local.get 9 - local.get 2 i32.const 4 i32.add - local.tee 2 + local.tee 9 i32.ne br_if 0 (;@3;) end @@ -19351,17 +18399,17 @@ i32.eqz br_if 0 (;@1;) local.get 0 - local.get 2 + local.get 9 i32.add local.set 1 loop ;; label = @2 - local.get 7 + local.get 2 local.get 1 i32.load8_s i32.const -65 i32.gt_s i32.add - local.set 7 + local.set 2 local.get 1 i32.const 1 i32.add @@ -19373,8 +18421,8 @@ br_if 0 (;@2;) end end - local.get 7) - (func $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h7186e489b53c8fefE (type 13) (param i32 i32 i32 i32 i32) (result i32) + local.get 2) + (func $_ZN4core3fmt9Formatter12pad_integral12write_prefix17h633cee055c70f5b3E (type 13) (param i32 i32 i32 i32 i32) (result i32) (local i32) block ;; label = @1 block ;; label = @2 @@ -19406,58 +18454,16 @@ local.get 1 i32.load offset=12 call_indirect (type 1)) - (func $_ZN4core3fmt9Formatter9write_fmt17hfaeca399b1b07a58E (type 2) (param i32 i32) (result i32) - (local i32 i32) - global.get $__stack_pointer - i32.const 32 - i32.sub - local.tee 2 - global.set $__stack_pointer + (func $_ZN4core3fmt9Formatter9write_fmt17h9753a560d984b64cE (type 2) (param i32 i32) (result i32) + local.get 0 + i32.load offset=20 local.get 0 i32.const 24 i32.add i32.load - local.set 3 - local.get 0 - i32.load offset=20 - local.set 0 - local.get 2 - i32.const 8 - i32.add - i32.const 16 - i32.add - local.get 1 - i32.const 16 - i32.add - i64.load align=4 - i64.store - local.get 2 - i32.const 8 - i32.add - i32.const 8 - i32.add - local.get 1 - i32.const 8 - i32.add - i64.load align=4 - i64.store - local.get 2 local.get 1 - i64.load align=4 - i64.store offset=8 - local.get 0 - local.get 3 - local.get 2 - i32.const 8 - i32.add - call $_ZN4core3fmt5write17hce4d120ebbfb2b82E - local.set 1 - local.get 2 - i32.const 32 - i32.add - global.set $__stack_pointer - local.get 1) - (func $_ZN43_$LT$char$u20$as$u20$core..fmt..Display$GT$3fmt17he004b24150b859cbE (type 2) (param i32 i32) (result i32) + call $_ZN4core3fmt5write17h362bec5724a70484E) + (func $_ZN43_$LT$char$u20$as$u20$core..fmt..Display$GT$3fmt17hffed32b4ee7feec1E (type 2) (param i32 i32) (result i32) (local i32) global.get $__stack_pointer i32.const 16 @@ -19587,7 +18593,7 @@ i32.const 12 i32.add local.get 0 - call $_ZN4core3fmt9Formatter3pad17h0b6da8b5646917dcE + call $_ZN4core3fmt9Formatter3pad17hdfdd925968056d8dE local.set 1 br 1 (;@1;) end @@ -19607,7 +18613,7 @@ i32.add global.set $__stack_pointer local.get 1) - (func $_ZN4core3fmt3num3imp7fmt_u6417h7a228af73e4122cdE (type 16) (param i64 i32 i32) (result i32) + (func $_ZN4core3fmt3num3imp7fmt_u6417hfad12596563b72deE (type 16) (param i64 i32 i32) (result i32) (local i32 i32 i64 i32 i32 i32) global.get $__stack_pointer i32.const 48 @@ -19654,7 +18660,7 @@ local.tee 8 i32.const 1 i32.shl - i32.const 1050954 + i32.const 1050648 i32.add i32.load16_u align=1 i32.store16 align=1 @@ -19670,7 +18676,7 @@ i32.and i32.const 1 i32.shl - i32.const 1050954 + i32.const 1050648 i32.add i32.load16_u align=1 i32.store16 align=1 @@ -19719,7 +18725,7 @@ i32.and i32.const 1 i32.shl - i32.const 1050954 + i32.const 1050648 i32.add i32.load16_u align=1 i32.store16 align=1 @@ -19741,7 +18747,7 @@ local.get 6 i32.const 1 i32.shl - i32.const 1050954 + i32.const 1050648 i32.add i32.load16_u align=1 i32.store16 align=1 @@ -19762,7 +18768,7 @@ end local.get 2 local.get 1 - i32.const 1050804 + i32.const 1050496 i32.const 0 local.get 3 i32.const 9 @@ -19772,14 +18778,14 @@ i32.const 39 local.get 4 i32.sub - call $_ZN4core3fmt9Formatter12pad_integral17h1311a70c35efb64aE + call $_ZN4core3fmt9Formatter12pad_integral17h7b816fd454935dbfE local.set 4 local.get 3 i32.const 48 i32.add global.set $__stack_pointer local.get 4) - (func $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17h59090ba5de968a5dE (type 2) (param i32 i32) (result i32) + (func $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17ha1f7928f6729e454E (type 2) (param i32 i32) (result i32) (local i32 i32 i32) global.get $__stack_pointer i32.const 128 @@ -19830,18 +18836,18 @@ i32.const 128 i32.add local.tee 0 - i32.const 129 - i32.lt_u + i32.const 128 + i32.le_u br_if 0 (;@1;) local.get 0 i32.const 128 - i32.const 1050936 - call $_ZN4core5slice5index26slice_start_index_len_fail17h851b41322c5eadc1E + i32.const 1050632 + call $_ZN4core5slice5index26slice_start_index_len_fail17hb6eb0f03f001b495E unreachable end local.get 1 i32.const 1 - i32.const 1050952 + i32.const 1050600 i32.const 2 local.get 2 local.get 3 @@ -19851,17 +18857,17 @@ i32.const 0 local.get 3 i32.sub - call $_ZN4core3fmt9Formatter12pad_integral17h1311a70c35efb64aE + call $_ZN4core3fmt9Formatter12pad_integral17h7b816fd454935dbfE local.set 0 local.get 2 i32.const 128 i32.add global.set $__stack_pointer local.get 0) - (func $_ZN53_$LT$core..fmt..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h6624c0bc755aa54fE (type 2) (param i32 i32) (result i32) + (func $_ZN53_$LT$core..fmt..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h69954b3d7196f27cE (type 2) (param i32 i32) (result i32) local.get 1 i32.load offset=20 - i32.const 1051308 + i32.const 1051000 i32.const 5 local.get 1 i32.const 24 @@ -19869,13 +18875,13 @@ i32.load i32.load offset=12 call_indirect (type 1)) - (func $_ZN17compiler_builtins3mem6memcpy17ha02d5535b4a2d57fE (type 1) (param i32 i32 i32) (result i32) + (func $_ZN17compiler_builtins3mem6memcpy17hcd9ed85d913ea258E (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 + i32.const 16 + i32.ge_u br_if 0 (;@2;) local.get 0 local.set 3 @@ -20049,13 +19055,13 @@ end end local.get 0) - (func $_ZN17compiler_builtins3mem6memset17h4307a527d1d13eb9E (type 1) (param i32 i32 i32) (result i32) + (func $_ZN17compiler_builtins3mem6memset17h20f0440529ece8f9E (type 1) (param i32 i32 i32) (result i32) (local i32 i32 i32) block ;; label = @1 block ;; label = @2 local.get 2 - i32.const 15 - i32.gt_u + i32.const 16 + i32.ge_u br_if 0 (;@2;) local.get 0 local.set 3 @@ -20154,22 +19160,22 @@ local.get 0 local.get 1 local.get 2 - call $_ZN17compiler_builtins3mem6memcpy17ha02d5535b4a2d57fE) + call $_ZN17compiler_builtins3mem6memcpy17hcd9ed85d913ea258E) (func $memset (type 1) (param i32 i32 i32) (result i32) local.get 0 local.get 1 local.get 2 - call $_ZN17compiler_builtins3mem6memset17h4307a527d1d13eb9E) - (table (;0;) 34 34 funcref) + call $_ZN17compiler_builtins3mem6memset17h20f0440529ece8f9E) + (table (;0;) 30 30 funcref) (memory (;0;) 17) (global $__stack_pointer (mut i32) (i32.const 1048576)) - (global (;1;) i32 (i32.const 1051801)) - (global (;2;) i32 (i32.const 1051808)) + (global (;1;) i32 (i32.const 1051493)) + (global (;2;) i32 (i32.const 1051504)) (export "memory" (memory 0)) (export "new" (func $new)) (export "render" (func $render)) (export "tick" (func $tick)) (export "__data_end" (global 1)) (export "__heap_base" (global 2)) - (elem (;0;) (i32.const 1) func $_ZN43_$LT$char$u20$as$u20$core..fmt..Display$GT$3fmt17he004b24150b859cbE $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17hbaa66a6ca3ee12c8E $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17h59090ba5de968a5dE $_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17hc0df4eb28d8cec84E $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$9write_str17h8518f18cab991192E $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char17hc417d4dac098394aE $_ZN4core3fmt5Write9write_fmt17hf44274f11aa39af1E $_ZN4core3ptr37drop_in_place$LT$core..fmt..Error$GT$17h08b1104fdb863a57E $_ZN53_$LT$core..fmt..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h6624c0bc755aa54fE $_ZN4core3ptr54drop_in_place$LT$$RF$mut$u20$alloc..string..String$GT$17h9fa1a98b644b9394E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17he78419bed925594bE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17h9501e077cb028725E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h0ace149d9fb3975bE $_ZN3std5alloc24default_alloc_error_hook17hab840010b11b64ffE $_ZN4core3ptr100drop_in_place$LT$$RF$mut$u20$std..io..Write..write_fmt..Adapter$LT$alloc..vec..Vec$LT$u8$GT$$GT$$GT$17hd4e2b285c82bbfddE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_str17he71ac95e8290658dE $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$10write_char17h7cac422012c51d26E $_ZN50_$LT$$RF$mut$u20$W$u20$as$u20$core..fmt..Write$GT$9write_fmt17h8ae0b2b6f28f8ca0E $_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h55fc1a049449355bE $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h2f9122058122ec53E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h493a5d87ecb9888bE $_ZN93_$LT$std..panicking..begin_panic_handler..StrPanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$8take_box17hb935537982794978E $_ZN93_$LT$std..panicking..begin_panic_handler..StrPanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$3get17h5a47fb41c3bdfcd5E $_ZN4core3ptr70drop_in_place$LT$std..panicking..begin_panic_handler..PanicPayload$GT$17h8c6df4fab5d2c7ebE $_ZN90_$LT$std..panicking..begin_panic_handler..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$8take_box17h910c38d4f578a2b7E $_ZN90_$LT$std..panicking..begin_panic_handler..PanicPayload$u20$as$u20$core..panic..BoxMeUp$GT$3get17hdf52e0f41fcdce1bE $_ZN4core3ptr29drop_in_place$LT$$LP$$RP$$GT$17h4601b2f1c809a5c8E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17hc16c025c0c717dd0E $_ZN4core3ops8function6FnOnce9call_once17h76067c467ab7d853E $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h492aa3edaecea1b7E $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17hb73b6a73788677afE $_ZN4core3ptr37drop_in_place$LT$core..fmt..Error$GT$17h20c52a201febd195E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17hfb753db928a637b4E) - (data $.rodata (i32.const 1048576) "capacity overflow\00\00\00\00\00\10\00\11\00\00\00/rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/alloc/src/vec/spec_from_iter_nested.rs\00\00\1c\00\10\00^\00\00\00;\00\00\00\12\00\00\00invalid args\8c\00\10\00\0c\00\00\00/rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/fmt/mod.rs\00\a0\00\10\00K\00\00\00+\01\00\00\0d\00\00\00\04\00\00\00\0c\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00a Display implementation returned an error unexpectedly\00\08\00\00\00\00\00\00\00\01\00\00\00\09\00\00\00/rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/alloc/src/string.rs\00\5c\01\10\00K\00\00\00\dd\09\00\00\0e\00\00\00/rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/char/methods.rs\b8\01\10\00P\00\00\00\d1\06\00\00\0a\00\00\00encode_utf8: need bytes to encode U+, but the buffer has \00\00\18\02\10\00\12\00\00\00*\02\10\00\13\00\00\00=\02\10\00\15\00\00\00\b8\01\10\00P\00\00\00\ca\06\00\00\0e\00\00\00chunk size must be non-zero\00|\02\10\00\1b\00\00\00assertion failed: mid <= self.len()assertion failed: 0 < pointee_size && pointee_size <= isize::MAX as usize/rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/ptr/const_ptr.rs\00\00\00\0c\03\10\00Q\00\00\00\1d\03\00\00\09\00\00\00/rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/alloc/src/vec/mod.rsp\03\10\00L\00\00\00\1a\0b\00\00\0d\00\00\00/rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/slice/iter.rs\00\00\cc\03\10\00N\00\00\00\c2\05\00\00%\00\00\00/Users/jakob/Desktop/wasm-r3/tests/node/rust-game-of-life/index.rs\00\00,\04\10\00B\00\00\00\16\00\00\00\19\00\00\00attempt to multiply with overflow\00\00\00,\04\10\00B\00\00\003\00\00\00\1c\00\00\00,\04\10\00B\00\00\00<\00\00\00\11\00\00\00,\04\10\00B\00\00\00C\00\00\00\0a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00attempt to add with overflow,\04\10\00B\00\00\00C\00\00\00\09\00\00\00,\04\10\00B\00\00\00H\00\00\00\1b\00\00\00\00\00\00\00attempt to subtract with overflow\00\00\00,\04\10\00B\00\00\00I\00\00\00\1f\00\00\00,\04\10\00B\00\00\00N\00\00\00$\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00attempt to calculate the remainder with a divisor of zero\00\00\00,\04\10\00B\00\00\00O\00\00\00$\00\00\00,\04\10\00B\00\00\00Q\00\00\00\1a\00\00\00,\04\10\00B\00\00\00Q\00\00\00\11\00\00\00,\04\10\00B\00\00\00Z\00\00\00+\00\00\00\0a\00\00\00\ec\05\10\00\01\00\00\00,\04\10\00B\00\00\00_\00\00\00\0d\00\00\00\00\00\00\00\1c\00\10\00\00\00\00\00,\04\10\00B\00\00\00]\00\00\00\11\00\00\00\0a\00\00\00\04\00\00\00\04\00\00\00\0b\00\00\00\0c\00\00\00\0d\00\00\00invalid args<\06\10\00\0c\00\00\00/rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/fmt/mod.rs\00P\06\10\00K\00\00\005\01\00\00\0d\00\00\00P\06\10\00K\00\00\00+\01\00\00\0d\00\00\00/rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/alloc/layout.rs\bc\06\10\00P\00\00\00\bf\01\00\00)\00\00\00\00\00\00\00attempt to divide by zerocalled `Option::unwrap()` on a `None` value\0f\00\00\00\04\00\00\00\04\00\00\00\10\00\00\00\11\00\00\00\12\00\00\00memory allocation of bytes failed\00\00|\07\10\00\15\00\00\00\91\07\10\00\0d\00\00\00library/std/src/alloc.rs\b0\07\10\00\18\00\00\00U\01\00\00\09\00\00\00library/std/src/panicking.rs\d8\07\10\00\1c\00\00\00O\02\00\00\1f\00\00\00\d8\07\10\00\1c\00\00\00P\02\00\00\1e\00\00\00\13\00\00\00\0c\00\00\00\04\00\00\00\14\00\00\00\0f\00\00\00\08\00\00\00\04\00\00\00\15\00\00\00\0f\00\00\00\08\00\00\00\04\00\00\00\16\00\00\00\17\00\00\00\18\00\00\00\10\00\00\00\04\00\00\00\19\00\00\00\1a\00\00\00\1b\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00library/alloc/src/raw_vec.rscapacity overflow\00\00\00\88\08\10\00\11\00\00\00l\08\10\00\1c\00\00\00\0c\02\00\00\05\00\00\00 \00\00\00\00\00\00\00\01\00\00\00!\00\00\00index out of bounds: the len is but the index is \00\00\c4\08\10\00 \00\00\00\e4\08\10\00\12\00\00\00: \00\00\b4\08\10\00\00\00\00\00\08\09\10\00\02\00\00\00library/core/src/fmt/num.rs\00\1c\09\10\00\1b\00\00\00i\00\00\00\14\00\00\000x00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899range start index out of range for slice of length \00\00\12\0a\10\00\12\00\00\00$\0a\10\00\22\00\00\00range end index X\0a\10\00\10\00\00\00$\0a\10\00\22\00\00\00slice index starts at but ends at \00x\0a\10\00\16\00\00\00\8e\0a\10\00\0d\00\00\00Error")) + (elem (;0;) (i32.const 1) func $_ZN43_$LT$char$u20$as$u20$core..fmt..Display$GT$3fmt17hffed32b4ee7feec1E $_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u32$GT$3fmt17h4e0e32fdcb1fd671E $_ZN4core3fmt3num53_$LT$impl$u20$core..fmt..UpperHex$u20$for$u20$i32$GT$3fmt17ha1f7928f6729e454E $_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h74d38b69f88484d8E $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$9write_str17h5739f5b458ff7fc1E $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char17ha63d6b9ea41d3f5eE $_ZN4core3fmt5Write9write_fmt17he4c4efce63cb8009E $_ZN4core3ptr37drop_in_place$LT$core..fmt..Error$GT$17h3320a8636f572fa7E $_ZN53_$LT$core..fmt..Error$u20$as$u20$core..fmt..Debug$GT$3fmt17h69954b3d7196f27cE $_ZN3std5alloc24default_alloc_error_hook17hc2a71c6bbbdfc2afE $_ZN4core3ptr42drop_in_place$LT$alloc..string..String$GT$17h43a2c67c5ee0fda2E $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$9write_str17hf2204cbc5b4f5a57E $_ZN58_$LT$alloc..string..String$u20$as$u20$core..fmt..Write$GT$10write_char17ha17b8b7c0f49fe81E $_ZN4core3fmt5Write9write_fmt17he52a8376fe10e016E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17hc1fa5cd7ba7b388fE $_ZN4core3ptr120drop_in_place$LT$$LP$$RF$std..ffi..os_str..OsString$C$$RF$core..option..Option$LT$std..ffi..os_str..OsString$GT$$RP$$GT$17ha27ad9ced7d25b5bE $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17ha70a4555b5aec906E $_ZN99_$LT$std..panicking..begin_panic_handler..StaticStrPayload$u20$as$u20$core..panic..PanicPayload$GT$8take_box17he8029361236923d4E $_ZN99_$LT$std..panicking..begin_panic_handler..StaticStrPayload$u20$as$u20$core..panic..PanicPayload$GT$3get17hc439086ced5b4208E $_ZN4core3ptr77drop_in_place$LT$std..panicking..begin_panic_handler..FormatStringPayload$GT$17h48c273b6ad39dcc5E $_ZN102_$LT$std..panicking..begin_panic_handler..FormatStringPayload$u20$as$u20$core..panic..PanicPayload$GT$8take_box17h5929bfcf172a673bE $_ZN102_$LT$std..panicking..begin_panic_handler..FormatStringPayload$u20$as$u20$core..panic..PanicPayload$GT$3get17ha6f02a3978ce3c39E $_ZN4core3ptr29drop_in_place$LT$$LP$$RP$$GT$17h23e4e6157c2e3123E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17he9d5f3dc2d5feb11E $_ZN4core3ops8function6FnOnce9call_once17h76fe3987e9baa657E $_ZN42_$LT$$RF$T$u20$as$u20$core..fmt..Debug$GT$3fmt17h85162f68fed8fde8E $_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17h39acb405d1bb9472E $_ZN4core3ptr37drop_in_place$LT$core..fmt..Error$GT$17h758e210251b6ee64E $_ZN36_$LT$T$u20$as$u20$core..any..Any$GT$7type_id17h657a530d99624e05E) + (data $.rodata (i32.const 1048576) "capacity overflow\00\00\00\00\00\10\00\11\00\00\00/rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/alloc/src/vec/spec_from_iter_nested.rs\00\00\1c\00\10\00^\00\00\00;\00\00\00\12\00\00\00invalid args\8c\00\10\00\0c\00\00\00/rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/fmt/mod.rs\00\a0\00\10\00K\00\00\00?\01\00\00\0d\00\00\00\04\00\00\00\0c\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00a Display implementation returned an error unexpectedly\00\08\00\00\00\00\00\00\00\01\00\00\00\09\00\00\00/rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/alloc/src/string.rs\00\5c\01\10\00K\00\00\00\9c\09\00\00\0e\00\00\00\a0\00\10\00K\00\00\00I\01\00\00\0d\00\00\00/rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/char/methods.rs\c8\01\10\00P\00\00\00\03\07\00\00\0d\00\00\00encode_utf8: need bytes to encode U+, but the buffer has \00\00(\02\10\00\12\00\00\00:\02\10\00\13\00\00\00M\02\10\00\15\00\00\00\c8\01\10\00P\00\00\00\fc\06\00\00\0e\00\00\00/rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/alloc/layout.rs\8c\02\10\00P\00\00\00\bf\01\00\00)\00\00\00\00\00\00\00attempt to divide by zerochunk size must be non-zero\09\03\10\00\1b\00\00\00/rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/alloc/src/vec/mod.rs,\03\10\00L\00\00\00O\0b\00\00\0d\00\00\00assertion failed: mid <= self.len()/rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/slice/iter.rs\00\00\00\ab\03\10\00N\00\00\00\c3\05\00\00%\00\00\00/home/don/wasm-r3/tests/node/rust-game-of-life/index.rs\00\0c\04\10\007\00\00\00\16\00\00\00\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00attempt to multiply with overflow\00\00\00\0c\04\10\007\00\00\003\00\00\00&\00\00\00\0c\04\10\007\00\00\00<\00\00\00\15\00\00\00\0c\04\10\007\00\00\00C\00\00\00\0a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00attempt to add with overflow\0c\04\10\007\00\00\00C\00\00\00\09\00\00\00\0c\04\10\007\00\00\00H\00\00\00\1b\00\00\00\00\00\00\00attempt to subtract with overflow\00\00\00\0c\04\10\007\00\00\00I\00\00\00\1f\00\00\00\0c\04\10\007\00\00\00N\00\00\00$\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00attempt to calculate the remainder with a divisor of zero\00\00\00\0c\04\10\007\00\00\00O\00\00\00$\00\00\00\0c\04\10\007\00\00\00Q\00\00\00$\00\00\00\0c\04\10\007\00\00\00Q\00\00\00\11\00\00\00\0c\04\10\007\00\00\00Z\00\00\00+\00\00\00\0a\00\00\00\cc\05\10\00\01\00\00\00\0c\04\10\007\00\00\00_\00\00\00\0d\00\00\00\00\00\00\00\1c\00\10\00\00\00\00\00\0c\04\10\007\00\00\00]\00\00\00\11\00\00\00called `Option::unwrap()` on a `None` value\00\0b\00\00\00\0c\00\00\00\04\00\00\00\0c\00\00\00\0d\00\00\00\0e\00\00\00memory allocation of bytes failed\00\00H\06\10\00\15\00\00\00]\06\10\00\0d\00\00\00library/std/src/alloc.rs|\06\10\00\18\00\00\00b\01\00\00\09\00\00\00library/std/src/panicking.rs\a4\06\10\00\1c\00\00\00S\02\00\00\1f\00\00\00\a4\06\10\00\1c\00\00\00T\02\00\00\1e\00\00\00\0b\00\00\00\0c\00\00\00\04\00\00\00\0f\00\00\00\10\00\00\00\08\00\00\00\04\00\00\00\11\00\00\00\10\00\00\00\08\00\00\00\04\00\00\00\12\00\00\00\13\00\00\00\14\00\00\00\10\00\00\00\04\00\00\00\15\00\00\00\16\00\00\00\17\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00library/alloc/src/raw_vec.rscapacity overflow\00\00\00T\07\10\00\11\00\00\008\07\10\00\1c\00\00\00\16\02\00\00\05\00\00\00\1c\00\00\00\00\00\00\00\01\00\00\00\1d\00\00\00index out of bounds: the len is but the index is \00\00\90\07\10\00 \00\00\00\b0\07\10\00\12\00\00\00: \00\00\80\07\10\00\00\00\00\00\d4\07\10\00\02\00\00\000xlibrary/core/src/fmt/num.rs\00\00\00\ea\07\10\00\1b\00\00\00i\00\00\00\17\00\00\0000010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899range start index out of range for slice of length \e0\08\10\00\12\00\00\00\f2\08\10\00\22\00\00\00range end index $\09\10\00\10\00\00\00\f2\08\10\00\22\00\00\00slice index starts at but ends at \00D\09\10\00\16\00\00\00Z\09\10\00\0d\00\00\00Error")) diff --git a/tests/node/table-exp-host-add-friend/index.wat b/tests/node/table-exp-host-add-friend/index.wat index 9084e23a..1ee746a4 100644 --- a/tests/node/table-exp-host-add-friend/index.wat +++ b/tests/node/table-exp-host-add-friend/index.wat @@ -9,7 +9,7 @@ (import "env" "foo8" (func)) (import "env" "foo9" (func)) (import "env" "foo10" (func)) - (func $main (export "main") + (func $main (export "entry") i32.const 0 call_indirect ) diff --git a/tests/node/table-exp-host-add-friend/test.js b/tests/node/table-exp-host-add-friend/test.js index eef85e95..c9f117bf 100644 --- a/tests/node/table-exp-host-add-friend/test.js +++ b/tests/node/table-exp-host-add-friend/test.js @@ -28,5 +28,5 @@ export default async function test(wasmBinary) { let friend = await WebAssembly.instantiate(friendBinary, friendImports) instance = wasm.instance instance.exports.table.set(0, friend.instance.exports.greet) - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/table-exp-host-grow/index.wat b/tests/node/table-exp-host-grow/index.wat index d6b61623..f071372e 100644 --- a/tests/node/table-exp-host-grow/index.wat +++ b/tests/node/table-exp-host-grow/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeTable" (func $changeTable (result i32))) - (func $main (export "main") + (func $main (export "entry") call $changeTable table.get drop diff --git a/tests/node/table-exp-host-grow/test.js b/tests/node/table-exp-host-grow/test.js index 915a0244..7352a852 100644 --- a/tests/node/table-exp-host-grow/test.js +++ b/tests/node/table-exp-host-grow/test.js @@ -11,5 +11,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/table-exp-host-mod/index.wat b/tests/node/table-exp-host-mod/index.wat index a03a90ab..6c80745e 100644 --- a/tests/node/table-exp-host-mod/index.wat +++ b/tests/node/table-exp-host-mod/index.wat @@ -3,7 +3,7 @@ (import "env" "changeTable2" (func $changeTable2)) (import "env" "a" (func $a (result i32))) (import "env" "b" (func $b (result i32))) - (func $main (export "main") (result i32) + (func $main (export "entry") (result i32) i32.const 0 (call_indirect (result i32)) drop diff --git a/tests/node/table-exp-host-mod/test.js b/tests/node/table-exp-host-mod/test.js index 0d905600..a0f16a40 100644 --- a/tests/node/table-exp-host-mod/test.js +++ b/tests/node/table-exp-host-mod/test.js @@ -14,5 +14,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/table-exp-internal-mod/index.wat b/tests/node/table-exp-internal-mod/index.wat index bd63ef95..25f130bc 100644 --- a/tests/node/table-exp-internal-mod/index.wat +++ b/tests/node/table-exp-internal-mod/index.wat @@ -1,5 +1,5 @@ (module - (func $main (export "main") (result i32) + (func $main (export "entry") (result i32) i32.const 0 (call_indirect (result i32)) drop diff --git a/tests/node/table-exp-internal-mod/test.js b/tests/node/table-exp-internal-mod/test.js index 0d905600..a0f16a40 100644 --- a/tests/node/table-exp-internal-mod/test.js +++ b/tests/node/table-exp-internal-mod/test.js @@ -14,5 +14,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/table-imp-host-mod/index.wat b/tests/node/table-imp-host-mod/index.wat index 3d434e81..611b6aa2 100644 --- a/tests/node/table-imp-host-mod/index.wat +++ b/tests/node/table-imp-host-mod/index.wat @@ -3,7 +3,7 @@ (import "env" "changeTable" (func $changeTable)) (import "env" "a" (func $a (result i32))) (import "env" "b" (func $b (result i32))) - (func $main (export "main") (result i32) + (func $main (export "entry") (result i32) i32.const 0 (call_indirect (result i32)) drop diff --git a/tests/node/table-imp-host-mod/test.js b/tests/node/table-imp-host-mod/test.js index f454d157..3789dcbe 100644 --- a/tests/node/table-imp-host-mod/test.js +++ b/tests/node/table-imp-host-mod/test.js @@ -13,5 +13,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/table-imp-init-max/index.wat b/tests/node/table-imp-init-max/index.wat index 74cde7da..c1236aa5 100644 --- a/tests/node/table-imp-init-max/index.wat +++ b/tests/node/table-imp-init-max/index.wat @@ -1,6 +1,6 @@ (module (import "env" "table" (table 2 2 funcref)) - (func $main (export "main") (result i32) + (func $main (export "entry") (result i32) i32.const 0 (call_indirect (result i32)) ) diff --git a/tests/node/table-imp-init-max/test.js b/tests/node/table-imp-init-max/test.js index 7c90e0e8..23bb68b0 100644 --- a/tests/node/table-imp-init-max/test.js +++ b/tests/node/table-imp-init-max/test.js @@ -8,5 +8,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/test01/index.wat b/tests/node/test01/index.wat index 095d05cf..cc0f5038 100644 --- a/tests/node/test01/index.wat +++ b/tests/node/test01/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeMem" (func $changeMemHost)) - (func $main (export "main") + (func $main (export "entry") call $changeMemHost i32.const 1 i32.load diff --git a/tests/node/test01/test.js b/tests/node/test01/test.js index da21ccf0..34576f6d 100644 --- a/tests/node/test01/test.js +++ b/tests/node/test01/test.js @@ -9,5 +9,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/test02/index.wat b/tests/node/test02/index.wat index 4efc28cc..f2059ccb 100644 --- a/tests/node/test02/index.wat +++ b/tests/node/test02/index.wat @@ -1,6 +1,6 @@ (module (import "env" "changeMem" (func $changeMemHost (param i32 i32))) - (func $main (export "main") + (func $main (export "entry") i32.const 0 i32.const 0 i32.store diff --git a/tests/node/test02/test.js b/tests/node/test02/test.js index 5dff3ffa..c4b3957c 100644 --- a/tests/node/test02/test.js +++ b/tests/node/test02/test.js @@ -9,5 +9,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) instance = wasm.instance - instance.exports.main() + instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/test03/index.wat b/tests/node/test03/index.wat index 26055804..ea7ae805 100644 --- a/tests/node/test03/index.wat +++ b/tests/node/test03/index.wat @@ -1,6 +1,6 @@ (module (import "env" "add" (func $add (param i32 i32) (result i32))) - (func $main (export "main") + (func $main (export "entry") i32.const 1 i32.const 2 call $add diff --git a/tests/node/test03/test.js b/tests/node/test03/test.js index c29789ae..005f209d 100644 --- a/tests/node/test03/test.js +++ b/tests/node/test03/test.js @@ -6,5 +6,5 @@ export default async function test(wasmBinary) { } let wasm = await WebAssembly.instantiate(wasmBinary, imports) - wasm.instance.exports.main() + wasm.instance.exports.entry() } \ No newline at end of file diff --git a/tests/node/test04/index.wat b/tests/node/test04/index.wat index efa476a9..cd2e4a61 100644 --- a/tests/node/test04/index.wat +++ b/tests/node/test04/index.wat @@ -2,7 +2,7 @@ (import "env" "add" (func $add (param i32 i32) (result i32))) (import "env" "sub" (func $sub (param f64 f64) (result f64))) (import "lib" "add" (func $lib_add (param f32 f32) (result f64))) - (func $main (export "main") + (func $main (export "entry") i32.const 1 i32.const 2 call $add diff --git a/tests/node/test04/test.js b/tests/node/test04/test.js index 5c25d02d..bd5f4221 100644 --- a/tests/node/test04/test.js +++ b/tests/node/test04/test.js @@ -9,5 +9,5 @@ export default async function test(wasmBinary) { } } let wasm = await WebAssembly.instantiate(wasmBinary, imports) - wasm.instance.exports.main() + wasm.instance.exports.entry() } \ No newline at end of file diff --git a/tests/run-tests.cts b/tests/run-tests.cts index 4a05be1e..73a53bba 100644 --- a/tests/run-tests.cts +++ b/tests/run-tests.cts @@ -24,7 +24,7 @@ async function cleanUp(testPath: string) { await rmSafe(path.join(testPath, "index.wasm")) await rmSafe(path.join(testPath, "trace.r3")) await rmSafe(path.join(testPath, "replay-trace.r3")) - await rmSafe(path.join(testPath, "replay.js")) + // await rmSafe(path.join(testPath, "replay.js")) await rmSafe(path.join(testPath, "report.txt")) await rmSafe(path.join(testPath, "long.js")) await rmSafe(path.join(testPath, "call-graph.txt")) @@ -41,6 +41,7 @@ async function runNodeTest(name: string, options): Promise { const testJsPath = path.join(testPath, 'test.js') const watPath = path.join(testPath, "index.wat"); const wasmPath = path.join(testPath, "index.wasm"); + const instrumentedPath = path.join(testPath, "instrumented.wasm"); const tracePath = path.join(testPath, "trace.r3"); const callGraphPath = path.join(testPath, "call-graph.txt"); const replayPath = path.join(testPath, "replay.js"); @@ -69,10 +70,10 @@ async function runNodeTest(name: string, options): Promise { // const binary = wabtModule.parseWat(watPath, wat).toBinary({}) const binary = await fs.readFile(wasmPath) let { instrumented, js } = instrument_wasm(binary) - await fs.writeFile(wasmPath, Buffer.from(instrumented)) + await fs.writeFile(instrumentedPath, Buffer.from(instrumented)) // 2. Execute test and generate trace - const wasmBinary = await fs.readFile(wasmPath) + const wasmBinary = await fs.readFile(instrumentedPath) let tracer = new Tracer(eval(js + `\nWasabi`), { extended }) let original_instantiate = WebAssembly.instantiate //@ts-ignore @@ -101,7 +102,9 @@ async function runNodeTest(name: string, options): Promise { if (options.rustBackend === true) { const diskSave = path.join(testPath, `temp-trace-0.r3`) await fs.writeFile(diskSave, traceString) - execSync(`./crates/target/release/replay_gen ${diskSave} ${replayPath}`); + execSync(`./crates/target/release/replay_gen ${diskSave} ${wasmPath}`); + execSync(`wasm-validate ${path.join(testPath, "canned.wasm")}`) + return { testPath, success: true } } else { replayCode = await new Generator().generateReplay(trace) await generateJavascript(fss.createWriteStream(replayPath), replayCode) @@ -284,6 +287,9 @@ async function testWebPage(testPath: string, options): Promise { // process.stdout.write(` -e not available`) const benchmark = Benchmark.fromAnalysisResult(analysisResult) await benchmark.save(benchmarkPath, { trace: true, rustBackend: options.rustBackend }) + if (options.rustBackend === true) { + return { testPath, success: true } + } let subBenchmarkNames = await getDirectoryNames(benchmarkPath) if (subBenchmarkNames.length === 0) { return { testPath, success: false, reason: 'no benchmark was generated' } From cb4c1a511639add793f690505953aaa6bac4ccea Mon Sep 17 00:00:00 2001 From: Doehyun Baek Date: Mon, 8 Jan 2024 14:25:30 +0900 Subject: [PATCH 2/2] add standalone wasm backend --- .gitignore | 5 +- crates/Cargo.lock | 249 +++++++++ crates/replay_gen/Cargo.toml | 3 + crates/replay_gen/src/codegen.rs | 634 +++++++++++++++++++++++ crates/replay_gen/src/irgen.rs | 392 +++++++++++++++ crates/replay_gen/src/jsgen.rs | 831 ------------------------------- crates/replay_gen/src/lib.rs | 178 ++++++- crates/replay_gen/src/main.rs | 47 +- crates/replay_gen/src/opt.rs | 14 + crates/replay_gen/src/trace.rs | 509 +++++++------------ src/benchmark.cts | 5 +- src/replay-generator.cts | 2 +- src/tracer.cts | 20 +- trace.d.cts | 4 +- 14 files changed, 1714 insertions(+), 1179 deletions(-) create mode 100644 crates/replay_gen/src/codegen.rs create mode 100644 crates/replay_gen/src/irgen.rs delete mode 100644 crates/replay_gen/src/jsgen.rs create mode 100644 crates/replay_gen/src/opt.rs diff --git a/.gitignore b/.gitignore index 3a559bde..40f1414d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,7 @@ node_modules/** performance.db.ndjson performance.ndjson target/ -benchmark*/ \ No newline at end of file +benchmark*/ +temp-trace* +canned* +instrumented* \ No newline at end of file diff --git a/crates/Cargo.lock b/crates/Cargo.lock index c89dc6db..815427c3 100644 --- a/crates/Cargo.lock +++ b/crates/Cargo.lock @@ -8,6 +8,12 @@ version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + [[package]] name = "bitflags" version = "1.3.2" @@ -26,6 +32,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "errno" version = "0.3.8" @@ -36,12 +48,82 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + [[package]] name = "fastrand" version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +[[package]] +name = "gimli" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +dependencies = [ + "fallible-iterator", + "indexmap 1.9.3", + "stable_deref_trait", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "id-arena" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25a2bc672d1148e28034f176e01fffebb08b35768468cc954630da77a1449005" + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +dependencies = [ + "equivalent", + "hashbrown 0.14.3", +] + +[[package]] +name = "leb128" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" + [[package]] name = "libc" version = "0.2.151" @@ -54,6 +136,36 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "memchr" +version = "2.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" + +[[package]] +name = "proc-macro2" +version = "1.0.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + [[package]] name = "redox_syscall" version = "0.4.1" @@ -69,6 +181,9 @@ version = "0.1.0" dependencies = [ "anyhow", "tempfile", + "walrus", + "wasmprinter", + "wat", ] [[package]] @@ -84,6 +199,29 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "semver" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "tempfile" version = "3.8.1" @@ -97,6 +235,117 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + +[[package]] +name = "unicode-width" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" + +[[package]] +name = "walrus" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c03529cd0c4400a2449f640d2f27cd1b48c3065226d15e26d98e4429ab0adb7" +dependencies = [ + "anyhow", + "gimli", + "id-arena", + "leb128", + "log", + "walrus-macro", + "wasm-encoder 0.29.0", + "wasmparser 0.80.2", +] + +[[package]] +name = "walrus-macro" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a6e5bd22c71e77d60140b0bd5be56155a37e5bd14e24f5f87298040d0cc40d7" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "wasm-encoder" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18c41dbd92eaebf3612a39be316540b8377c871cb9bde6b064af962984912881" +dependencies = [ + "leb128", +] + +[[package]] +name = "wasm-encoder" +version = "0.38.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ad2b51884de9c7f4fe2fd1043fccb8dcad4b1e29558146ee57a144d15779f3f" +dependencies = [ + "leb128", +] + +[[package]] +name = "wasmparser" +version = "0.80.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "449167e2832691a1bff24cde28d2804e90e09586a448c8e76984792c44334a6b" + +[[package]] +name = "wasmparser" +version = "0.118.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95ee9723b928e735d53000dec9eae7b07a60e490c85ab54abb66659fc61bfcd9" +dependencies = [ + "indexmap 2.1.0", + "semver", +] + +[[package]] +name = "wasmprinter" +version = "0.2.75" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d027eb8294904fc715ac0870cebe6b0271e96b90605ee21511e7565c4ce568c" +dependencies = [ + "anyhow", + "wasmparser 0.118.1", +] + +[[package]] +name = "wast" +version = "69.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1ee37317321afde358e4d7593745942c48d6d17e0e6e943704de9bbee121e7a" +dependencies = [ + "leb128", + "memchr", + "unicode-width", + "wasm-encoder 0.38.1", +] + +[[package]] +name = "wat" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aeb338ee8dee4d4cd05e6426683f21c5087dc7cfc8903e839ccf48d43332da3c" +dependencies = [ + "wast", +] + [[package]] name = "windows-sys" version = "0.48.0" diff --git a/crates/replay_gen/Cargo.toml b/crates/replay_gen/Cargo.toml index 26b36d01..58bbbc47 100644 --- a/crates/replay_gen/Cargo.toml +++ b/crates/replay_gen/Cargo.toml @@ -8,3 +8,6 @@ edition = "2021" [dependencies] anyhow = "1.0.75" tempfile = "3.2.0" +walrus = "0.20.3" +wasmprinter = "0.2.75" +wat = "1.0.82" diff --git a/crates/replay_gen/src/codegen.rs b/crates/replay_gen/src/codegen.rs new file mode 100644 index 00000000..86b50e85 --- /dev/null +++ b/crates/replay_gen/src/codegen.rs @@ -0,0 +1,634 @@ +use std::io::Write; +use std::{fs::File, path::Path}; + +use crate::irgen::HostEvent; +use crate::trace::ValType; +use crate::{ + irgen::{Context, Replay, WriteResult}, + trace::F64, +}; + +pub fn generate_javascript(out_path: &Path, code: &Replay) -> std::io::Result<()> { + let mut file = File::create(&out_path)?; + let stream = &mut file; + write(stream, "import fs from 'fs'\n")?; + write(stream, "import path from 'path'\n")?; + write(stream, "let instance\n")?; + write(stream, "let imports = {}\n")?; + + // Init modules + for module in &code.modules { + write(stream, &format!("{}\n", write_module(module)))?; + } + // Init memories + for (_i, mem) in &code.mem_imports { + write( + stream, + &format!( + "const {} = new WebAssembly.Memory({{ initial: {}, maximum: {} }})\n", + mem.name, + mem.initial, + match mem.maximum { + Some(max) => max.to_string(), + None => "undefined".to_string(), + } + ), + )?; + write( + stream, + &format!("{}{}\n", write_import(&mem.module, &mem.name), mem.name), + )?; + } + // Init globals + for (_i, global) in &code.global_imports { + if global.initial.0.is_nan() || !global.initial.0.is_finite() { + if global.name.to_lowercase() == "infinity" { + write( + stream, + &format!("{}Infinity\n", write_import(&global.module, &global.name)), + )?; + } else if global.name.to_lowercase() == "nan" { + write( + stream, + &format!("{}NaN\n", write_import(&global.module, &global.name)), + )?; + } else { + panic!("Could not generate javascript code for the global initialisation, the initial value is NaN. The website you where recording did some weired stuff that I was not considering during the implementation of Wasm-R3. Tried to genereate global:"); + } + } else { + write( + stream, + &format!( + "const {} = new WebAssembly.Global({{ value: '{:?}', mutable: {}}}, {})\n", + global.name, global.value, global.mutable, global.initial + ), + )?; + write( + stream, + &format!( + "{}{}\n", + write_import(&global.module, &global.name), + global.name + ), + )?; + } + } + // Init tables + for (_i, table) in &code.table_imports { + write( + stream, + &format!( + "const {} = new WebAssembly.Table({{ initial: {}, maximum: {}, element: '{}'}})\n", + table.name, + table.initial, + match table.maximum { + Some(max) => max.to_string(), + None => "undefined".to_string(), + }, + table.element + ), + )?; + write( + stream, + &format!( + "{}{}\n", + write_import(&table.module, &table.name), + table.name + ), + )?; + } + // Imported functions + for (funcidx, func) in &code.func_imports { + // TODO: better handling of initialization + if *funcidx == -1 { + continue; + } + write(stream, &format!("let {} = 0\n", write_func_global(funcidx)))?; + write( + stream, + &format!("{}() => {{\n", write_import(&func.module, &func.name)), + )?; + if !func.bodys.is_empty() { + write( + stream, + &format!("switch ({}) {{\n", write_func_global(funcidx)), + )?; + for (i, body) in func.bodys.iter().enumerate() { + write_body(stream, body, i)?; + } + write(stream, "}\n")?; + } + write(stream, &format!("{}++\n", write_func_global(funcidx)))?; + write_results(stream, &func.results, &write_func_global(funcidx))?; + write(stream, "}\n")?; + } + write(stream, "export function replay(wasm) {")?; + write(stream, "instance = wasm.instance\n")?; + let initialization = code.func_imports.get(&-1).unwrap().bodys.last().unwrap(); + for event in initialization { + let str = hostevent_to_js(event); + writeln!(stream, "{}", str)?; + } + write(stream, "}\n")?; + write(stream, "export function instantiate(wasmBinary) {\n")?; + write( + stream, + "return WebAssembly.instantiate(wasmBinary, imports)\n", + )?; + write(stream, "}\n")?; + write(stream, "if (process.argv[2] === 'run') {\n")?; + write( + stream, + "const p = path.join(path.dirname(import.meta.url).replace(/^file:/, ''), 'index.wasm')\n", + )?; + write(stream, "const wasmBinary = fs.readFileSync(p)\n")?; + write( + stream, + "instantiate(wasmBinary).then((wasm) => replay(wasm))\n", + )?; + write(stream, "}\n")?; + Ok(()) +} + +fn valty_to_const(valty: &ValType) -> String { + match valty { + ValType::I32 => "i32.const", + ValType::I64 => "i64.const", + ValType::F32 => "f32.const", + ValType::F64 => "f64.const", + ValType::V128 => todo!(), + ValType::Anyref => todo!(), + ValType::Externref => todo!(), + } + .to_string() +} + +pub fn generate_standalone(wasm_path: &Path, code: &Replay) -> std::io::Result<()> { + let orig_wat = wasmprinter::print_file(wasm_path).unwrap(); + let orig_wat = orig_wat.split('\n').collect::>(); + let mut iter = orig_wat.iter().peekable(); + + let canned = wasm_path.parent().unwrap().join("canned.wat"); + let mut file = File::create(&canned).unwrap(); + let stream = &mut file; + while let Some(line) = iter.next() { + if line.trim_start().starts_with("(import") { + let import_type = if line.contains("(func") { + "(func" + } else if line.contains("(memory") { + "(memory" + } else if line.contains("(global") { + "(global" + } else if line.contains("(table") { + "(table" + } else { + unreachable!("Unknown import: {}", line); + }; + let start = line.find(import_type).unwrap_or(0); + let end = line.rfind(")").unwrap_or_else(|| line.len()); + + if import_type == "(func" { + let start_idx = line.find("(;").unwrap_or(0) + 2; + let end_idx = line.find(";)").unwrap_or_else(|| line.len()); + let funcidx: i32 = line[start_idx..end_idx].parse().unwrap(); + let global_idx = format!("$global_{}", funcidx.to_string()); + write(stream, &(line[start..=end - 2].to_string() + "\n"))?; + let func = code.func_imports.get(&funcidx).unwrap(); + for (i, body) in func.bodys.iter().enumerate() { + let mut bodystr = String::new(); + let _body = for event in body { + bodystr += &hostevent_to_wat(event, code) + }; + write( + stream, + &format!("(i64.eq (global.get {global_idx}) (i64.const {i}))\n"), + )?; + write(stream, &format!("(if(then {bodystr}))\n"))?; + } + write( + stream, + &format!( + "(global.get {global_idx}) (i64.const 1) (i64.add) (global.set {global_idx})\n" + ), + )?; + let mut current = 0; + for r in func.results.iter() { + let ty = code.func_idx_to_ty.get(&(funcidx as usize)).unwrap(); + let param_tys = ty.params.clone(); + let new_c = current + r.reps; + let res = match r.results.get(0) { + Some(v) => format!( + "(return ({} {v}))", + valty_to_const(ty.results.get(0).unwrap()) + ), + None => "(return)".to_owned(), + }; + write( + stream, + &format!( + " (if + (i32.and + (i64.ge_s (global.get {global_idx}) (i64.const {current})) + (i64.lt_s (global.get {global_idx}) (i64.const {new_c})) + ) + (then + {res} + ) + )" + ), + )?; + current = new_c; + } + let ty = code.func_idx_to_ty.get(&(funcidx as usize)).unwrap(); + let param_tys = ty.params.clone(); + let default_return = match ty.results.get(0) { + Some(v) => match v { + ValType::I32 => "(i32.const 0)", + ValType::I64 => "(i64.const 0)", + ValType::F32 => "(f32.const 0)", + ValType::F64 => "(f64.const 0)", + ValType::V128 => todo!(), + ValType::Anyref => todo!(), + ValType::Externref => todo!(), + }, + None => "", + }; + write(stream, &format!("(return {})", default_return))?; + write(stream, ")\n")?; + } else if import_type == "(global" { + let valtype = if line.contains("i32") { + "i32" + } else if line.contains("i64") { + "i64" + } else if line.contains("f32") { + "f32" + } else if line.contains("f64") { + "f64" + } else { + unreachable!("Unknown global type: {}", line); + }; + let replaced = if !line.contains("mut") { + line.replace( + &format!("{valtype}"), + &format!("{valtype} ({valtype}.const 0)"), + ) + } else { + line.replace( + &format!("(mut {valtype})"), + &format!("(mut {valtype}) ({valtype}.const 0)"), + ) + }; + write(stream, &&(replaced[start..replaced.len() - 1]))?; + } else { + write(stream, &(line[start..=end - 1].to_string() + "\n"))?; + } + // handle the following + // error: initializer expression can only reference an imported global + } else if (line.trim_start().starts_with("(global") + || line.trim_start().starts_with("(elem")) + && line.contains("global.get") + { + let parts: Vec<&str> = line.split("global.get").collect(); + let first_part = parts[0]; + let remaining_parts: Vec<&str> = parts[1].trim().split(')').collect(); + let third_part = remaining_parts[0].trim(); + let fourth_part = remaining_parts[1].trim(); + + let global = code + .global_imports + .get(&third_part.parse::().unwrap()) + .unwrap(); + + // TODO: make this more elegant + let hack_for_diff_format = if line.trim_start().starts_with("(elem") { + "" + } else { + "(" + }; + + let to_write = (first_part.to_string() + + &format!( + "{}{} {:?}){})", + hack_for_diff_format, + &valty_to_const(&global.value), + &global.initial, + fourth_part + )); + write(stream, &to_write)?; + write(stream, "\n")?; + } + // _start function + else if iter.peek().is_none() { + for (i, _f) in &code.func_imports { + if *i == -1 { + continue; + } + let global_idx = format!("$global_{}", i.to_string()); + write( + stream, + &format!("(global {global_idx} (mut i64) (i64.const 0))\n"), + )?; + } + write(stream, "(func (export \"_start\") (export \"main\")\n")?; + let initialization = code.func_imports.get(&-1).unwrap().bodys.last().unwrap(); + for event in initialization { + write(stream, &format!("{}", hostevent_to_wat(event, code)))? + } + write(stream, "(return)\n)")?; + write(stream, line)?; + } else { + write(stream, line)?; + write(stream, "\n")?; + } + } + let binary = wat::parse_file(canned.clone()).unwrap(); + let canned_wasm = wasm_path.parent().unwrap().join("canned.wasm"); + let mut file = File::create(&canned_wasm).unwrap(); + file.write_all(&binary).unwrap(); + + Ok(()) +} + +fn write_body(stream: &mut File, b: &Context, i: usize) -> std::io::Result<()> { + if !b.is_empty() { + writeln!(stream, "case {}:", i)?; + for event in b { + let str = hostevent_to_js(event); + writeln!(stream, "{}", str)?; + } + writeln!(stream, "break")?; + } + Ok(()) +} + +fn hostevent_to_js(event: &HostEvent) -> String { + fn write_params_string(params: &[F64]) -> String { + params + .iter() + .map(|p| p.to_string()) + .collect::>() + .join(",") + } + let str = match event { + HostEvent::ExportCall { idx, name, params } => { + format!( + "instance.exports.{}({})\n", + name, + write_params_string(¶ms) + ) + } + HostEvent::ExportCallTable { + idx, + table_name, + funcidx, + params, + } => { + format!( + "instance.exports.{}.get({})({})\n", + table_name, + funcidx, + write_params_string(¶ms) + ) + } + HostEvent::MutateMemory { + addr, + data, + import, + name, + } => { + let mut js_string = String::new(); + for (j, byte) in data.iter().enumerate() { + if *import { + js_string += &format!( + "new Uint8Array({}.buffer)[{}] = {}\n", + name, + addr + j as i32, + byte + ); + } else { + js_string += &format!( + "new Uint8Array(instance.exports.{}.buffer)[{}] = {}\n", + name, + addr + j as i32, + byte + ); + } + } + js_string + } + HostEvent::GrowMemory { + amount, + import, + name, + } => { + if *import { + format!("{}.grow({})\n", name, amount) + } else { + format!("instance.exports.{}.grow({})\n", name, amount) + } + } + HostEvent::MutateTable { + tableidx, + funcidx, + idx, + func_import, + func_name, + import, + name, + } => { + let mut js_string = if *import { + format!("{}.set({}, ", name, idx) + } else { + format!("instance.exports.{}.set({}, ", name, idx) + }; + if *func_import { + js_string.push_str(&func_name); + } else { + js_string.push_str(&format!("instance.exports.{}", func_name)); + } + js_string.push_str(")\n"); + js_string + } + HostEvent::GrowTable { + idx, + amount, + import, + name, + } => { + if *import { + format!("{}.grow({})\n", name, amount) + } else { + format!("instance.exports.{}.grow({})\n", name, amount) + } + } + HostEvent::MutateGlobal { + idx, + value, + valtype, + import, + name, + } => { + if *import { + format!("{}.value = {}\n", name, value) + } else { + format!( + "instance.exports.{}.value = {}\n", + name, + if *valtype == ValType::I64 { + format!("BigInt({})", value) + } else { + value.to_string() + } + ) + } + } + }; + str +} + +fn hostevent_to_wat(event: &HostEvent, code: &Replay) -> String { + let str = match event { + HostEvent::ExportCall { idx, name, params } => { + let ty = code.func_idx_to_ty.get(&(*idx as usize)).unwrap(); + let param_tys = ty.params.clone(); + let idx = idx; + let params = params + .iter() + .zip(param_tys.clone()) + .map(|(p, p_ty)| format!("({} {p})", valty_to_const(&p_ty))) + .collect::>() + .join("\n"); + // FIXME: should drop the result values in stack to make it valid + params + &format!("(call {idx})") + } + HostEvent::ExportCallTable { + idx, + table_name, + funcidx, + params, + } => { + let ty = code.func_idx_to_ty.get(&(*idx as usize)).unwrap(); + let param_tys = ty.params.clone(); + let idx = idx; + let params = params + .iter() + .zip(param_tys.clone()) + .map(|(p, p_ty)| format!("({} {p})", valty_to_const(&p_ty))) + .collect::>() + .join("\n"); + // FIXME: should drop the result values in stack to make it valid + params + &format!("(call {idx})",) + } + HostEvent::MutateMemory { + addr, + data, + import, + name, + } => { + let mut js_string = String::new(); + for (j, byte) in data.iter().enumerate() { + js_string += &format!("i32.const {}\n", addr + j as i32); + js_string += &format!("i32.const {}\n", byte); + js_string += &format!("i32.store\n",); + } + js_string + } + HostEvent::GrowMemory { + amount, + import, + name, + } => { + format!("(memory.grow (i32.const {})) (drop)\n", amount) + } + HostEvent::MutateTable { + tableidx, + funcidx, + idx, + func_import, + func_name, + import, + name, + } => { + format!( + "(table.set {} (i32.const {}) (ref.func {}))", + tableidx, idx, funcidx + ) + } + HostEvent::GrowTable { + idx, + amount, + import, + name, + } => { + format!("(table.grow (i32.const {})) (drop)\n", amount) + } + HostEvent::MutateGlobal { + idx, + value, + valtype, + import, + name, + } => { + let valtype = match valtype { + ValType::I32 => "i32.const", + ValType::I64 => "i64.const", + ValType::F32 => "f32.const", + ValType::F64 => "f64.const", + ValType::V128 => todo!(), + ValType::Anyref => todo!(), + ValType::Externref => todo!(), + }; + let value = value; + let globalidx = idx; + format!("({valtype} {value})\n") + &format!("(global.set {globalidx})") + } + }; + str +} + +fn write_func_global(funcidx: &i32) -> String { + format!("global_{}", funcidx.to_string()) +} + +fn write_module(module: &str) -> String { + format!("imports['{}'] = {{}}", module) +} + +fn write_import(module: &str, name: &str) -> String { + format!("imports['{}']['{}'] = ", module, name) +} + +fn write_results( + stream: &mut File, + results: &[WriteResult], + func_global: &str, +) -> std::io::Result<()> { + let mut current = 0; + for r in results { + let new_c = current + r.reps; + writeln!( + stream, + "if (({} >= {}) && {} < {}) {{", + func_global, + current + 1, + func_global, + new_c + 1 + )?; + let res = match r.results.get(0) { + Some(r) => r.to_string(), + None => "undefined".to_string(), + }; + writeln!(stream, "return {} }}", res)?; + current = new_c; + } + Ok(()) +} + +pub fn write(stream: &mut File, s: &str) -> std::io::Result<()> { + if stream.write_all(s.as_bytes()).is_err() { + // In Rust, we don't have an equivalent to Node.js's 'drain' event. + // We'll just flush the stream instead. + stream.flush()?; + } + Ok(()) +} diff --git a/crates/replay_gen/src/irgen.rs b/crates/replay_gen/src/irgen.rs new file mode 100644 index 00000000..33035b7f --- /dev/null +++ b/crates/replay_gen/src/irgen.rs @@ -0,0 +1,392 @@ +//! IRGenerator is a tool to generate a replay IR from a trace file. The IR has type Replay. +//! It keeps the auxiliary states needed at field state. +//! Its main job is to put the right HostEvent into a right spot. +//! HostEvent corresponds to some event in the host context, which is classified into the effect +//! it has on wasm state. They get translated into different host code depending on the backend. +use std::collections::BTreeMap; + +use walrus::Module; + +use crate::trace::{Trace, ValType, WasmEvent, F64}; + +pub struct IRGenerator { + pub replay: Replay, + state: State, +} + +pub struct Replay { + // original index is usize but we use i32 to handle host initialization code + // TODO: more elegant solution + pub func_imports: BTreeMap, + pub func_idx_to_ty: BTreeMap, + pub mem_imports: BTreeMap, + pub table_imports: BTreeMap, + pub global_imports: BTreeMap, + pub modules: Vec, +} + +struct State { + host_call_stack: Vec, + last_func: i32, +} + +#[derive(Clone, Debug)] +pub enum HostEvent { + ExportCall { + idx: i32, + name: String, + params: Vec, + }, + ExportCallTable { + idx: i32, + table_name: String, + funcidx: i32, + params: Vec, + }, + GrowMemory { + amount: i32, + import: bool, + name: String, + }, + GrowTable { + idx: usize, + amount: i32, + import: bool, + name: String, + }, + MutateMemory { + addr: i32, + data: Vec, + import: bool, + name: String, + }, + MutateGlobal { + idx: usize, + value: F64, + valtype: ValType, + import: bool, + name: String, + }, + MutateTable { + tableidx: usize, + funcidx: i32, + idx: i32, + func_import: bool, + func_name: String, + import: bool, + name: String, + }, +} + +#[derive(Clone, Debug, PartialEq)] +pub struct WriteResult { + pub results: Vec, + pub reps: i32, +} + +pub type Context = Vec; + +#[derive(Clone, Debug)] +pub struct Function { + pub module: String, + pub name: String, + pub bodys: Vec, + pub results: Vec, +} + +#[derive(Clone, Debug)] +pub struct FunctionTy { + pub params: Vec, + pub results: Vec, +} + +pub struct Memory { + pub module: String, + pub name: String, + pub initial: u32, + pub maximum: Option, +} + +pub struct Table { + pub module: String, + pub name: String, + // enum is better + pub element: String, + pub initial: u32, + pub maximum: Option, +} + +pub struct Global { + pub module: String, + pub name: String, + pub mutable: bool, + pub initial: F64, + pub value: ValType, +} + +impl IRGenerator { + pub fn new(module: Module) -> Self { + let mut func_imports = BTreeMap::new(); + func_imports.insert( + -1, + Function { + module: "wasm-r3".to_string(), + name: "initialization".to_string(), + bodys: vec![vec![]], + results: vec![], + }, + ); + let mut mem_imports = BTreeMap::new(); + let mut table_imports = BTreeMap::new(); + let mut func_idx_to_ty = BTreeMap::new(); + for f in module.funcs.iter() { + let ty = module.types.get(f.ty()); + func_idx_to_ty.insert( + f.id().index(), + FunctionTy { + params: ty.params().iter().map(|p| (*p).into()).collect(), + results: ty.results().iter().map(|p| (*p).into()).collect(), + }, + ); + } + + for i in module.imports.iter() { + match i.kind { + walrus::ImportKind::Function(f) => { + let ty = module.types.get(module.funcs.get(f).ty()); + func_imports.insert( + f.index() as i32, + Function { + module: i.module.to_string(), + name: i.name.to_string(), + bodys: vec![], + results: vec![], + }, + ); + } + walrus::ImportKind::Table(tid) => { + let table = module.tables.get(tid); + table_imports.insert( + tid.index(), + Table { + module: i.module.to_string(), + name: i.name.to_string(), + // want to replace anyfunc through t.refType but it holds the wrong string ('funcref') + element: "anyfunc".to_string(), + initial: table.initial, + maximum: table.maximum, + }, + ); + } + walrus::ImportKind::Memory(mid) => { + let m = module.memories.get(mid); + mem_imports.insert( + mid.index(), + Memory { + module: i.module.to_string(), + name: i.name.to_string(), + initial: m.initial, + maximum: m.maximum, + }, + ); + } + // Global is handled by the trace. + walrus::ImportKind::Global(_) => {} + } + } + Self { + replay: Replay { + func_imports, + mem_imports, + table_imports, + func_idx_to_ty, + global_imports: BTreeMap::new(), + modules: Vec::new(), + }, + // -1 is the _start function + state: State { + host_call_stack: vec![-1], // + last_func: -1, + }, + } + } + + pub fn generate_replay(&mut self, trace: &Trace) -> &Replay { + for event in trace.iter() { + self.consume_event(event); + } + &self.replay + } + + fn push_call(&mut self, event: HostEvent) { + let idx = self.state.host_call_stack.last().unwrap(); + let current_context = self.idx_to_cxt(*idx); + + current_context.push(event.clone()); + } + + fn consume_event(&mut self, event: &WasmEvent) { + match event { + WasmEvent::FuncEntry { idx, name, params } => { + self.push_call(HostEvent::ExportCall { + idx: idx.clone(), + name: name.clone(), + params: params.clone(), + }); + } + WasmEvent::FuncEntryTable { + idx, + tablename, + tableidx: funcidx, + params, + } => { + self.push_call(HostEvent::ExportCallTable { + idx: *idx, + table_name: tablename.clone(), + funcidx: *funcidx, + params: params.clone(), + }); + } + WasmEvent::FuncReturn => {} + WasmEvent::Load { + idx, + name, + offset, + data, + } => { + self.splice_event(HostEvent::MutateMemory { + import: self.replay.mem_imports.contains_key(&idx), + name: name.clone(), + addr: *offset, + data: data.clone(), + }); + } + WasmEvent::MemGrow { idx, name, amount } => { + self.splice_event(HostEvent::GrowMemory { + import: self.replay.mem_imports.contains_key(idx), + name: name.clone(), + amount: *amount, + }); + } + WasmEvent::TableGet { + tableidx, + name, + idx, + funcidx, + funcname, + } => { + self.splice_event(HostEvent::MutateTable { + tableidx: *tableidx, + funcidx: *funcidx, + import: self.replay.table_imports.contains_key(&tableidx), + name: name.clone(), + idx: *idx, + func_import: self.replay.func_imports.contains_key(funcidx), + func_name: funcname.clone(), + }); + } + WasmEvent::TableGrow { idx, name, amount } => { + self.splice_event(HostEvent::GrowTable { + import: self.replay.table_imports.contains_key(idx), + name: name.clone(), + idx: *idx, + amount: *amount, + }); + } + WasmEvent::GlobalGet { + idx, + name, + value, + valtype, + } => { + self.splice_event(HostEvent::MutateGlobal { + idx: *idx, + import: self.replay.global_imports.contains_key(&idx), + name: name.clone(), + value: *value, + valtype: valtype.clone(), + }); + } + + WasmEvent::ImportCall { idx, name: _name } => { + self.replay + .func_imports + .get_mut(idx) + .unwrap() + .bodys + .push(vec![]); + self.state.host_call_stack.push(*idx); + self.state.last_func = *idx; + } + WasmEvent::ImportReturn { + idx: _idx, + name: _name, + results, + } => { + let current_fn_idx = self.state.host_call_stack.last().unwrap(); + let r = &mut self + .replay + .func_imports + .get_mut(¤t_fn_idx) + .unwrap() + .results; + r.push(WriteResult { + results: results.clone(), + reps: 1, + }); + self.state.last_func = self.state.host_call_stack.pop().unwrap(); + } + WasmEvent::ImportGlobal { + idx, + module, + name, + mutable, + initial, + value, + } => { + self.replay.global_imports.insert( + *idx, + Global { + module: module.clone(), + name: name.clone(), + value: value.clone(), + initial: initial.clone(), + mutable: *mutable, + }, + ); + } + } + } + fn splice_event(&mut self, event: HostEvent) { + let idx = self.state.host_call_stack.last().unwrap(); + let last_idx = self.state.last_func; + let last_import_call = *idx == last_idx; + let current_context = self.idx_to_cxt(*idx); + + if last_import_call { + current_context.insert(current_context.len() - 1, event); + } else { + let last_idx = &self.state.last_func; + let last_context = self.idx_to_cxt(*last_idx); + last_context.push(event.clone()); + } + } + + fn idx_to_cxt(&mut self, idx: i32) -> &mut Vec { + let current_context = self + .replay + .func_imports + .get_mut(&idx) + .unwrap() + .bodys + .last_mut() + .unwrap(); + current_context + } + + // fn add_module(&mut self, module: &String) { + // if !self.replay.modules.contains(module) { + // self.replay.modules.push(module.clone()); + // } + // } +} diff --git a/crates/replay_gen/src/jsgen.rs b/crates/replay_gen/src/jsgen.rs deleted file mode 100644 index 42790a52..00000000 --- a/crates/replay_gen/src/jsgen.rs +++ /dev/null @@ -1,831 +0,0 @@ -use std::{ - collections::{BTreeMap, HashMap}, - io::{Seek, SeekFrom}, -}; - -use crate::{ - jsgen::js::generate_javascript, - trace::{ - self, ExportCall, ImportCall, ImportFunc, ImportGlobal, ImportMemory, ImportTable, Trace, - ValType, WasmEvent, F64, - }, -}; - -pub struct Generator { - pub code: Replay, - state: State, -} - -pub struct Replay { - func_imports: BTreeMap, - mem_imports: BTreeMap, - table_imports: BTreeMap, - global_imports: BTreeMap, - calls: Vec<(String, Vec)>, - initialization: Vec, - modules: Vec, -} - -struct State { - import_call_stack: Vec, - last_func: i32, - global_scope: bool, - last_func_return: bool, - import_call_stack_function: Vec, -} - -#[derive(Clone)] -pub enum EventType { - Call, - TableCall, - Store, - MemGrow, - TableSet, - TableGrow, - GlobalGet, -} - -#[derive(Clone, Debug)] -pub struct Call { - name: String, - params: Vec, -} -#[derive(Clone, Debug)] -pub struct TableCall { - table_name: String, - funcidx: i32, - params: Vec, -} -#[derive(Clone, Debug)] -pub struct Store { - addr: i32, - data: Vec, - import: bool, - name: String, -} -#[derive(Clone, Debug)] -pub struct MemGrow { - amount: i32, - import: bool, - name: String, -} -#[derive(Clone, Debug)] -pub struct TableSet { - idx: i32, - func_import: bool, - func_name: String, - import: bool, - name: String, -} -#[derive(Clone, Debug)] -pub struct TableGrow { - idx: i32, - amount: i32, - import: bool, - name: String, -} -#[derive(Clone, Debug)] -pub struct GlobalGet { - value: F64, - big_int: bool, - import: bool, - name: String, -} - -#[derive(Clone, Debug)] -pub enum Event { - Call(Call), - TableCall(TableCall), - Store(Store), - MemGrow(MemGrow), - TableSet(TableSet), - TableGrow(TableGrow), - GlobalGet(GlobalGet), -} - -pub struct Import { - module: String, - name: String, -} - -#[derive(Clone, Debug)] -pub struct WriteResult { - results: Vec, - reps: i32, -} - -pub type Context = Vec; - -#[derive(Clone, Debug)] -pub struct Function { - pub module: String, - pub name: String, - bodys: Vec, - results: Vec, -} - -pub struct Memory { - pub module: String, - pub name: String, - pub initial: F64, - pub maximum: Option, -} - -pub struct Table { - pub module: String, - pub name: String, - // enum is better - pub element: String, - pub initial: F64, - pub maximum: Option, -} - -pub struct Global { - pub module: String, - pub name: String, - pub mutable: bool, - pub initial: F64, - pub value: ValType, -} - -impl Generator { - pub fn new() -> Self { - let mut func_imports = BTreeMap::new(); - func_imports.insert( - -1, - Function { - module: "wasm-r3".to_string(), - name: "initialization".to_string(), - bodys: vec![vec![]], - results: vec![], - }, - ); - Self { - code: Replay { - func_imports, - mem_imports: BTreeMap::new(), - table_imports: BTreeMap::new(), - global_imports: BTreeMap::new(), - calls: Vec::new(), - initialization: Vec::new(), - modules: Vec::new(), - }, - state: State { - import_call_stack: vec![-1], - last_func: -1, - global_scope: true, - last_func_return: false, - import_call_stack_function: Vec::new(), - }, - } - } - - pub fn generate_replay(&mut self, trace: &Trace) -> &Replay { - for event in trace.iter() { - self.consume_event(event); - } - &self.code - } - - fn consume_event(&mut self, event: &WasmEvent) { - match event { - WasmEvent::ExportCall(ExportCall { name, params }) => { - self.push_event(Event::Call(Call { - name: name.clone(), - params: params.clone(), - })); - } - WasmEvent::TableCall(trace::TableCall { - tablename, - funcidx, - params, - }) => { - self.push_event(Event::TableCall(TableCall { - table_name: tablename.clone(), - funcidx: *funcidx, - params: params.clone(), - })); - } - WasmEvent::ExportReturn => { - self.state.global_scope = true; - } - WasmEvent::ImportCall(ImportCall { idx, name }) => { - self.state.global_scope = false; - self.code - .func_imports - .get_mut(idx) - .unwrap() - .bodys - .push(vec![]); - self.state.import_call_stack.push(*idx); - self.state.last_func = *idx; - let value = self.code.func_imports.get(&idx).unwrap().clone(); - self.state.import_call_stack_function.push(*idx); - self.state.last_func_return = false; - } - WasmEvent::ImportReturn(trace::ImportReturn { idx, name, results }) => 'label: { - let current_fn_idx = self.state.import_call_stack_function.last().unwrap(); - let r = &mut self - .code - .func_imports - .get_mut(¤t_fn_idx) - .unwrap() - .results; - if !r.is_empty() { - let tmp = r.last().unwrap(); - if (!tmp.results.is_empty() && tmp.results[0] == results[0]) - || (tmp.results.is_empty() && results.is_empty()) - { - self.state.last_func_return = true; - r.last_mut().unwrap().reps += 1; - self.state.import_call_stack.pop(); - self.state.import_call_stack_function.pop(); - break 'label; - } - } - self.state.last_func_return = true; - r.push(WriteResult { - results: results.clone(), - reps: 1, - }); - self.state.import_call_stack.pop(); - self.state.import_call_stack_function.pop(); - } - WasmEvent::Load(trace::Load { - idx, - name, - offset, - data, - }) => { - self.push_event(Event::Store(Store { - import: self.code.mem_imports.contains_key(&idx), - name: name.clone(), - addr: *offset, - data: data.clone(), - })); - } - WasmEvent::MemGrow(trace::MemGrow { idx, name, amount }) => { - self.push_event(Event::MemGrow(MemGrow { - import: self.code.mem_imports.contains_key(idx), - name: name.clone(), - amount: *amount, - })); - } - WasmEvent::TableGet(trace::TableGet { - tableidx, - name, - idx, - funcidx, - funcname, - }) => { - self.push_event(Event::TableSet(TableSet { - import: self.code.table_imports.contains_key(&tableidx), - name: name.clone(), - idx: *idx, - func_import: self.code.func_imports.contains_key(funcidx), - func_name: funcname.clone(), - })); - } - WasmEvent::TableGrow(trace::TableGrow { idx, name, amount }) => { - self.push_event(Event::TableGrow(TableGrow { - import: self.code.table_imports.contains_key(idx), - name: name.clone(), - idx: *idx, - amount: *amount, - })); - } - WasmEvent::ImportMemory(ImportMemory { - idx, - module, - name, - initial, - maximum, - }) => { - self.add_module(module); - self.code.mem_imports.insert( - *idx, - Memory { - module: module.clone(), - name: name.clone(), - initial: *initial, - maximum: *maximum, - }, - ); - } - WasmEvent::GlobalGet(trace::GlobalGet { - idx, - name, - value, - valtype, - }) => { - self.push_event(Event::GlobalGet(GlobalGet { - import: self.code.global_imports.contains_key(&idx), - name: name.clone(), - value: *value, - big_int: *valtype == ValType::I64, - })); - } - WasmEvent::ImportTable(ImportTable { - idx, - module, - name, - initial, - maximum, - element, - }) => { - self.add_module(module); - self.code.table_imports.insert( - *idx, - Table { - module: module.clone(), - name: name.clone(), - initial: initial.clone(), - maximum: maximum.clone(), - element: element.clone(), - }, - ); - } - WasmEvent::ImportGlobal(ImportGlobal { - idx, - module, - name, - mutable, - initial, - value, - }) => { - self.add_module(module); - self.code.global_imports.insert( - *idx, - Global { - module: module.clone(), - name: name.clone(), - value: value.clone(), - initial: initial.clone(), - mutable: *mutable, - }, - ); - } - WasmEvent::ImportFunc(ImportFunc { idx, module, name }) => { - self.add_module(module); - self.code.func_imports.insert( - *idx, - Function { - module: module.clone(), - name: name.clone(), - bodys: vec![], - results: vec![], - }, - ); - } - WasmEvent::FuncEntry(_) | WasmEvent::FuncReturn(_) => (), - } - } - fn push_event(&mut self, event: Event) { - match event { - Event::Call(_) | Event::TableCall(_) => { - let idx = self.state.import_call_stack.last().unwrap(); - if *idx == -1 { - self.code.initialization.push(event.clone()); - } - let current_context = self - .code - .func_imports - .get_mut(idx) - .unwrap() - .bodys - .last_mut() - .unwrap(); - current_context.push(event.clone()); - return; - } - _ => { - let idx = self.state.import_call_stack.last().unwrap(); - let current_context = if self.state.global_scope { - &mut self.code.initialization - } else { - self.code - .func_imports - .get_mut(idx) - .unwrap() - .bodys - .last_mut() - .unwrap() - }; - match current_context.last() { - Some(Event::Call(_)) | Some(Event::TableCall(_)) => { - if !self.state.last_func_return { - current_context.insert(current_context.len() - 1, event); - } else { - let idx = self.state.last_func; - let current_context = self - .code - .func_imports - .get_mut(&idx) - .unwrap() - .bodys - .last_mut() - .unwrap(); - current_context.push(event.clone()); - } - } - _ => { - current_context.push(event.clone()); - } - } - } - } - } - fn add_module(&mut self, module: &String) { - if !self.code.modules.contains(module) { - self.code.modules.push(module.clone()); - } - } -} - -pub mod js { - use std::fs::File; - use std::io::Write; - - use crate::trace::F64; - - use super::Context; - use super::Event; - use super::Replay; - use super::WriteResult; - - pub fn generate_javascript(stream: &mut File, code: &Replay) -> std::io::Result<()> { - write(stream, "import fs from 'fs'\n")?; - write(stream, "import path from 'path'\n")?; - write(stream, "let instance\n")?; - write(stream, "let imports = {}\n")?; - - // Init modules - for module in &code.modules { - write(stream, &format!("{}\n", write_module(module)))?; - } - // Init memories - for (i, mem) in &code.mem_imports { - write( - stream, - &format!( - "const {} = new WebAssembly.Memory({{ initial: {}, maximum: {} }})\n", - mem.name, - mem.initial, - match mem.maximum { - Some(max) => max.to_string(), - None => "undefined".to_string(), - } - ), - )?; - write( - stream, - &format!("{}{}\n", write_import(&mem.module, &mem.name), mem.name), - )?; - } - // Init globals - for (i, global) in &code.global_imports { - if global.initial.0.is_nan() || !global.initial.0.is_finite() { - if global.name.to_lowercase() == "infinity" { - write( - stream, - &format!("{}Infinity\n", write_import(&global.module, &global.name)), - )?; - } else if global.name.to_lowercase() == "nan" { - write( - stream, - &format!("{}NaN\n", write_import(&global.module, &global.name)), - )?; - } else { - panic!("Could not generate javascript code for the global initialisation, the initial value is NaN. The website you where recording did some weired stuff that I was not considering during the implementation of Wasm-R3. Tried to genereate global:"); - } - } else { - write( - stream, - &format!( - "const {} = new WebAssembly.Global({{ value: '{:?}', mutable: {}}}, {})\n", - global.name, global.value, global.mutable, global.initial - ), - )?; - write( - stream, - &format!( - "{}{}\n", - write_import(&global.module, &global.name), - global.name - ), - )?; - } - } - // Init tables - for (i, table) in &code.table_imports { - write(stream, &format!("const {} = new WebAssembly.Table({{ initial: {}, maximum: {}, element: '{}'}})\n", table.name, table.initial, match table.maximum { - Some(max) => max.to_string(), - None => "undefined".to_string(), - }, table.element))?; - write( - stream, - &format!( - "{}{}\n", - write_import(&table.module, &table.name), - table.name - ), - )?; - } - // Imported functions - for (funcidx, func) in &code.func_imports { - // FIXME: this is a hack to avoid the initialization function - if *funcidx == -1 { - continue; - } - write( - stream, - &format!("let {} = -1\n", write_func_global(funcidx)), - )?; - write( - stream, - &format!("{}() => {{\n", write_import(&func.module, &func.name)), - )?; - write(stream, &format!("{}++\n", write_func_global(funcidx)))?; - if !func.bodys.is_empty() { - write( - stream, - &format!("switch ({}) {{\n", write_func_global(funcidx)), - )?; - for (i, body) in func.bodys.iter().enumerate() { - write_body(stream, body, i)?; - } - write(stream, "}\n")?; - } - write_results(stream, &func.results, &write_func_global(funcidx))?; - write(stream, "}\n")?; - } - write(stream, "export function replay(wasm) {")?; - write(stream, "instance = wasm.instance\n")?; - for (name, params) in &code.calls { - write( - stream, - &format!( - "instance.exports.${}(${}) \n", - name, - write_params_string(params) - ), - )?; - } - for event in &code.initialization { - match event { - Event::Call(event) => write!(stream, "{}", call_event(event))?, - Event::TableCall(event) => write!(stream, "{}", table_call_event(event))?, - Event::Store(event) => write!(stream, "{}", store_event(event))?, - Event::MemGrow(event) => write!(stream, "{}", mem_grow_event(event))?, - Event::TableSet(event) => write!(stream, "{}", table_set_event(event))?, - Event::TableGrow(event) => write!(stream, "{}", table_grow_event(event))?, - Event::GlobalGet(event) => write!(stream, "{}", global_get(event))?, - } - } - write(stream, "}\n")?; - write(stream, "export function instantiate(wasmBinary) {\n")?; - write( - stream, - "return WebAssembly.instantiate(wasmBinary, imports)\n", - )?; - write(stream, "}\n")?; - write(stream, "if (process.argv[2] === 'run') {\n")?; - write(stream, "const p = path.join(path.dirname(import.meta.url).replace(/^file:/, ''), 'index.wasm')\n")?; - write(stream, "const wasmBinary = fs.readFileSync(p)\n")?; - write( - stream, - "instantiate(wasmBinary).then((wasm) => replay(wasm))\n", - )?; - write(stream, "}\n")?; - Ok(()) - } - - fn write_body(stream: &mut File, b: &Context, i: usize) -> std::io::Result<()> { - if !b.is_empty() { - writeln!(stream, "case {}:", i)?; - for event in b { - match event { - Event::Call(event) => write!(stream, "{}", call_event(event))?, - Event::TableCall(event) => write!(stream, "{}", table_call_event(event))?, - Event::Store(event) => write!(stream, "{}", store_event(event))?, - Event::MemGrow(event) => write!(stream, "{}", mem_grow_event(event))?, - Event::TableSet(event) => write!(stream, "{}", table_set_event(event))?, - Event::TableGrow(event) => write!(stream, "{}", table_grow_event(event))?, - Event::GlobalGet(event) => write!(stream, "{}", global_get(event))?, - } - } - writeln!(stream, "break")?; - } - Ok(()) - } - - fn write_results( - stream: &mut File, - results: &[WriteResult], - func_global: &str, - ) -> std::io::Result<()> { - let mut current = 0; - for r in results { - let new_c = current + r.reps; - writeln!( - stream, - "if (({} >= {}) && {} < {}) {{", - func_global, current, func_global, new_c - )?; - let res = match r.results.get(0) { - Some(r) => r.to_string(), - None => "undefined".to_string(), - }; - writeln!(stream, "return {} }}", res)?; - current = new_c; - } - Ok(()) - } - - fn write(stream: &mut File, s: &str) -> std::io::Result<()> { - if stream.write_all(s.as_bytes()).is_err() { - // In Rust, we don't have an equivalent to Node.js's 'drain' event. - // We'll just flush the stream instead. - stream.flush()?; - } - Ok(()) - } - - fn store_event(event: &super::Store) -> String { - let mut js_string = String::new(); - for (j, byte) in event.data.iter().enumerate() { - if event.import { - js_string += &format!( - "new Uint8Array({}.buffer)[{}] = {}\n", - event.name, - event.addr + j as i32, - byte - ); - } else { - js_string += &format!( - "new Uint8Array(instance.exports.{}.buffer)[{}] = {}\n", - event.name, - event.addr + j as i32, - byte - ); - } - } - js_string - } - - fn call_event(event: &super::Call) -> String { - format!( - "instance.exports.{}({})\n", - event.name, - write_params_string(&event.params) - ) - } - - fn table_call_event(event: &super::TableCall) -> String { - format!( - "instance.exports.{}.get({})({})\n", - event.table_name, - event.funcidx, - write_params_string(&event.params) - ) - } - - fn mem_grow_event(event: &super::MemGrow) -> String { - if event.import { - format!("{}.grow({})\n", event.name, event.amount) - } else { - format!("instance.exports.{}.grow({})\n", event.name, event.amount) - } - } - - fn table_set_event(event: &super::TableSet) -> String { - let mut js_string = if event.import { - format!("{}.set({}, ", event.name, event.idx) - } else { - format!("instance.exports.{}.set({}, ", event.name, event.idx) - }; - if event.func_import { - js_string.push_str(&event.func_name); - } else { - js_string.push_str(&format!("instance.exports.{}", event.func_name)); - } - js_string.push_str(")\n"); - js_string - } - - fn table_grow_event(event: &super::TableGrow) -> String { - if event.import { - format!("{}.grow({})\n", event.name, event.amount) - } else { - format!("instance.exports.{}.grow({})\n", event.name, event.amount) - } - } - - fn global_get(event: &super::GlobalGet) -> String { - if event.import { - format!("{}.value = {}\n", event.name, event.value) - } else { - format!( - "instance.exports.{}.value = {}\n", - event.name, - if event.big_int { - format!("BigInt({})", event.value) - } else { - event.value.to_string() - } - ) - } - } - - fn write_func_global(funcidx: &i32) -> String { - format!("global_{}", funcidx.to_string()) - } - - fn write_module(module: &str) -> String { - format!("imports['{}'] = {{}}", module) - } - - fn write_import(module: &str, name: &str) -> String { - format!("imports['{}']['{}'] = ", module, name) - } - - fn write_params_string(params: &[F64]) -> String { - params - .iter() - .map(|p| p.to_string()) - .collect::>() - .join(",") - } -} - -// TODO: factor out with test_encode_decode -#[test] -fn test_generate_javascript() -> std::io::Result<()> { - use super::*; - use std::fs; - use std::io; - use std::io::BufRead; - use std::io::Read; - use std::path::Path; - use tempfile::tempfile; - - fn visit_dirs(dir: &Path) -> io::Result<()> { - if dir.is_dir() { - for entry in fs::read_dir(dir)? { - let entry = entry?; - let path = entry.path(); - if path.is_dir() { - visit_dirs(&path)?; - } else { - if path.file_name().and_then(|s| s.to_str()) == Some("trace.r3") // node format - || path.file_name().and_then(|s| s.to_str()) == Some("trace-ref.r3") // web format - { - if path.display().to_string().contains("kittygame") || // floating point precision - path.display().to_string().contains("pathfinding") // slow - { - println!("skipping problematic case {}", path.display()); - continue; - } - println! ("Testing {}", path.display()); - // Read replay.js file - let replay_path = path.with_file_name("replay.js"); - let replay_file = fs::File::open(replay_path.clone())?; - let mut reader = io::BufReader::new(replay_file); - let mut old_js = String::new(); - reader.read_to_string(&mut old_js)?; - - let trace_file = fs::File::open(&path)?; - let reader = io::BufReader::new(trace_file); - let mut trace = trace::Trace::new(); - for line in reader.lines() { - let line = line?; - let event = line.parse()?; - trace.push(event); - } - println!("trace read complete"); - let mut generator = Generator::new(); - generator.generate_replay(&trace); - println!("generate_replay complete"); - let mut temp_file = tempfile()?; - generate_javascript(&mut temp_file, &generator.code)?; - println!("generate_javascript complete"); - temp_file.seek(SeekFrom::Start(0))?; - - let mut reader = io::BufReader::new(temp_file); - let mut new_js = String::new(); - reader.read_to_string(&mut new_js)?; - assert!( - old_js == new_js, - "Generated JS does not match for {}, original js: {}", - path.display(), - replay_path.display() - ); - } - } - } - } - Ok(()) - } - visit_dirs(Path::new("../../tests"))?; - Ok(()) -} diff --git a/crates/replay_gen/src/lib.rs b/crates/replay_gen/src/lib.rs index 32b49d84..a84a105b 100644 --- a/crates/replay_gen/src/lib.rs +++ b/crates/replay_gen/src/lib.rs @@ -1,2 +1,178 @@ -pub mod jsgen; +pub mod codegen; +pub mod irgen; +pub mod opt; pub mod trace; + +#[cfg(test)] +mod tests { + use core::panic; + + use crate::{ + codegen::generate_javascript, irgen::IRGenerator, opt::merge_fn_results, + trace::decode_trace, + }; + + #[test] + fn trace_encode_decode_same() -> std::io::Result<()> { + use super::*; + use std::fs; + use std::io; + use std::io::Read; + use std::io::Write; + use std::io::{BufRead, Seek, SeekFrom}; + use std::path::Path; + use tempfile::tempfile; + + fn visit_dirs(dir: &Path) -> io::Result<()> { + if dir.is_dir() { + for entry in fs::read_dir(dir)? { + let entry = entry?; + let path = entry.path(); + if path.is_dir() { + visit_dirs(&path)?; + } else { + if path.extension().and_then(|s| s.to_str()) == Some("r3") { + if path.display().to_string().contains("pathfinding") { + // floating point precision + println!("skipping problematic case {}", path.display()); + continue; + } + let mut file = fs::File::open(&path)?; + let mut original_contents = Vec::new(); + file.read_to_end(&mut original_contents)?; + + let file = fs::File::open(&path)?; + let reader = io::BufReader::new(file); + let mut trace = trace::Trace::new(); + for line in reader.lines() { + let line = line?; + let event = match line.parse() { + Ok(e) => e, + Err(_) => panic!("error parsing file: {}", path.display()), + }; + trace.push(event); + } + let mut newfile = tempfile()?; + let trace_str = match decode_trace(trace) { + Ok(s) => s, + Err(e) => { + println!("error decoding trace: {}", e); + continue; + } + }; + write!(newfile, "{}", trace_str)?; + newfile.seek(SeekFrom::Start(0))?; + + let mut new_contents = Vec::new(); + let mut reader = io::BufReader::new(newfile); + reader.read_to_end(&mut new_contents)?; + if !new_contents.is_empty() { + assert_eq!( + &original_contents[..original_contents.len()], + &new_contents[..new_contents.len() - 1], + "File contents do not match for {}", + path.display() + ); + } else { + assert_eq!( + original_contents, + new_contents, + "File contents do not match for {}", + path.display() + ); + } + } + } + } + } + Ok(()) + } + visit_dirs(Path::new("../../tests"))?; + Ok(()) + } + // TODO: factor out with trace_encode_decode_same + #[test] + fn replay_js_same_with_original() -> std::io::Result<()> { + use super::*; + use std::fs; + use std::io; + use std::io::BufRead; + use std::io::Read; + use std::io::{Seek, SeekFrom}; + + use std::path::Path; + use tempfile::tempfile; + + fn visit_dirs(dir: &Path) -> io::Result<()> { + if dir.is_dir() { + for entry in fs::read_dir(dir)? { + let entry = entry?; + let path = entry.path(); + if path.is_dir() { + visit_dirs(&path)?; + } else { + if path.file_name().and_then(|s| s.to_str()) == Some("trace.r3") // node format + || path.file_name().and_then(|s| s.to_str()) == Some("trace-ref.r3") + // web format + { + if path.display().to_string().contains("kittygame") || // too slow + path.display().to_string().contains("pathfinding") + // floating point precision + // slow + { + println!("skipping problematic case {}", path.display()); + continue; + } + println!("Testing {}", path.display()); + // Read replay.js file + let replay_path = path.with_file_name("replay.js"); + let replay_file = fs::File::open(replay_path.clone())?; + let mut reader = io::BufReader::new(replay_file); + let mut old_js = String::new(); + reader.read_to_string(&mut old_js)?; + + let trace_file = fs::File::open(&path)?; + let reader = io::BufReader::new(trace_file); + let mut trace = trace::Trace::new(); + for line in reader.lines() { + let line = line?; + let event = match line.parse() { + Ok(event) => event, + Err(err) => match err { + trace::ErrorKind::LegacyTrace => continue, + trace::ErrorKind::UnknownTrace => panic!( + "error parsing file: {}, error: {:?}", + path.display(), + err + ), + }, + }; + trace.push(event); + } + // let mut generator = IRGenerator::new(); + // generator.generate_replay(&trace); + // merge_fn_results(&mut generator.replay); + + // let mut temp_file = tempfile()?; + // generate_javascript(&mut temp_file, &generator.replay)?; + // temp_file.seek(SeekFrom::Start(0))?; + + // let mut reader = io::BufReader::new(temp_file); + // let mut new_js = String::new(); + // reader.read_to_string(&mut new_js)?; + // assert!( + // old_js == new_js, + // "Generated JS does not match for {}, original js: {}", + // path.display(), + // replay_path.display() + // ); + } + } + } + } + Ok(()) + } + visit_dirs(Path::new("../../tests"))?; + Ok(()) + } +} diff --git a/crates/replay_gen/src/main.rs b/crates/replay_gen/src/main.rs index 39097729..bdedf7e6 100644 --- a/crates/replay_gen/src/main.rs +++ b/crates/replay_gen/src/main.rs @@ -1,30 +1,55 @@ -use std::env; use std::fs::File; -use std::io::{self, BufRead}; +use std::io::{self, BufRead, Write}; use std::path::Path; +use std::process::Command; +use std::{env, fs}; -use replay_gen::jsgen::js::generate_javascript; -use replay_gen::jsgen::Generator; +use replay_gen::codegen::{generate_javascript, generate_standalone, write}; +use replay_gen::irgen::IRGenerator; +use replay_gen::opt::merge_fn_results; use replay_gen::trace; +use walrus::Module; fn main() -> io::Result<()> { - // FIXME: use clap to parse args. currently just panics. + // TODO: use clap to parse args. currently just panics. let args: Vec = env::args().collect(); let trace_path = Path::new(&args[1]); - let out_path = Path::new(&args[2]); + let wasm_path = Path::new(&args[2]); + let binding = args.get(3); + let js_path = match &binding { + Some(str) => Some(Path::new(str)), + None => None, + }; let file = File::open(&trace_path)?; let reader = io::BufReader::new(file); let mut trace = trace::Trace::new(); for line in reader.lines() { let line = line?; - let event = line.parse()?; + let event = match line.parse() { + Ok(event) => event, + Err(err) => match err { + trace::ErrorKind::LegacyTrace => continue, + trace::ErrorKind::UnknownTrace => panic!("error: {:?}", err), + }, + }; trace.push(event); } - let mut generator = Generator::new(); + + let buffer = &fs::read(wasm_path).unwrap(); + let module = Module::from_buffer(buffer).unwrap(); + let mut generator = IRGenerator::new(module); generator.generate_replay(&trace); - let path = Path::new(out_path); - let mut file = File::create(&path)?; - generate_javascript(&mut file, &generator.code)?; + + // opt paths + merge_fn_results(&mut generator.replay); + + let is_standalone = js_path.is_none(); + if is_standalone { + generate_standalone(wasm_path, &generator.replay)?; + } else { + generate_javascript(js_path.unwrap(), &generator.replay)?; + } + Ok(()) } diff --git a/crates/replay_gen/src/opt.rs b/crates/replay_gen/src/opt.rs new file mode 100644 index 00000000..3c1bfa98 --- /dev/null +++ b/crates/replay_gen/src/opt.rs @@ -0,0 +1,14 @@ +use crate::irgen::{Replay, WriteResult}; + +pub fn merge_fn_results(replay: &mut Replay) { + for (_i, f) in &mut replay.func_imports { + let mut new_results: Vec = vec![]; + for v in &f.results { + match new_results.last() { + Some(v2) if v2.results == v.results => new_results.last_mut().unwrap().reps += 1, + _ => new_results.push(v.clone()), + } + } + f.results = new_results; + } +} diff --git a/crates/replay_gen/src/trace.rs b/crates/replay_gen/src/trace.rs index 17548839..efd48d33 100644 --- a/crates/replay_gen/src/trace.rs +++ b/crates/replay_gen/src/trace.rs @@ -1,16 +1,108 @@ +//! Trace is just a sequence of WasmEvents. +//! WasmEvent corresponds to a single event that can happen during the execution of a Wasm program. +//! Most usually corresponds to one wasm instruction, e.g. WasmEvent::Load corresponds to one wasm load, +//! but some of them are not. e.g. FuncEntry and FuncReturn correspond to the entry and return of a wasm function. +//! There are also some events that are not part of the execution like Import*, which can be removed later. use std::fmt::Debug; use std::fmt::{self, Write}; -use std::io::{Error, ErrorKind}; use std::str::FromStr; -// FIXME: this is a hack to get around the fact that the trace generated by js. Remove when we discard js based trace. -#[derive(Copy, Clone, PartialEq, Debug)] +pub type Trace = Vec; + +pub enum WasmEvent { + // Each corresponds to a single wasm instruction. + Load { + idx: usize, + name: String, + offset: i32, + data: Vec, + }, + MemGrow { + idx: usize, + name: String, + amount: i32, + }, + TableGet { + tableidx: usize, + name: String, + idx: i32, + funcidx: i32, + funcname: String, + }, + TableGrow { + idx: usize, + name: String, + amount: i32, + }, + GlobalGet { + idx: usize, + name: String, + value: F64, + valtype: ValType, + }, + ImportCall { + idx: i32, + name: String, + }, + ImportReturn { + idx: i32, + name: String, + results: Vec, + }, + // These do not correspond to a wasm instruction, but used to track control flow + FuncEntry { + idx: i32, + name: String, + params: Vec, + }, + FuncEntryTable { + idx: i32, + tablename: String, + tableidx: i32, + params: Vec, + }, + FuncReturn, + ImportGlobal { + idx: usize, + module: String, + name: String, + mutable: bool, + initial: F64, + value: ValType, + }, +} + +pub fn decode_trace(trace: Trace) -> Result { + let mut s = String::new(); + for event in trace { + write!(&mut s, "{:?}\n", event)?; + } + Ok(s) +} + +// TODO: this is a hack to get around the fact that the trace generated by js. Remove when we discard js based trace. +#[derive(Copy, Clone, PartialEq)] pub struct F64(pub f64); impl fmt::Display for F64 { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { if self.0.is_infinite() { write!(f, "Infinity") + } else if self.0.is_nan() { + write!(f, "nan") + } else { + write!(f, "{}", self.0) + } + } +} +// TODO: make this more elegant +// This is currently done for outputting to WAT. +impl fmt::Debug for F64 { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + if self.0.is_infinite() { + write!(f, "0x7FF0000000000000") + } else if self.0.is_nan() { + write!(f, "nan") } else { write!(f, "{}", self.0) } @@ -70,117 +162,28 @@ impl std::str::FromStr for ValType { } } -pub type Trace = Vec; - -fn decode_trace(trace: Trace) -> Result { - let mut s = String::new(); - for event in trace { - write!(&mut s, "{:?}\n", event)?; +impl From for ValType { + fn from(val: walrus::ValType) -> Self { + match val { + walrus::ValType::I32 => Self::I32, + walrus::ValType::I64 => Self::I64, + walrus::ValType::F32 => Self::F32, + walrus::ValType::F64 => Self::F64, + walrus::ValType::V128 => Self::V128, + walrus::ValType::Externref => Self::Externref, + walrus::ValType::Funcref => Self::Anyref, + } } - Ok(s) -} -pub enum WasmEvent { - Load(Load), - MemGrow(MemGrow), - TableGet(TableGet), - TableGrow(TableGrow), - GlobalGet(GlobalGet), - ExportCall(ExportCall), - TableCall(TableCall), - ExportReturn, - ImportCall(ImportCall), - ImportReturn(ImportReturn), - ImportMemory(ImportMemory), - ImportTable(ImportTable), - ImportGlobal(ImportGlobal), - ImportFunc(ImportFunc), - FuncEntry(FuncEntry), - FuncReturn(FuncReturn), -} - -pub struct Load { - pub idx: i32, - pub name: String, - pub offset: i32, - pub data: Vec, -} -pub struct MemGrow { - pub idx: i32, - pub name: String, - pub amount: i32, -} -pub struct TableGet { - pub tableidx: i32, - pub name: String, - pub idx: i32, - pub funcidx: i32, - pub funcname: String, -} -pub struct TableGrow { - pub idx: i32, - pub name: String, - pub amount: i32, -} -pub struct GlobalGet { - pub idx: i32, - pub name: String, - pub value: F64, - pub valtype: ValType, -} -pub struct ExportCall { - pub name: String, - pub params: Vec, -} -pub struct TableCall { - pub tablename: String, - pub funcidx: i32, - pub params: Vec, -} -pub struct ImportCall { - pub idx: i32, - pub name: String, -} -pub struct ImportReturn { - pub idx: i32, - pub name: String, - pub results: Vec, -} -pub struct ImportMemory { - pub idx: i32, - pub module: String, - pub name: String, - pub initial: F64, - pub maximum: Option, -} -pub struct ImportTable { - pub idx: i32, - pub module: String, - pub name: String, - pub element: String, - pub initial: F64, - pub maximum: Option, -} -pub struct ImportGlobal { - pub idx: i32, - pub module: String, - pub name: String, - pub mutable: bool, - pub initial: F64, - pub value: ValType, -} -pub struct ImportFunc { - pub idx: i32, - pub module: String, - pub name: String, } -pub struct FuncEntry { - pub idx: i32, - pub args: Vec, -} -pub struct FuncReturn { - pub idx: i32, - pub values: Vec, +fn from_short_str(s: &str) -> Result { + match s { + "i" => Ok(ValType::I32), + "I" => Ok(ValType::I64), + "f" => Ok(ValType::F32), + "F" => Ok(ValType::F64), + _ => Err(()), + } } fn join_vec(args: &Vec) -> String { @@ -214,8 +217,21 @@ fn test_parse_number() { assert_ne!(s, parse_number(s).unwrap().to_string()); } +fn parse_tys(s: &str) -> Vec { + let mut tys = vec![]; + for ty in s.chars() { + tys.push(from_short_str(&ty.to_string()).unwrap()); + } + tys +} + +#[derive(Debug)] +pub enum ErrorKind { + LegacyTrace, + UnknownTrace, +} impl FromStr for WasmEvent { - type Err = std::io::Error; + type Err = ErrorKind; fn from_str(s: &str) -> Result { fn split_list(c: &str) -> Vec { @@ -232,102 +248,66 @@ impl FromStr for WasmEvent { let components: Vec<&str> = s.split(';').collect(); match components[0] { - "IM" => Ok(WasmEvent::ImportMemory(ImportMemory { + "EC" => Ok(WasmEvent::FuncEntry { idx: components[1].parse().unwrap(), - module: components[2].to_string(), - name: components[3].to_string(), - initial: components[4].parse().unwrap(), - maximum: if components[5].is_empty() { - None - } else { - Some(components[5].parse().unwrap()) - }, - })), - "EC" => Ok(WasmEvent::ExportCall(ExportCall { - name: components[1].to_string(), - params: split_list(components.get(2).unwrap()), - })), - "TC" => Ok(WasmEvent::TableCall(TableCall { - tablename: components[1].to_string(), - funcidx: components[2].parse().unwrap(), + name: components[2].to_string(), params: split_list(components.get(3).unwrap()), - })), - "ER" => Ok(WasmEvent::ExportReturn), - "IC" => Ok(WasmEvent::ImportCall(ImportCall { + }), + "TC" => Ok(WasmEvent::FuncEntryTable { + idx: components[1].parse().unwrap(), + tablename: components[2].to_string(), + tableidx: components[3].parse().unwrap(), + params: split_list(components.get(4).unwrap()), + }), + "ER" => Ok(WasmEvent::FuncReturn), + "IC" => Ok(WasmEvent::ImportCall { idx: components[1].parse().unwrap(), name: components[2].to_string(), - })), - "IR" => Ok(WasmEvent::ImportReturn(ImportReturn { + }), + "IR" => Ok(WasmEvent::ImportReturn { idx: components[1].parse().unwrap(), name: components[2].to_string(), results: split_list(components.get(3).unwrap()), - })), - "L" => Ok(WasmEvent::Load(Load { + }), + "L" => Ok(WasmEvent::Load { idx: components[1].parse().unwrap(), name: components[2].to_string(), offset: components[3].parse().unwrap(), data: split_list(components.get(4).unwrap()), - })), - "MG" => Ok(WasmEvent::MemGrow(MemGrow { + }), + "MG" => Ok(WasmEvent::MemGrow { idx: components[1].parse().unwrap(), name: components[2].to_string(), amount: components[3].parse().unwrap(), - })), - "T" => Ok(WasmEvent::TableGet(TableGet { + }), + "T" => Ok(WasmEvent::TableGet { tableidx: components[1].parse().unwrap(), name: components[2].to_string(), idx: components[3].parse().unwrap(), funcidx: components[4].parse().unwrap(), funcname: components[5].to_string(), - })), - "TG" => Ok(WasmEvent::TableGrow(TableGrow { + }), + "TG" => Ok(WasmEvent::TableGrow { idx: components[1].parse().unwrap(), name: components[2].to_string(), amount: components[3].parse().unwrap(), - })), - "G" => Ok(WasmEvent::GlobalGet(GlobalGet { + }), + "G" => Ok(WasmEvent::GlobalGet { idx: components[1].parse().unwrap(), name: components[2].to_string(), value: parse_number(components[3]).unwrap(), valtype: components[4].parse().unwrap(), - })), - "IG" => Ok(WasmEvent::ImportGlobal(ImportGlobal { + }), + "IG" => Ok(WasmEvent::ImportGlobal { idx: components[1].parse().unwrap(), module: components[2].to_string(), name: components[3].to_string(), value: components[4].parse().unwrap(), mutable: if components[5] == "1" { true } else { false }, initial: components[6].parse().unwrap(), - })), - "IF" => Ok(WasmEvent::ImportFunc(ImportFunc { - idx: components[1].parse().unwrap(), - module: components[2].parse().unwrap(), - name: components[3].parse().unwrap(), - })), - "IT" => Ok(WasmEvent::ImportTable(ImportTable { - idx: components[1].parse().unwrap(), - module: components[2].parse().unwrap(), - name: components[3].parse().unwrap(), - initial: components[4].parse().unwrap(), - maximum: if components[5].is_empty() { - None - } else { - Some(components[5].parse().unwrap()) - }, - element: components[6].parse().unwrap(), - })), - "FE" => Ok(WasmEvent::FuncEntry(FuncEntry { - idx: components[1].parse().unwrap(), - args: split_list(components.get(2).unwrap()), - })), - "FR" => Ok(WasmEvent::FuncReturn(FuncReturn { - idx: components[1].parse().unwrap(), - values: split_list(components.get(2).unwrap()), - })), - _ => Err(Error::new( - ErrorKind::InvalidData, - format!("Unknown event type: {}", components[0]), - )), + }), + "IT" | "IM" | "IF" => Err(ErrorKind::LegacyTrace), + _ => Err(ErrorKind::UnknownTrace), } } } @@ -335,94 +315,68 @@ impl FromStr for WasmEvent { impl Debug for WasmEvent { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { - WasmEvent::Load(Load { + WasmEvent::Load { idx, name, offset, data, - }) => write!(f, "L;{};{};{};{}", idx, name, offset, join_vec(data)), - WasmEvent::MemGrow(MemGrow { idx, name, amount }) => { + } => write!(f, "L;{};{};{};{}", idx, name, offset, join_vec(data)), + WasmEvent::MemGrow { idx, name, amount } => { write!(f, "MG;{};{};{}", idx, name, amount) } - WasmEvent::TableGet(TableGet { + WasmEvent::TableGet { tableidx, name, idx, funcidx, funcname, - }) => write!( - f, - "T;{};{};{};{};{}", - tableidx, name, idx, funcidx, funcname - ), - WasmEvent::TableGrow(TableGrow { idx, name, amount }) => { + } => { + write!( + f, + "T;{};{};{};{};{}", + tableidx, name, idx, funcidx, funcname + ) + } + WasmEvent::TableGrow { idx, name, amount } => { write!(f, "MG;{};{};{}", idx, name, amount) } - WasmEvent::GlobalGet(GlobalGet { + WasmEvent::GlobalGet { idx, name, value, valtype, - }) => { + } => { write!(f, "G;{};{};{};{:?}", idx, name, value, valtype) } - WasmEvent::ExportCall(ExportCall { name, params }) => { - write!(f, "EC;{};{}", name, join_vec(params)) + WasmEvent::FuncEntry { name, params, idx } => { + write!(f, "EC{};{};{}", idx, name, join_vec(params)) } - WasmEvent::TableCall(TableCall { + WasmEvent::FuncEntryTable { + idx, tablename, - funcidx, + tableidx: funcidx, params, - }) => write!(f, "TC;{};{};{}", tablename, funcidx, join_vec(params)), - WasmEvent::ExportReturn => write!(f, "ER"), - WasmEvent::ImportCall(ImportCall { idx, name }) => write!(f, "IC;{};{}", idx, name), - WasmEvent::ImportReturn(ImportReturn { idx, name, results }) => { - write!(f, "IR;{};{};{}", idx, name, join_vec(results)) - } - WasmEvent::ImportMemory(ImportMemory { - idx, - module, - name, - initial, - maximum, - }) => { - let temp = match maximum { - Some(f) => f.0.to_string(), - None => "".to_owned(), - }; - write!(f, "IM;{};{};{};{};{}", idx, module, name, initial, temp,) - } - WasmEvent::ImportTable(ImportTable { + } => write!( + f, + "TC;{};{};{};{}", idx, - module, - name, - initial, - maximum, - element, - }) => { - let temp = match maximum { - Some(f) => f.0.to_string(), - None => "".to_owned(), - }; - write!( - f, - "IT;{};{};{};{};{};{}", - idx, - module, - name, - initial, - temp, - "anyfunc" // // want to replace anyfunc through t.refType but it holds the wrong string ('funcref') - ) + tablename, + funcidx, + join_vec(params), + ), + WasmEvent::FuncReturn => write!(f, "ER"), + WasmEvent::ImportCall { idx, name } => write!(f, "IC;{};{}", idx, name), + WasmEvent::ImportReturn { idx, name, results } => { + write!(f, "IR;{};{};{}", idx, name, join_vec(results),) } - WasmEvent::ImportGlobal(ImportGlobal { + WasmEvent::ImportGlobal { idx, module, name, mutable, initial, value, - }) => { + } => { write!( f, "IG;{};{};{};{:?};{};{}", @@ -434,93 +388,6 @@ impl Debug for WasmEvent { initial ) } - WasmEvent::ImportFunc(ImportFunc { idx, module, name }) => { - write!(f, "IF;{};{};{}", idx, module, name) - } - WasmEvent::FuncEntry(FuncEntry { idx, args }) => { - write!(f, "FE;{};{}", idx, join_vec(args)) - } - WasmEvent::FuncReturn(FuncReturn { idx, values }) => { - write!(f, "FR;{};{}", idx, join_vec(values)) - } - } - } -} - -#[test] -fn test_encode_decode() -> std::io::Result<()> { - use super::*; - use std::fs; - use std::io; - use std::io::Read; - use std::io::Write; - use std::io::{BufRead, Seek, SeekFrom}; - use std::path::Path; - use tempfile::tempfile; - - fn visit_dirs(dir: &Path) -> io::Result<()> { - if dir.is_dir() { - for entry in fs::read_dir(dir)? { - let entry = entry?; - let path = entry.path(); - if path.is_dir() { - visit_dirs(&path)?; - } else { - if path.extension().and_then(|s| s.to_str()) == Some("r3") { - if path.display().to_string().contains("pathfinding") { // floating point precision - println!("skipping problematic case {}", path.display()); - continue; - } - let mut file = fs::File::open(&path)?; - let mut original_contents = Vec::new(); - file.read_to_end(&mut original_contents)?; - - let file = fs::File::open(&path)?; - let reader = io::BufReader::new(file); - let mut trace = trace::Trace::new(); - for line in reader.lines() { - let line = line?; - let event = match line.parse() { - Ok(e) => e, - Err(_) => panic!("error parsing file: {}", path.display()), - }; - trace.push(event); - } - let mut newfile = tempfile()?; - let trace_str = match decode_trace(trace) { - Ok(s) => s, - Err(e) => { - println!("error decoding trace: {}", e); - continue; - } - }; - write!(newfile, "{}", trace_str)?; - newfile.seek(SeekFrom::Start(0))?; - - let mut new_contents = Vec::new(); - let mut reader = io::BufReader::new(newfile); - reader.read_to_end(&mut new_contents)?; - if !new_contents.is_empty() { - assert_eq!( - &original_contents[..original_contents.len()], - &new_contents[..new_contents.len() - 1], - "File contents do not match for {}", - path.display() - ); - } else { - assert_eq!( - original_contents, - new_contents, - "File contents do not match for {}", - path.display() - ); - } - } - } - } } - Ok(()) } - visit_dirs(Path::new("../../tests"))?; - Ok(()) } diff --git a/src/benchmark.cts b/src/benchmark.cts index c959cbc1..7f00302b 100644 --- a/src/benchmark.cts +++ b/src/benchmark.cts @@ -29,9 +29,11 @@ export default class Benchmark { } const diskSave = path.join(binPath, `temp-trace-${i}.r3`) await fs.writeFile(diskSave, trace.toString()) + await fs.writeFile(path.join(binPath, 'index.wasm'), Buffer.from(binary)) if (options.rustBackend === true) { const p_measureCodeGen = createMeasure('rust-backend', { phase: 'replay-generation', description: `The time it takes for rust backend to generate javascript` }) - execSync(`./crates/target/release/replay_gen ${diskSave} ${path.join(binPath, 'replay.js')}`); + execSync(`./crates/target/release/replay_gen ${diskSave} ${path.join(binPath, 'index.wasm')}`); + execSync(`wasm-validate ${path.join(binPath, "canned.wasm")}`) p_measureCodeGen() } else { const p_measureCodeGen = createMeasure('ir-gen', { phase: 'replay-generation', description: `The time it takes to generate the IR code for subbenchmark ${i}` }) @@ -41,7 +43,6 @@ export default class Benchmark { await generateJavascript(fss.createWriteStream(path.join(binPath, 'replay.js')), code) p_measureJSWrite() } - await fs.writeFile(path.join(binPath, 'index.wasm'), Buffer.from(binary)) await fs.rm(diskSave) })) p_measureSave() diff --git a/src/replay-generator.cts b/src/replay-generator.cts index 430cac18..0a5e0eee 100644 --- a/src/replay-generator.cts +++ b/src/replay-generator.cts @@ -91,7 +91,7 @@ export default class Generator { this.pushEvent({ type: 'Call', name: event.name, params: event.params }) break case 'TableCall': - this.pushEvent({ type: 'TableCall', tableName: event.tableName, funcidx: event.funcidx, params: event.params }) + this.pushEvent({ type: 'TableCall', tableName: event.tableName, funcidx: event.tableidx, params: event.params }) case 'ExportReturn': this.state.globalScope = true break diff --git a/src/tracer.cts b/src/tracer.cts index 04227306..db45a0fa 100644 --- a/src/tracer.cts +++ b/src/tracer.cts @@ -98,15 +98,17 @@ export class Trace { case "EC": return { type: 'ExportCall', - name: components[1], - params: splitList(components[2]) + funcidx: parseInt(components[1]), + name: components[2], + params: splitList(components[3]) } case 'TC': return { type: 'TableCall', - tableName: components[1], - funcidx: parseInt(components[2]), - params: splitList(components[3]) + funcidx: parseInt(components[1]), + tableName: components[2], + tableidx: parseInt(components[3]), + params: splitList(components[4]) } case 'ER': return { @@ -318,7 +320,7 @@ export default class Analysis implements AnalysisI { for (let tableIndex = 0; tableIndex < table.length; tableIndex++) { const funcidx = this.resolveFuncIdx(table, tableIndex) if (funcidx === location.func) { - this.trace.push(`TC;${this.getName(this.Wasabi.module.info.tables[i])};${tableIndex};${args.join(',')}`) + this.trace.push(`TC;${location.func};${this.getName(this.Wasabi.module.info.tables[i])};${tableIndex};${args.join(',')}`) return true } } @@ -327,7 +329,7 @@ export default class Analysis implements AnalysisI { throw new Error('The function you where calling from outside the wasm module is neither exported nor in a table...') } } else { - this.trace.push(`EC;${exportName};${args.join(',')}`) + this.trace.push(`EC;${location.func};${exportName};${args.join(',')}`) this.checkMemGrow() this.checkTableGrow() } @@ -463,14 +465,14 @@ export default class Analysis implements AnalysisI { let resolvedFuncIdx = this.resolveFuncIdx(table, idx) if (shadowTable.get(idx) !== table.get(idx)) { let name = this.getName(this.Wasabi.module.info.tables[tableidx]) - let funcidx = parseInt(table.get(idx).name) + let funcidx = this.resolveFuncIdx(table, idx) let funcName = this.getName(this.Wasabi.module.info.functions[resolvedFuncIdx]) this.trace.push(`T;${tableidx};${name};${idx};${funcidx};${funcName}`) this.shadowTables[0].set(0, table.get(idx)) } if (this.options.extended === true) { let name = this.getName(this.Wasabi.module.info.tables[tableidx]) - let funcidx = parseInt(table.get(idx).name) + let funcidx = this.resolveFuncIdx(table, idx) let funcName = this.getName(this.Wasabi.module.info.functions[resolvedFuncIdx]) this.trace.push(`TE;${tableidx};${name};${idx};${funcidx};${funcName}`) } diff --git a/trace.d.cts b/trace.d.cts index 6aa37c22..e602894f 100644 --- a/trace.d.cts +++ b/trace.d.cts @@ -24,9 +24,9 @@ export type TableGrow = { type: 'TableGrow', idx: number, name: string, amount: export type GlobalGet = { type: 'GlobalGet', idx: number, name: string, value: number, valtype: ValType } -export type ExportCall = { type: "ExportCall", name: string, params: number[] } +export type ExportCall = { type: "ExportCall", funcidx: number, name: string, params: number[] } -export type TableCall = { type: "TableCall", tableName: string, funcidx: number, params: number[] } +export type TableCall = { type: "TableCall", funcidx: number, tableName: string, tableidx: number, params: number[] } export type ExportReturn = { type: 'ExportReturn' }