wasm-micro-runtime/tests/wamr-test-suites/spec-test-script/multi_memory_ignore_cases.patch
Wenyong Huang 1329e1d3e1
Add support for multi-memory proposal in classic interpreter (#3742)
Implement multi-memory for classic-interpreter. Support core spec (and bulk memory) opcodes now,
and will support atomic opcodes, and add multi-memory export APIs in the future. 

PS: Multi-memory spec test patched a lot for linking test to adapt for multi-module implementation.
2024-08-21 12:22:23 +08:00

1023 lines
34 KiB
Diff

diff --git a/test/core/elem.wast b/test/core/elem.wast
index 575ecef8..6eecab93 100644
--- a/test/core/elem.wast
+++ b/test/core/elem.wast
@@ -571,9 +571,11 @@
(func $const-i32-d (type $out-i32) (i32.const 68))
)
+(;
(assert_return (invoke $module1 "call-7") (i32.const 67))
(assert_return (invoke $module1 "call-8") (i32.const 68))
(assert_return (invoke $module1 "call-9") (i32.const 66))
+;)
(module $module3
(type $out-i32 (func (result i32)))
@@ -584,6 +586,8 @@
(func $const-i32-f (type $out-i32) (i32.const 70))
)
+(;
(assert_return (invoke $module1 "call-7") (i32.const 67))
(assert_return (invoke $module1 "call-8") (i32.const 69))
(assert_return (invoke $module1 "call-9") (i32.const 70))
+;)
diff --git a/test/core/imports.wast b/test/core/imports.wast
index 94c1af5c..bb1704fc 100644
--- a/test/core/imports.wast
+++ b/test/core/imports.wast
@@ -86,7 +86,7 @@
(assert_return (invoke "print64" (i64.const 24)))
(assert_invalid
- (module
+ (module
(type (func (result i32)))
(import "test" "func" (func (type 1)))
)
@@ -559,6 +559,7 @@
(assert_return (invoke "grow" (i32.const 1)) (i32.const -1))
(assert_return (invoke "grow" (i32.const 0)) (i32.const 2))
+(;
(module $Mgm
(memory (export "memory") 1) ;; initial size is 1
(func (export "grow") (result i32) (memory.grow (i32.const 1)))
@@ -567,7 +568,7 @@
(assert_return (invoke $Mgm "grow") (i32.const 1)) ;; now size is 2
(module $Mgim1
;; imported memory limits should match, because external memory size is 2 now
- (memory (export "memory") (import "grown-memory" "memory") 2)
+ (memory (export "memory") (import "grown-memory" "memory") 2)
(func (export "grow") (result i32) (memory.grow (i32.const 1)))
)
(register "grown-imported-memory" $Mgim1)
@@ -578,7 +579,7 @@
(func (export "size") (result i32) (memory.size))
)
(assert_return (invoke $Mgim2 "size") (i32.const 3))
-
+;)
;; Syntax errors
@@ -650,6 +651,7 @@
"import after memory"
)
+(;
;; This module is required to validate, regardless of whether it can be
;; linked. Overloading is not possible in wasm itself, but it is possible
;; in modules from which wasm can import.
@@ -676,3 +678,4 @@
)
"unknown import"
)
+;)
\ No newline at end of file
diff --git a/test/core/linking.wast b/test/core/linking.wast
index 994e0f49..8fbcc021 100644
--- a/test/core/linking.wast
+++ b/test/core/linking.wast
@@ -19,11 +19,11 @@
(assert_return (invoke $Nf "call") (i32.const 3))
(assert_return (invoke $Nf "call Mf.call") (i32.const 2))
-(module
+(module $M1
(import "spectest" "print_i32" (func $f (param i32)))
(export "print" (func $f))
)
-(register "reexport_f")
+(register "reexport_f" $M1)
(assert_unlinkable
(module (import "reexport_f" "print" (func (param i64))))
"incompatible import type"
@@ -35,7 +35,6 @@
;; Globals
-
(module $Mg
(global $glob (export "glob") i32 (i32.const 42))
(func (export "get") (result i32) (global.get $glob))
@@ -47,6 +46,7 @@
)
(register "Mg" $Mg)
+(; only sharing initial values
(module $Ng
(global $x (import "Mg" "glob") i32)
(global $mut_glob (import "Mg" "mut_glob") (mut i32))
@@ -81,7 +81,7 @@
(assert_return (get $Ng "Mg.mut_glob") (i32.const 241))
(assert_return (invoke $Mg "get_mut") (i32.const 241))
(assert_return (invoke $Ng "Mg.get_mut") (i32.const 241))
-
+;)
(assert_unlinkable
(module (import "Mg" "mut_glob" (global i32)))
@@ -130,7 +130,7 @@
;; Tables
-
+(; no such support
(module $Mt
(type (func (result i32)))
(type (func))
@@ -307,10 +307,11 @@
(module (table (import "Mtable_ex" "t-extern") 1 funcref))
"incompatible import type"
)
+;)
;; Memories
-
+(; no such support
(module $Mm
(memory (export "mem") 1 5)
(data (i32.const 10) "\00\01\02\03\04\05\06\07\08\09")
@@ -451,3 +452,4 @@
(assert_return (invoke $Ms "get memory[0]") (i32.const 104)) ;; 'h'
(assert_return (invoke $Ms "get table[0]") (i32.const 0xdead))
+;)
\ No newline at end of file
diff --git a/test/core/load.wast b/test/core/load.wast
index 9fe48e2b..3e9c2f8c 100644
--- a/test/core/load.wast
+++ b/test/core/load.wast
@@ -29,6 +29,8 @@
(register "M")
(module
+ (func $readM1 (import "M" "read") (param i32) (result i32))
+ (export "readM1" (func $readM1))
(memory $mem1 (import "M" "mem") 2)
(memory $mem2 3)
@@ -43,11 +45,12 @@
)
)
-(assert_return (invoke $M "read" (i32.const 20)) (i32.const 1))
-(assert_return (invoke $M "read" (i32.const 21)) (i32.const 2))
-(assert_return (invoke $M "read" (i32.const 22)) (i32.const 3))
-(assert_return (invoke $M "read" (i32.const 23)) (i32.const 4))
-(assert_return (invoke $M "read" (i32.const 24)) (i32.const 5))
+;; To invoke the function in M as a submodule, not as an independent module
+(assert_return (invoke "readM1" (i32.const 20)) (i32.const 1))
+(assert_return (invoke "readM1" (i32.const 21)) (i32.const 2))
+(assert_return (invoke "readM1" (i32.const 22)) (i32.const 3))
+(assert_return (invoke "readM1" (i32.const 23)) (i32.const 4))
+(assert_return (invoke "readM1" (i32.const 24)) (i32.const 5))
(assert_return (invoke "read1" (i32.const 20)) (i32.const 1))
(assert_return (invoke "read1" (i32.const 21)) (i32.const 2))
diff --git a/test/core/memory_grow.wast b/test/core/memory_grow.wast
index 4b6dbc83..dc46c029 100644
--- a/test/core/memory_grow.wast
+++ b/test/core/memory_grow.wast
@@ -106,15 +106,15 @@
;; Multiple memories
-(module
+(module $MemroygrowM
(memory (export "mem1") 2 5)
(memory (export "mem2") 0)
)
-(register "M")
+(register "MemroygrowM" $MemorygrowM)
(module
- (memory $mem1 (import "M" "mem1") 1 6)
- (memory $mem2 (import "M" "mem2") 0)
+ (memory $mem1 (import "MemroygrowM" "mem1") 1 6)
+ (memory $mem2 (import "MemroygrowM" "mem2") 0)
(memory $mem3 3)
(memory $mem4 4 5)
diff --git a/test/core/memory_size.wast b/test/core/memory_size.wast
index a1d6ea2d..b58c75d0 100644
--- a/test/core/memory_size.wast
+++ b/test/core/memory_size.wast
@@ -65,15 +65,15 @@
;; Multiple memories
-(module
+(module $MemmorysizeM
(memory (export "mem1") 2 4)
(memory (export "mem2") 0)
)
-(register "M")
+(register "MemmorysizeM" $MemmorysizeM)
(module
- (memory $mem1 (import "M" "mem1") 1 5)
- (memory $mem2 (import "M" "mem2") 0)
+ (memory $mem1 (import "MemmorysizeM" "mem1") 1 5)
+ (memory $mem2 (import "MemmorysizeM" "mem2") 0)
(memory $mem3 3)
(memory $mem4 4 5)
diff --git a/test/core/multi-memory/imports2.wast b/test/core/multi-memory/imports2.wast
index 314bc131..e1060599 100644
--- a/test/core/multi-memory/imports2.wast
+++ b/test/core/multi-memory/imports2.wast
@@ -1,13 +1,13 @@
-(module
+(module $imports2test
(memory (export "z") 0 0)
(memory (export "memory-2-inf") 2)
(memory (export "memory-2-4") 2 4)
)
-(register "test")
+(register "imports2test" $imports2test)
(module
- (import "test" "z" (memory 0))
+ (import "imports2test" "z" (memory 0))
(memory $m (import "spectest" "memory") 1 2)
(data (memory 1) (i32.const 10) "\10")
@@ -31,9 +31,9 @@
(assert_trap (invoke "load" (i32.const 1000000)) "out of bounds memory access")
(module
- (import "test" "memory-2-inf" (memory 2))
- (import "test" "memory-2-inf" (memory 1))
- (import "test" "memory-2-inf" (memory 0))
+ (import "imports2test" "memory-2-inf" (memory 2))
+ (import "imports2test" "memory-2-inf" (memory 1))
+ (import "imports2test" "memory-2-inf" (memory 0))
)
(module
@@ -46,7 +46,7 @@
)
(assert_unlinkable
- (module (import "test" "unknown" (memory 1)))
+ (module (import "imports2test" "unknown" (memory 1)))
"unknown import"
)
(assert_unlinkable
@@ -55,11 +55,11 @@
)
(assert_unlinkable
- (module (import "test" "memory-2-inf" (memory 3)))
+ (module (import "imports2test" "memory-2-inf" (memory 3)))
"incompatible import type"
)
(assert_unlinkable
- (module (import "test" "memory-2-inf" (memory 2 3)))
+ (module (import "imports2test" "memory-2-inf" (memory 2 3)))
"incompatible import type"
)
(assert_unlinkable
diff --git a/test/core/multi-memory/imports4.wast b/test/core/multi-memory/imports4.wast
index 411b1c0f..0a819454 100644
--- a/test/core/multi-memory/imports4.wast
+++ b/test/core/multi-memory/imports4.wast
@@ -1,12 +1,12 @@
-(module
+(module $imports4test
(memory (export "memory-2-inf") 2)
(memory (export "memory-2-4") 2 4)
)
-(register "test")
+(register "imports4test")
(module
- (import "test" "memory-2-4" (memory 1))
+ (import "imports4test" "memory-2-4" (memory 1))
(memory $m (import "spectest" "memory") 0 3) ;; actual has max size 2
(func (export "grow") (param i32) (result i32) (memory.grow $m (local.get 0)))
)
@@ -16,6 +16,8 @@
(assert_return (invoke "grow" (i32.const 1)) (i32.const -1))
(assert_return (invoke "grow" (i32.const 0)) (i32.const 2))
+;; TODO: Current implementation call grow on one submodule instance can't really change its definition
+(;
(module $Mgm
(memory 0)
(memory 0)
@@ -45,3 +47,4 @@
(func (export "size") (result i32) (memory.size $m))
)
(assert_return (invoke $Mgim2 "size") (i32.const 3))
+;)
\ No newline at end of file
diff --git a/test/core/multi-memory/linking0.wast b/test/core/multi-memory/linking0.wast
index b09c69f6..d57d484e 100644
--- a/test/core/multi-memory/linking0.wast
+++ b/test/core/multi-memory/linking0.wast
@@ -24,8 +24,8 @@
)
"unknown import"
)
-(assert_trap (invoke $Mt "call" (i32.const 7)) "uninitialized element")
-
+;; can't call function in submodule when module can't be instantiated
+;; (assert_trap (invoke "call" (i32.const 7)) "uninitialized element")
(assert_trap
(module
@@ -39,4 +39,5 @@
)
"out of bounds memory access"
)
-(assert_return (invoke $Mt "call" (i32.const 7)) (i32.const 0))
+;; can't call function in submodule when module can't be instantiated
+;; (assert_return (invoke "call" (i32.const 7)) (i32.const 0))
diff --git a/test/core/multi-memory/linking1.wast b/test/core/multi-memory/linking1.wast
index 39eabb00..49c87ce8 100644
--- a/test/core/multi-memory/linking1.wast
+++ b/test/core/multi-memory/linking1.wast
@@ -1,4 +1,4 @@
-(module $Mm
+(module $linking1Mm
(memory $mem0 (export "mem0") 0 0)
(memory $mem1 (export "mem1") 1 5)
(memory $mem2 (export "mem2") 0 0)
@@ -9,11 +9,11 @@
(i32.load8_u $mem1 (local.get 0))
)
)
-(register "Mm" $Mm)
+(register "linking1Mm" $linking1Mm)
-(module $Nm
- (func $loadM (import "Mm" "load") (param i32) (result i32))
- (memory (import "Mm" "mem0") 0)
+(module $linking1Nm
+ (func $loadM (import "linking1Mm" "load") (param i32) (result i32))
+ (memory (import "linking1Mm" "mem0") 0)
(memory $m 1)
(data (memory 1) (i32.const 10) "\f0\f1\f2\f3\f4\f5")
@@ -24,12 +24,14 @@
)
)
-(assert_return (invoke $Mm "load" (i32.const 12)) (i32.const 2))
-(assert_return (invoke $Nm "Mm.load" (i32.const 12)) (i32.const 2))
-(assert_return (invoke $Nm "load" (i32.const 12)) (i32.const 0xf2))
+(assert_return (invoke $linking1Mm "load" (i32.const 12)) (i32.const 2))
+(assert_return (invoke $linking1Nm "Mm.load" (i32.const 12)) (i32.const 2))
+(assert_return (invoke $linking1Nm "load" (i32.const 12)) (i32.const 0xf2))
-(module $Om
- (memory (import "Mm" "mem1") 1)
+(module $linking1Om
+ (func $loadM (import "linking1Mm" "load") (param i32) (result i32))
+ (export "Mm.load" (func $loadM))
+ (memory (import "linking1Mm" "mem1") 1)
(data (i32.const 5) "\a0\a1\a2\a3\a4\a5\a6\a7")
(func (export "load") (param $a i32) (result i32)
@@ -37,19 +39,20 @@
)
)
-(assert_return (invoke $Mm "load" (i32.const 12)) (i32.const 0xa7))
-(assert_return (invoke $Nm "Mm.load" (i32.const 12)) (i32.const 0xa7))
-(assert_return (invoke $Nm "load" (i32.const 12)) (i32.const 0xf2))
-(assert_return (invoke $Om "load" (i32.const 12)) (i32.const 0xa7))
+;; To invoke the function in Mm as a submodule, not as an independent module
+(assert_return (invoke $linking1Om "Mm.load" (i32.const 12)) (i32.const 0xa7))
+;; (assert_return (invoke $Nm "Mm.load" (i32.const 12)) (i32.const 0xa7))
+;; (assert_return (invoke $Nm "load" (i32.const 12)) (i32.const 0xf2))
+(assert_return (invoke $linking1Om "load" (i32.const 12)) (i32.const 0xa7))
(module
- (memory (import "Mm" "mem1") 0)
+ (memory (import "linking1Mm" "mem1") 0)
(data (i32.const 0xffff) "a")
)
(assert_trap
(module
- (memory (import "Mm" "mem0") 0)
+ (memory (import "linking1Mm" "mem0") 0)
(data (i32.const 0xffff) "a")
)
"out of bounds memory access"
@@ -57,7 +60,7 @@
(assert_trap
(module
- (memory (import "Mm" "mem1") 0)
+ (memory (import "linking1Mm" "mem1") 0)
(data (i32.const 0x10000) "a")
)
"out of bounds memory access"
diff --git a/test/core/multi-memory/linking2.wast b/test/core/multi-memory/linking2.wast
index 26bf3cca..5eae4643 100644
--- a/test/core/multi-memory/linking2.wast
+++ b/test/core/multi-memory/linking2.wast
@@ -1,4 +1,4 @@
-(module $Mm
+(module $linking2Mm
(memory $mem0 (export "mem0") 0 0)
(memory $mem1 (export "mem1") 1 5)
(memory $mem2 (export "mem2") 0 0)
@@ -9,22 +9,22 @@
(i32.load8_u $mem1 (local.get 0))
)
)
-(register "Mm" $Mm)
+(register "linking2Mm" $linking2Mm)
-(module $Pm
- (memory (import "Mm" "mem1") 1 8)
+(module
+ (memory (import "linking2Mm" "mem1") 1 8)
(func (export "grow") (param $a i32) (result i32)
(memory.grow (local.get 0))
)
)
-(assert_return (invoke $Pm "grow" (i32.const 0)) (i32.const 1))
-(assert_return (invoke $Pm "grow" (i32.const 2)) (i32.const 1))
-(assert_return (invoke $Pm "grow" (i32.const 0)) (i32.const 3))
-(assert_return (invoke $Pm "grow" (i32.const 1)) (i32.const 3))
-(assert_return (invoke $Pm "grow" (i32.const 1)) (i32.const 4))
-(assert_return (invoke $Pm "grow" (i32.const 0)) (i32.const 5))
-(assert_return (invoke $Pm "grow" (i32.const 1)) (i32.const -1))
-(assert_return (invoke $Pm "grow" (i32.const 0)) (i32.const 5))
+(assert_return (invoke "grow" (i32.const 0)) (i32.const 1))
+(assert_return (invoke "grow" (i32.const 2)) (i32.const 1))
+(assert_return (invoke "grow" (i32.const 0)) (i32.const 3))
+(assert_return (invoke "grow" (i32.const 1)) (i32.const 3))
+(assert_return (invoke "grow" (i32.const 1)) (i32.const 4))
+(assert_return (invoke "grow" (i32.const 0)) (i32.const 5))
+(assert_return (invoke "grow" (i32.const 1)) (i32.const -1))
+(assert_return (invoke "grow" (i32.const 0)) (i32.const 5))
diff --git a/test/core/multi-memory/linking3.wast b/test/core/multi-memory/linking3.wast
index e23fbe4e..d3efe95a 100644
--- a/test/core/multi-memory/linking3.wast
+++ b/test/core/multi-memory/linking3.wast
@@ -33,8 +33,9 @@
)
"out of bounds memory access"
)
-(assert_return (invoke $Mm "load" (i32.const 0)) (i32.const 97))
-(assert_return (invoke $Mm "load" (i32.const 327670)) (i32.const 0))
+;; can't call function in submodule when module can't be instantiated
+;; (assert_return (invoke $Mm "load" (i32.const 0)) (i32.const 97))
+;; (assert_return (invoke $Mm "load" (i32.const 327670)) (i32.const 0))
(assert_trap
(module
@@ -46,7 +47,8 @@
)
"out of bounds table access"
)
-(assert_return (invoke $Mm "load" (i32.const 0)) (i32.const 97))
+;; can't call function in submodule when module can't be instantiated
+;; (assert_return (invoke $Mm "load" (i32.const 0)) (i32.const 97))
;; Store is modified if the start function traps.
(module $Ms
@@ -79,5 +81,6 @@
"unreachable"
)
-(assert_return (invoke $Ms "get memory[0]") (i32.const 104)) ;; 'h'
-(assert_return (invoke $Ms "get table[0]") (i32.const 0xdead))
+;; can't call function in submodule when module can't be instantiated
+;; (assert_return (invoke $Ms "get memory[0]") (i32.const 104)) ;; 'h'
+;; (assert_return (invoke $Ms "get table[0]") (i32.const 0xdead))
diff --git a/test/core/multi-memory/load1.wast b/test/core/multi-memory/load1.wast
index be309c39..6a0faf0d 100644
--- a/test/core/multi-memory/load1.wast
+++ b/test/core/multi-memory/load1.wast
@@ -8,6 +8,8 @@
(register "M")
(module
+ (func $readM1 (import "M" "read") (param i32) (result i32))
+ (export "readM1" (func $readM1))
(memory $mem1 (import "M" "mem") 2)
(memory $mem2 3)
@@ -22,11 +24,12 @@
)
)
-(assert_return (invoke $M "read" (i32.const 20)) (i32.const 1))
-(assert_return (invoke $M "read" (i32.const 21)) (i32.const 2))
-(assert_return (invoke $M "read" (i32.const 22)) (i32.const 3))
-(assert_return (invoke $M "read" (i32.const 23)) (i32.const 4))
-(assert_return (invoke $M "read" (i32.const 24)) (i32.const 5))
+;; To invoke the function in M as a submodule, not as an independent module
+(assert_return (invoke "readM1" (i32.const 20)) (i32.const 1))
+(assert_return (invoke "readM1" (i32.const 21)) (i32.const 2))
+(assert_return (invoke "readM1" (i32.const 22)) (i32.const 3))
+(assert_return (invoke "readM1" (i32.const 23)) (i32.const 4))
+(assert_return (invoke "readM1" (i32.const 24)) (i32.const 5))
(assert_return (invoke "read1" (i32.const 20)) (i32.const 1))
(assert_return (invoke "read1" (i32.const 21)) (i32.const 2))
diff --git a/test/core/multi-memory/store1.wast b/test/core/multi-memory/store1.wast
index 10cf2c42..eafe6cc9 100644
--- a/test/core/multi-memory/store1.wast
+++ b/test/core/multi-memory/store1.wast
@@ -10,6 +10,9 @@
)
(register "M1")
+(invoke "store" (i32.const 0) (i64.const 1))
+(assert_return (invoke "load" (i32.const 0)) (i64.const 1))
+
(module $M2
(memory (export "mem") 1)
@@ -22,10 +25,8 @@
)
(register "M2")
-(invoke $M1 "store" (i32.const 0) (i64.const 1))
-(invoke $M2 "store" (i32.const 0) (i64.const 2))
-(assert_return (invoke $M1 "load" (i32.const 0)) (i64.const 1))
-(assert_return (invoke $M2 "load" (i32.const 0)) (i64.const 2))
+(invoke "store" (i32.const 0) (i64.const 2))
+(assert_return (invoke "load" (i32.const 0)) (i64.const 2))
(module
(memory $mem1 (import "M1" "mem") 1)
diff --git a/test/core/ref_func.wast b/test/core/ref_func.wast
index adb5cb78..6396013b 100644
--- a/test/core/ref_func.wast
+++ b/test/core/ref_func.wast
@@ -4,7 +4,7 @@
(register "M")
(module
- (func $f (import "M" "f") (param i32) (result i32))
+ (func $f (param $x i32) (result i32) (local.get $x))
(func $g (param $x i32) (result i32)
(i32.add (local.get $x) (i32.const 1))
)
diff --git a/test/core/store.wast b/test/core/store.wast
index 86f6263a..65a0d4ee 100644
--- a/test/core/store.wast
+++ b/test/core/store.wast
@@ -35,7 +35,10 @@
(i64.store (local.get 0) (local.get 1))
)
)
-(register "M1")
+(register "M1" $M1)
+
+(invoke "store" (i32.const 0) (i64.const 1))
+(assert_return (invoke "load" (i32.const 0)) (i64.const 1))
(module $M2
(memory (export "mem") 1)
@@ -47,12 +50,10 @@
(i64.store (local.get 0) (local.get 1))
)
)
-(register "M2")
+(register "M2" $M2)
-(invoke $M1 "store" (i32.const 0) (i64.const 1))
-(invoke $M2 "store" (i32.const 0) (i64.const 2))
-(assert_return (invoke $M1 "load" (i32.const 0)) (i64.const 1))
-(assert_return (invoke $M2 "load" (i32.const 0)) (i64.const 2))
+(invoke "store" (i32.const 0) (i64.const 2))
+(assert_return (invoke "load" (i32.const 0)) (i64.const 2))
(module
(memory $mem1 (import "M1" "mem") 1)
diff --git a/test/core/table_copy.wast b/test/core/table_copy.wast
index 380e84ee..59230cfb 100644
--- a/test/core/table_copy.wast
+++ b/test/core/table_copy.wast
@@ -14,11 +14,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -106,11 +106,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -198,11 +198,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -290,11 +290,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -382,11 +382,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -474,11 +474,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -566,11 +566,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -658,11 +658,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -750,11 +750,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -842,11 +842,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -934,11 +934,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -1026,11 +1026,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -1118,11 +1118,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -1210,11 +1210,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -1302,11 +1302,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -1394,11 +1394,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -1486,11 +1486,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -1578,11 +1578,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t1) (i32.const 2) func 3 1 4 1)
diff --git a/test/core/table_init.wast b/test/core/table_init.wast
index 0b2d26f7..3c595e5b 100644
--- a/test/core/table_init.wast
+++ b/test/core/table_init.wast
@@ -14,11 +14,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -72,11 +72,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -130,11 +130,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t0) (i32.const 2) func 3 1 4 1)
@@ -196,11 +196,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -254,11 +254,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t1) (i32.const 2) func 3 1 4 1)
@@ -312,11 +312,11 @@
(module
(type (func (result i32))) ;; type #0
- (import "a" "ef0" (func (result i32))) ;; index 0
- (import "a" "ef1" (func (result i32)))
- (import "a" "ef2" (func (result i32)))
- (import "a" "ef3" (func (result i32)))
- (import "a" "ef4" (func (result i32))) ;; index 4
+ (func (result i32) (i32.const 0)) ;; index 0
+ (func (result i32) (i32.const 1))
+ (func (result i32) (i32.const 2))
+ (func (result i32) (i32.const 3))
+ (func (result i32) (i32.const 4)) ;; index 4
(table $t0 30 30 funcref)
(table $t1 30 30 funcref)
(elem (table $t1) (i32.const 2) func 3 1 4 1)