Last active
January 12, 2017 01:10
-
-
Save eholk/a9cf2a5cc4340ed5dde991792f3ee4b1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(module | |
(type $rustfn-0-2 (func (param i32) (result i32))) | |
(type $rustfn-0-4 (func)) | |
(type $rustfn-0-5 (func)) | |
(type $__wasm_start (func)) | |
(type $rustfn-0-19 (func (param i32 i32) (result i32))) | |
(type $rustfn-0-33 (func (param i32 i32) (result i32))) | |
(type $rustfn-0-44 (func (param i32 i32) (result i32))) | |
(type $rustfn-0-53 (func (param i32 i32))) | |
(memory $0 1024 1024) | |
(export "memory" (memory $0)) | |
(export "fibonacci_recursive" (func $fibonacci_recursive)) | |
(export "main" (func $main)) | |
(export "rust_entry" (func $__wasm_start)) | |
(export "_i32_as_PartialEq_::eq" (func $_i32_as_PartialEq_::eq)) | |
(export "_i32_as_PartialEq_::ne" (func $_i32_as_PartialEq_::ne)) | |
(export "_i32_as_Add_::add" (func $_i32_as_Add_::add)) | |
(export "_i32_as_Sub_::sub" (func $_i32_as_Sub_::sub)) | |
(export "_i32_as_AddAssign_::add_assign" (func $_i32_as_AddAssign_::add_assign)) | |
(start $__wasm_start) | |
(func $fibonacci_recursive (type $rustfn-0-2) (param $0 i32) (result i32) | |
(local $1 i32) | |
(local $2 i32) | |
(local $3 i32) | |
(local $4 i32) | |
(local $5 i32) | |
(local $6 i32) | |
(local $7 i32) | |
(local $8 i32) | |
(local $9 i32) | |
(local $10 i32) | |
(local $11 i32) | |
(local $12 i32) | |
(local $13 i32) | |
(local $14 i32) | |
(local $15 i32) | |
(local $16 i32) | |
(local $17 i32) | |
(local $18 i32) | |
(local $19 i32) | |
(local $20 i64) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$1$break | |
[none] (set_local $18 | |
[i32] (i32.load | |
[i32] (i32.const 0) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$1$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$5$break | |
[none] (block $block$2$break | |
[none] (block $bb0 | |
[none] (set_local $1 | |
[i32] (get_local $0) | |
) | |
[none] (set_local $4 | |
[i32] (get_local $1) | |
) | |
[none] (set_local $3 | |
[i32] (i32.eq | |
[i32] (get_local $4) | |
[i32] (i32.const 0) | |
) | |
) | |
) | |
[none] (if | |
[i32] (get_local $3) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$2$break) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block | |
[none] (block $block$3$break | |
[none] (block $bb3 | |
[none] (set_local $6 | |
[i32] (get_local $1) | |
) | |
[none] (set_local $5 | |
[i32] (i32.eq | |
[i32] (get_local $6) | |
[i32] (i32.const 1) | |
) | |
) | |
) | |
[none] (if | |
[i32] (get_local $5) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$2$break) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$3$break) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[none] (block $bb2 | |
[none] (set_local $2 | |
[i32] (i32.const 0) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$5$break) | |
) | |
) | |
) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[none] (block $bb1 | |
[none] (set_local $2 | |
[i32] (i32.const 1) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$5$break) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[none] (block $block$13$break | |
[none] (block $bb4 | |
) | |
[none] (if | |
[i32] (get_local $2) | |
[unreachable] [unreachable] (block | |
[unreachable] (block | |
[none] (block $bb5 | |
[none] (set_local $7 | |
[i32] (get_local $1) | |
) | |
[none] (set_local $17 | |
[i32] (get_local $7) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$13$break) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block | |
[unreachable] (block $block$8$break | |
[none] (block $bb6 | |
[none] (set_local $10 | |
[i32] (get_local $1) | |
) | |
[none] (set_local $20 | |
[i64] (i64.sub | |
[i64] (i64.extend_s/i32 | |
[i32] (get_local $10) | |
) | |
[i64] (i64.extend_s/i32 | |
[i32] (i32.const 1) | |
) | |
) | |
) | |
[none] (i32.store | |
[i32] (i32.const 0) | |
[i32] (tee_local $11 | |
[i32] (i32.sub | |
[i32] (i32.load | |
[i32] (i32.const 0) | |
) | |
[i32] (i32.const 64) | |
) | |
) | |
) | |
[none] (i32.store | |
[i32] (get_local $11) | |
[i32] (i32.wrap/i64 | |
[i64] (get_local $20) | |
) | |
) | |
[none] (i32.store offset=4 | |
[i32] (get_local $11) | |
[i32] (i32.wrap/i64 | |
[i64] (i64.shr_u | |
[i64] (get_local $20) | |
[i64] (i64.const 32) | |
) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$8$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$9$break | |
[none] (block $bb7 | |
[none] (set_local $9 | |
[i32] (i32.load | |
[i32] (get_local $11) | |
) | |
) | |
[none] (set_local $8 | |
[i32] (call $fibonacci_recursive | |
[i32] (get_local $9) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$9$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$10$break | |
[none] (block $bb8 | |
[none] (set_local $14 | |
[i32] (get_local $1) | |
) | |
[none] (set_local $20 | |
[i64] (i64.sub | |
[i64] (i64.extend_s/i32 | |
[i32] (get_local $14) | |
) | |
[i64] (i64.extend_s/i32 | |
[i32] (i32.const 2) | |
) | |
) | |
) | |
[none] (i32.store | |
[i32] (i32.const 0) | |
[i32] (tee_local $15 | |
[i32] (i32.sub | |
[i32] (i32.load | |
[i32] (i32.const 0) | |
) | |
[i32] (i32.const 64) | |
) | |
) | |
) | |
[none] (i32.store | |
[i32] (get_local $15) | |
[i32] (i32.wrap/i64 | |
[i64] (get_local $20) | |
) | |
) | |
[none] (i32.store offset=4 | |
[i32] (get_local $15) | |
[i32] (i32.wrap/i64 | |
[i64] (i64.shr_u | |
[i64] (get_local $20) | |
[i64] (i64.const 32) | |
) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$10$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$11$break | |
[none] (block $bb9 | |
[none] (set_local $13 | |
[i32] (i32.load | |
[i32] (get_local $15) | |
) | |
) | |
[none] (set_local $12 | |
[i32] (call $fibonacci_recursive | |
[i32] (get_local $13) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$11$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$12$break | |
[none] (block $bb10 | |
[none] (set_local $20 | |
[i64] (i64.add | |
[i64] (i64.extend_s/i32 | |
[i32] (get_local $8) | |
) | |
[i64] (i64.extend_s/i32 | |
[i32] (get_local $12) | |
) | |
) | |
) | |
[none] (i32.store | |
[i32] (i32.const 0) | |
[i32] (tee_local $16 | |
[i32] (i32.sub | |
[i32] (i32.load | |
[i32] (i32.const 0) | |
) | |
[i32] (i32.const 64) | |
) | |
) | |
) | |
[none] (i32.store | |
[i32] (get_local $16) | |
[i32] (i32.wrap/i64 | |
[i64] (get_local $20) | |
) | |
) | |
[none] (i32.store offset=4 | |
[i32] (get_local $16) | |
[i32] (i32.wrap/i64 | |
[i64] (i64.shr_u | |
[i64] (get_local $20) | |
[i64] (i64.const 32) | |
) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$12$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[none] (block $bb11 | |
[none] (set_local $17 | |
[i32] (i32.load | |
[i32] (get_local $16) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$13$break) | |
) | |
) | |
) | |
) | |
) | |
) | |
) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $bb12 | |
[none] (i32.store | |
[i32] (i32.const 0) | |
[i32] (get_local $18) | |
) | |
[unreachable] (return | |
[i32] (get_local $17) | |
) | |
) | |
) | |
) | |
) | |
) | |
) | |
(func $panic (type $rustfn-0-4) | |
(local $0 i32) | |
(local $1 i32) | |
(local $2 i64) | |
[unreachable] (unreachable) | |
) | |
(func $main (type $rustfn-0-5) | |
(local $0 i32) | |
(local $1 i32) | |
(local $2 i32) | |
(local $3 i32) | |
(local $4 i32) | |
(local $5 i32) | |
(local $6 i64) | |
[none] [none] (block | |
[unreachable] (block $block$1$break | |
[none] (set_local $4 | |
[i32] (i32.load | |
[i32] (i32.const 0) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$1$break) | |
) | |
) | |
[none] [none] (block | |
[unreachable] (block $block$2$break | |
[none] (block $bb0 | |
[none] (set_local $0 | |
[i32] (call $fibonacci_recursive | |
[i32] (i32.const 10) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$2$break) | |
) | |
) | |
[none] [none] (block | |
[none] (block $bb1 | |
[none] (set_local $3 | |
[i32] (get_local $0) | |
) | |
[none] (set_local $2 | |
[i32] (i32.eq | |
[i32] (get_local $3) | |
[i32] (i32.const 55) | |
) | |
) | |
[none] (set_local $1 | |
[i32] (i32.eqz | |
[i32] (get_local $2) | |
) | |
) | |
) | |
[none] (if | |
[i32] (get_local $1) | |
[unreachable] [unreachable] (block | |
[unreachable] (block | |
[unreachable] (block $bb2 | |
[i32] (call $panic) | |
[unreachable] (unreachable) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block | |
[unreachable] (block $bb3 | |
[none] (i32.store | |
[i32] (i32.const 0) | |
[i32] (get_local $4) | |
) | |
[unreachable] (return) | |
) | |
) | |
) | |
) | |
) | |
) | |
) | |
) | |
(func $__wasm_start (type $__wasm_start) | |
[none] [none] (block | |
[none] (i32.store | |
[i32] (i32.const 0) | |
[i32] (i32.const 65535) | |
) | |
[none] (call $main) | |
) | |
) | |
(func $_i32_as_PartialEq_::eq (type $rustfn-0-19) (param $0 i32) (param $1 i32) (result i32) | |
(local $2 i32) | |
(local $3 i32) | |
(local $4 i32) | |
(local $5 i32) | |
(local $6 i32) | |
(local $7 i32) | |
(local $8 i32) | |
(local $9 i64) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$1$break | |
[none] (set_local $7 | |
[i32] (i32.load | |
[i32] (i32.const 0) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$1$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$2$break | |
[none] (block $bb0 | |
[none] (set_local $2 | |
[i32] (get_local $0) | |
) | |
[none] (set_local $3 | |
[i32] (get_local $1) | |
) | |
[none] (set_local $4 | |
[i32] (get_local $2) | |
) | |
[none] (set_local $5 | |
[i32] (get_local $3) | |
) | |
[none] (set_local $6 | |
[i32] (i32.eq | |
[i32] (get_local $4) | |
[i32] (get_local $5) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$2$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $bb1 | |
[none] (i32.store | |
[i32] (i32.const 0) | |
[i32] (get_local $7) | |
) | |
[unreachable] (return | |
[i32] (get_local $6) | |
) | |
) | |
) | |
) | |
) | |
) | |
(func $_i32_as_PartialEq_::ne (type $rustfn-0-19) (param $0 i32) (param $1 i32) (result i32) | |
(local $2 i32) | |
(local $3 i32) | |
(local $4 i32) | |
(local $5 i32) | |
(local $6 i32) | |
(local $7 i32) | |
(local $8 i32) | |
(local $9 i64) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$1$break | |
[none] (set_local $7 | |
[i32] (i32.load | |
[i32] (i32.const 0) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$1$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$2$break | |
[none] (block $bb0 | |
[none] (set_local $2 | |
[i32] (get_local $0) | |
) | |
[none] (set_local $3 | |
[i32] (get_local $1) | |
) | |
[none] (set_local $4 | |
[i32] (get_local $2) | |
) | |
[none] (set_local $5 | |
[i32] (get_local $3) | |
) | |
[none] (set_local $6 | |
[i32] (i32.ne | |
[i32] (get_local $4) | |
[i32] (get_local $5) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$2$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $bb1 | |
[none] (i32.store | |
[i32] (i32.const 0) | |
[i32] (get_local $7) | |
) | |
[unreachable] (return | |
[i32] (get_local $6) | |
) | |
) | |
) | |
) | |
) | |
) | |
(func $_i32_as_Add_::add (type $rustfn-0-33) (param $0 i32) (param $1 i32) (result i32) | |
(local $2 i32) | |
(local $3 i32) | |
(local $4 i32) | |
(local $5 i32) | |
(local $6 i32) | |
(local $7 i32) | |
(local $8 i32) | |
(local $9 i32) | |
(local $10 i64) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$1$break | |
[none] (set_local $8 | |
[i32] (i32.load | |
[i32] (i32.const 0) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$1$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$2$break | |
[none] (block $bb0 | |
[none] (set_local $2 | |
[i32] (get_local $0) | |
) | |
[none] (set_local $3 | |
[i32] (get_local $1) | |
) | |
[none] (set_local $4 | |
[i32] (get_local $2) | |
) | |
[none] (set_local $5 | |
[i32] (get_local $3) | |
) | |
[none] (set_local $10 | |
[i64] (i64.add | |
[i64] (i64.extend_s/i32 | |
[i32] (get_local $4) | |
) | |
[i64] (i64.extend_s/i32 | |
[i32] (get_local $5) | |
) | |
) | |
) | |
[none] (i32.store | |
[i32] (i32.const 0) | |
[i32] (tee_local $6 | |
[i32] (i32.sub | |
[i32] (i32.load | |
[i32] (i32.const 0) | |
) | |
[i32] (i32.const 64) | |
) | |
) | |
) | |
[none] (i32.store | |
[i32] (get_local $6) | |
[i32] (i32.wrap/i64 | |
[i64] (get_local $10) | |
) | |
) | |
[none] (i32.store offset=4 | |
[i32] (get_local $6) | |
[i32] (i32.wrap/i64 | |
[i64] (i64.shr_u | |
[i64] (get_local $10) | |
[i64] (i64.const 32) | |
) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$2$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $bb1 | |
[none] (set_local $7 | |
[i32] (i32.load | |
[i32] (get_local $6) | |
) | |
) | |
[none] (i32.store | |
[i32] (i32.const 0) | |
[i32] (get_local $8) | |
) | |
[unreachable] (return | |
[i32] (get_local $7) | |
) | |
) | |
) | |
) | |
) | |
) | |
(func $_i32_as_Sub_::sub (type $rustfn-0-44) (param $0 i32) (param $1 i32) (result i32) | |
(local $2 i32) | |
(local $3 i32) | |
(local $4 i32) | |
(local $5 i32) | |
(local $6 i32) | |
(local $7 i32) | |
(local $8 i32) | |
(local $9 i32) | |
(local $10 i64) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$1$break | |
[none] (set_local $8 | |
[i32] (i32.load | |
[i32] (i32.const 0) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$1$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$2$break | |
[none] (block $bb0 | |
[none] (set_local $2 | |
[i32] (get_local $0) | |
) | |
[none] (set_local $3 | |
[i32] (get_local $1) | |
) | |
[none] (set_local $4 | |
[i32] (get_local $2) | |
) | |
[none] (set_local $5 | |
[i32] (get_local $3) | |
) | |
[none] (set_local $10 | |
[i64] (i64.sub | |
[i64] (i64.extend_s/i32 | |
[i32] (get_local $4) | |
) | |
[i64] (i64.extend_s/i32 | |
[i32] (get_local $5) | |
) | |
) | |
) | |
[none] (i32.store | |
[i32] (i32.const 0) | |
[i32] (tee_local $6 | |
[i32] (i32.sub | |
[i32] (i32.load | |
[i32] (i32.const 0) | |
) | |
[i32] (i32.const 64) | |
) | |
) | |
) | |
[none] (i32.store | |
[i32] (get_local $6) | |
[i32] (i32.wrap/i64 | |
[i64] (get_local $10) | |
) | |
) | |
[none] (i32.store offset=4 | |
[i32] (get_local $6) | |
[i32] (i32.wrap/i64 | |
[i64] (i64.shr_u | |
[i64] (get_local $10) | |
[i64] (i64.const 32) | |
) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$2$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $bb1 | |
[none] (set_local $7 | |
[i32] (i32.load | |
[i32] (get_local $6) | |
) | |
) | |
[none] (i32.store | |
[i32] (i32.const 0) | |
[i32] (get_local $8) | |
) | |
[unreachable] (return | |
[i32] (get_local $7) | |
) | |
) | |
) | |
) | |
) | |
) | |
(func $_i32_as_AddAssign_::add_assign (type $rustfn-0-53) (param $0 i32) (param $1 i32) | |
(local $2 i32) | |
(local $3 i32) | |
(local $4 i32) | |
(local $5 i32) | |
(local $6 i32) | |
(local $7 i32) | |
(local $8 i64) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$1$break | |
[none] (set_local $6 | |
[i32] (i32.load | |
[i32] (i32.const 0) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$1$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $block$2$break | |
[none] (block $bb0 | |
[none] (set_local $2 | |
[i32] (get_local $0) | |
) | |
[none] (set_local $3 | |
[i32] (get_local $1) | |
) | |
[none] (set_local $4 | |
[i32] (get_local $3) | |
) | |
[none] (set_local $8 | |
[i64] (i64.add | |
[i64] (i64.extend_s/i32 | |
[i32] (get_local $2) | |
) | |
[i64] (i64.extend_s/i32 | |
[i32] (get_local $4) | |
) | |
) | |
) | |
[none] (i32.store | |
[i32] (i32.const 0) | |
[i32] (tee_local $5 | |
[i32] (i32.sub | |
[i32] (i32.load | |
[i32] (i32.const 0) | |
) | |
[i32] (i32.const 64) | |
) | |
) | |
) | |
[none] (i32.store | |
[i32] (get_local $5) | |
[i32] (i32.wrap/i64 | |
[i64] (get_local $8) | |
) | |
) | |
[none] (i32.store offset=4 | |
[i32] (get_local $5) | |
[i32] (i32.wrap/i64 | |
[i64] (i64.shr_u | |
[i64] (get_local $8) | |
[i64] (i64.const 32) | |
) | |
) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (br $block$2$break) | |
) | |
) | |
[unreachable] [unreachable] (block | |
[unreachable] (block $bb1 | |
[none] (set_local $2 | |
[i32] (i32.load | |
[i32] (get_local $5) | |
) | |
) | |
[none] (i32.store | |
[i32] (i32.const 0) | |
[i32] (get_local $6) | |
) | |
[unreachable] (return) | |
) | |
) | |
) | |
) | |
) | |
) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment