summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/metadce/table.wast30
-rw-r--r--test/metadce/table.wast.dced21
-rw-r--r--test/metadce/table.wast.dced.stdout2
-rw-r--r--test/metadce/table.wast.graph.txt7
4 files changed, 60 insertions, 0 deletions
diff --git a/test/metadce/table.wast b/test/metadce/table.wast
new file mode 100644
index 000000000..d1ee93ae4
--- /dev/null
+++ b/test/metadce/table.wast
@@ -0,0 +1,30 @@
+(module
+ (type $array (array (mut funcref)))
+
+ (table $table-used 10 funcref)
+
+ (table $table-unused 10 funcref)
+
+ ;; An active element segment, which is always used.
+ (elem $elem (table $table-used) (i32.const 0) $func)
+
+ (elem $passive-elem-used $func)
+
+ (elem $passive-elem-unused $func)
+
+ (func $func (export "test")
+ ;; Use the used table and passive element segment.
+ (table.fill $table-used
+ (i32.const 0)
+ (ref.func $func)
+ (i32.const 0)
+ )
+ (drop
+ (array.new_elem $array $passive-elem-used
+ (i32.const 0)
+ (i32.const 1)
+ )
+ )
+ )
+)
+
diff --git a/test/metadce/table.wast.dced b/test/metadce/table.wast.dced
new file mode 100644
index 000000000..b779fee9d
--- /dev/null
+++ b/test/metadce/table.wast.dced
@@ -0,0 +1,21 @@
+(module
+ (type $0 (func))
+ (type $array (array (mut funcref)))
+ (table $table-used 10 funcref)
+ (elem $elem (i32.const 0) $func)
+ (elem $passive-elem-used func $func)
+ (export "test" (func $func))
+ (func $func (type $0)
+ (table.fill $table-used
+ (i32.const 0)
+ (ref.func $func)
+ (i32.const 0)
+ )
+ (drop
+ (array.new_elem $array $passive-elem-used
+ (i32.const 0)
+ (i32.const 1)
+ )
+ )
+ )
+)
diff --git a/test/metadce/table.wast.dced.stdout b/test/metadce/table.wast.dced.stdout
new file mode 100644
index 000000000..064b9406c
--- /dev/null
+++ b/test/metadce/table.wast.dced.stdout
@@ -0,0 +1,2 @@
+unused: eseg$passive-elem-unused
+unused: table$table-unused
diff --git a/test/metadce/table.wast.graph.txt b/test/metadce/table.wast.graph.txt
new file mode 100644
index 000000000..1da066ae7
--- /dev/null
+++ b/test/metadce/table.wast.graph.txt
@@ -0,0 +1,7 @@
+[
+ {
+ "name": "func_export",
+ "root": true,
+ "export": "test"
+ }
+]