| (module |
| (memory 0) |
| (start $start) |
| (type $0 (func)) |
| (export "memory" (memory $0)) |
| (export "exported" $exported) |
| (table 1 1 anyfunc) |
| (elem (i32.const 0) $called_indirect) |
| (func $start (type $0) |
| (call $called0) |
| ) |
| (func $called0 (type $0) |
| (call $called1) |
| ) |
| (func $called1 (type $0) |
| (nop) |
| ) |
| (func $called_indirect (type $0) |
| (nop) |
| ) |
| (func $exported (type $0) |
| (call $called2) |
| ) |
| (func $called2 (type $0) |
| (call $called2) |
| (call $called3) |
| ) |
| (func $called3 (type $0) |
| (call $called4) |
| ) |
| (func $called4 (type $0) |
| (call $called3) |
| ) |
| (func $remove0 (type $0) |
| (call $remove1) |
| ) |
| (func $remove1 (type $0) |
| (nop) |
| ) |
| (func $remove2 (type $0) |
| (call $remove2) |
| ) |
| (func $remove3 (type $0) |
| (call $remove4) |
| ) |
| (func $remove4 (type $0) |
| (call $remove3) |
| ) |
| ) |
| (module ;; leave the table and memory alone |
| (import "env" "memory" (memory $0 256)) |
| (import "env" "table" (table 0 anyfunc)) |
| ) |
| (module |
| (import "env" "memory" (memory $0 256)) |
| (import "env" "table" (table 0 anyfunc)) |
| (import "env" "memoryBase" (global $memoryBase i32)) ;; used in init |
| (import "env" "tableBase" (global $tableBase i32)) ;; used in init |
| (data (get_global $memoryBase) "hello, world!") |
| (elem (get_global $tableBase) $waka) |
| (func $waka) ;; used in table |
| ) |
| (module ;; one is exported, and one->two->int global, whose init->imported |
| (import "env" "imported" (global $imported i32)) |
| (import "env" "forgetme" (global $forgetme i32)) |
| (import "env" "_puts" (func $_puts (param i32) (result i32))) |
| (import "env" "forget_puts" (func $forget_puts (param i32) (result i32))) |
| (global $int (mut i32) (get_global $imported)) |
| (global $set (mut i32) (i32.const 100)) |
| (global $forget_global (mut i32) (i32.const 500)) |
| (global $exp_glob i32 (i32.const 600)) |
| (export "one" (func $one)) |
| (export "three" (func $three)) |
| (export "exp_glob" (global $exp_glob)) |
| (start $starter) |
| (func $one (result i32) |
| (call $two) |
| ) |
| (func $two (result i32) |
| (get_global $int) |
| ) |
| (func $three |
| (call $four) |
| ) |
| (func $four |
| (set_global $set (i32.const 200)) |
| (drop (call $_puts (i32.const 300))) |
| ) |
| (func $forget_implemented |
| (nop) |
| ) |
| (func $starter |
| (nop) |
| ) |
| ) |
| |