diff options
author | Alon Zakai <alonzakai@gmail.com> | 2018-09-19 15:50:30 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-19 15:50:30 -0700 |
commit | fe88b47749115009da0447e340cbdc86edf30984 (patch) | |
tree | 7dfd9aba7086c8aa6dff4877ac1ee3b9d78bc5ce /test/metadce | |
parent | a53356ab155a7d8c2f334dc9a3c1432bacbc78fe (diff) | |
download | binaryen-fe88b47749115009da0447e340cbdc86edf30984.tar.gz binaryen-fe88b47749115009da0447e340cbdc86edf30984.tar.bz2 binaryen-fe88b47749115009da0447e340cbdc86edf30984.zip |
Unify imported and non-imported things (#1678)
Fixes #1649
This moves us to a single object for functions, which can be imported or nor, and likewise for globals (as a result, GetGlobals do not need to check if the global is imported or not, etc.). All imported things now inherit from Importable, which has the module and base of the import, and if they are set then it is an import.
For convenient iteration, there are a few helpers like
ModuleUtils::iterDefinedGlobals(wasm, [&](Global* global) {
.. use global ..
});
as often iteration only cares about imported or defined (non-imported) things.
Diffstat (limited to 'test/metadce')
-rw-r--r-- | test/metadce/corners.wast.dced | 4 | ||||
-rw-r--r-- | test/metadce/no-outside.wast | 2 | ||||
-rw-r--r-- | test/metadce/outside.wast | 2 | ||||
-rw-r--r-- | test/metadce/outside.wast.dced | 10 | ||||
-rw-r--r-- | test/metadce/threaded.wast.dced | 4 | ||||
-rw-r--r-- | test/metadce/threaded_cycle.wast.dced | 6 |
6 files changed, 14 insertions, 14 deletions
diff --git a/test/metadce/corners.wast.dced b/test/metadce/corners.wast.dced index 772b38653..5c3f4f7c2 100644 --- a/test/metadce/corners.wast.dced +++ b/test/metadce/corners.wast.dced @@ -1,11 +1,11 @@ (module (type $FUNCSIG$v (func)) + (import "env" "table" (table 10 10 anyfunc)) + (elem (i32.const 0) $imported_table_func) (import "env" "STACKTOP" (global $STACKTOP$asm2wasm$import i32)) (import "env" "imported_twice" (func $imported_twice_a)) (import "env" "an-imported-table-func" (func $imported_table_func)) - (import "env" "table" (table 10 10 anyfunc)) (global $STACKTOP (mut i32) (get_global $STACKTOP$asm2wasm$import)) - (elem (i32.const 0) $imported_table_func) (export "stackAlloc" (func $stackAlloc)) (func $stackAlloc (; 2 ;) (type $FUNCSIG$v) (drop diff --git a/test/metadce/no-outside.wast b/test/metadce/no-outside.wast index 038a693de..77a496f5f 100644 --- a/test/metadce/no-outside.wast +++ b/test/metadce/no-outside.wast @@ -4,7 +4,7 @@ (export "wasm_func" (func $a_wasm_func)) (export "wasm_func_unused" (func $an_unused_wasm_func)) (func $a_wasm_func - (call_import $a_js_func) + (call $a_js_func) ) (func $an_unused_wasm_func ) diff --git a/test/metadce/outside.wast b/test/metadce/outside.wast index dc5aeaabc..048af4764 100644 --- a/test/metadce/outside.wast +++ b/test/metadce/outside.wast @@ -20,7 +20,7 @@ (elem (get_global $from_segment_2) $table_func) (func $a_wasm_func - (call_import $a_js_func) + (call $a_js_func) (drop (get_global $DYNAMICTOP_PTR$asm2wasm$import)) (drop (get_global $__THREW__)) ) diff --git a/test/metadce/outside.wast.dced b/test/metadce/outside.wast.dced index 087906b58..986a8f9ac 100644 --- a/test/metadce/outside.wast.dced +++ b/test/metadce/outside.wast.dced @@ -1,15 +1,15 @@ (module (type $FUNCSIG$v (func)) - (import "env" "js_func" (func $a_js_func)) - (import "env" "DYNAMICTOP_PTR" (global $DYNAMICTOP_PTR$asm2wasm$import i32)) (import "env" "memory" (memory $0 256 256)) + (data (i32.const 1024) "abcd") + (data (get_global $from_segment) "abcd") (import "env" "table" (table 10 10 anyfunc)) + (elem (get_global $from_segment_2) $table_func) + (import "env" "DYNAMICTOP_PTR" (global $DYNAMICTOP_PTR$asm2wasm$import i32)) + (import "env" "js_func" (func $a_js_func)) (global $__THREW__ (mut i32) (i32.const 0)) (global $from_segment (mut i32) (i32.const 0)) (global $from_segment_2 (mut i32) (i32.const 0)) - (elem (get_global $from_segment_2) $table_func) - (data (i32.const 1024) "abcd") - (data (get_global $from_segment) "abcd") (export "wasm_func" (func $a_wasm_func)) (func $table_func (; 1 ;) (type $FUNCSIG$v) (nop) diff --git a/test/metadce/threaded.wast.dced b/test/metadce/threaded.wast.dced index 1ee6158a5..e5a00da35 100644 --- a/test/metadce/threaded.wast.dced +++ b/test/metadce/threaded.wast.dced @@ -1,8 +1,8 @@ (module (type $FUNCSIG$v (func)) - (import "env" "js_func2" (func $js_func_2)) - (import "env" "js_func3" (func $js_func_3)) (import "env" "js_func4" (func $js_func_4)) + (import "env" "js_func3" (func $js_func_3)) + (import "env" "js_func2" (func $js_func_2)) (export "wasm_func1" (func $wasm_func_1)) (export "wasm_func2" (func $wasm_func_2)) (export "wasm_func3" (func $wasm_func_3)) diff --git a/test/metadce/threaded_cycle.wast.dced b/test/metadce/threaded_cycle.wast.dced index 34e299b8c..6a4d3450e 100644 --- a/test/metadce/threaded_cycle.wast.dced +++ b/test/metadce/threaded_cycle.wast.dced @@ -1,9 +1,9 @@ (module (type $FUNCSIG$v (func)) - (import "env" "js_func1" (func $js_func_1)) - (import "env" "js_func2" (func $js_func_2)) - (import "env" "js_func3" (func $js_func_3)) (import "env" "js_func4" (func $js_func_4)) + (import "env" "js_func3" (func $js_func_3)) + (import "env" "js_func2" (func $js_func_2)) + (import "env" "js_func1" (func $js_func_1)) (export "wasm_func1" (func $wasm_func_1)) (export "wasm_func2" (func $wasm_func_2)) (export "wasm_func3" (func $wasm_func_3)) |