summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/asm2wasm.h8
-rw-r--r--src/js/wasm.js-post.js5
-rw-r--r--src/wasm-js.cpp51
-rw-r--r--test/emcc_O2_hello_world.fromasm1
-rw-r--r--test/emcc_O2_hello_world.fromasm.imprecise1
-rw-r--r--test/emcc_O2_hello_world.fromasm.imprecise.no-opts1
-rw-r--r--test/emcc_O2_hello_world.fromasm.no-opts1
-rw-r--r--test/emcc_hello_world.fromasm1
-rw-r--r--test/emcc_hello_world.fromasm.imprecise1
-rw-r--r--test/emcc_hello_world.fromasm.imprecise.no-opts1
-rw-r--r--test/emcc_hello_world.fromasm.no-opts1
-rw-r--r--test/empty.fromasm1
-rw-r--r--test/empty.fromasm.imprecise1
-rw-r--r--test/empty.fromasm.imprecise.no-opts1
-rw-r--r--test/empty.fromasm.no-opts1
-rw-r--r--test/hello_world.fromasm1
-rw-r--r--test/hello_world.fromasm.imprecise1
-rw-r--r--test/hello_world.fromasm.imprecise.no-opts1
-rw-r--r--test/hello_world.fromasm.no-opts1
-rw-r--r--test/memorygrowth.fromasm1
-rw-r--r--test/memorygrowth.fromasm.imprecise1
-rw-r--r--test/memorygrowth.fromasm.imprecise.no-opts1
-rw-r--r--test/memorygrowth.fromasm.no-opts1
-rw-r--r--test/min.fromasm1
-rw-r--r--test/min.fromasm.imprecise1
-rw-r--r--test/min.fromasm.imprecise.no-opts1
-rw-r--r--test/min.fromasm.no-opts1
-rw-r--r--test/two_sides.fromasm1
-rw-r--r--test/two_sides.fromasm.imprecise1
-rw-r--r--test/two_sides.fromasm.imprecise.no-opts1
-rw-r--r--test/two_sides.fromasm.no-opts1
-rw-r--r--test/unit.fromasm1
-rw-r--r--test/unit.fromasm.imprecise1
-rw-r--r--test/unit.fromasm.imprecise.no-opts1
-rw-r--r--test/unit.fromasm.no-opts1
35 files changed, 79 insertions, 17 deletions
diff --git a/src/asm2wasm.h b/src/asm2wasm.h
index 306a953a7..e27c5d9e2 100644
--- a/src/asm2wasm.h
+++ b/src/asm2wasm.h
@@ -832,6 +832,14 @@ void Asm2WasmBuilder::processAsm(Ref ast) {
memoryImport->base = MEMORY;
memoryImport->kind = Import::Memory;
wasm.addImport(memoryImport.release());
+
+ // import table
+ auto tableImport = make_unique<Import>();
+ tableImport->name = TABLE;
+ tableImport->module = ENV;
+ tableImport->base = TABLE;
+ tableImport->kind = Import::Table;
+ wasm.addImport(tableImport.release());
#endif
#if 0 // enable asm2wasm i64 optimizations when browsers have consistent i64 support in wasm
diff --git a/src/js/wasm.js-post.js b/src/js/wasm.js-post.js
index dcffb1ee8..d691c22f2 100644
--- a/src/js/wasm.js-post.js
+++ b/src/js/wasm.js-post.js
@@ -274,10 +274,13 @@ function integrateWasmJS(Module) {
global = fixImports(global);
env = fixImports(env);
- // import memory
+ // import memory and table
if (!env['memory']) {
env['memory'] = providedBuffer;
}
+ if (!env['table']) {
+ env['table'] = new Array(1024);
+ }
// try the methods. each should return the exports if it succeeded
diff --git a/src/wasm-js.cpp b/src/wasm-js.cpp
index 31448d2a0..7d71cec3c 100644
--- a/src/wasm-js.cpp
+++ b/src/wasm-js.cpp
@@ -145,14 +145,16 @@ extern "C" void EMSCRIPTEN_KEEPALIVE instantiate() {
Module['asmExports'] = {};
});
for (auto& curr : module->exports) {
- EM_ASM_({
- var name = Pointer_stringify($0);
- Module['asmExports'][name] = function() {
- Module['tempArguments'] = Array.prototype.slice.call(arguments);
- Module['_call_from_js']($0);
- return Module['tempReturn'];
- };
- }, curr->name.str);
+ if (curr->kind == Export::Function) {
+ EM_ASM_({
+ var name = Pointer_stringify($0);
+ Module['asmExports'][name] = function() {
+ Module['tempArguments'] = Array.prototype.slice.call(arguments);
+ Module['_call_from_js']($0);
+ return Module['tempReturn'];
+ };
+ }, curr->name.str);
+ }
}
// verify imports are provided
@@ -177,7 +179,7 @@ extern "C" void EMSCRIPTEN_KEEPALIVE instantiate() {
assert(import->kind == Import::Memory);
// memory is imported
EM_ASM({
- Module['outside']['tempBuffer'] = Module['lookupImport']('env', 'memory');
+ Module['asmExports']['memory'] = Module['lookupImport']('env', 'memory');
});
found = true;
}
@@ -185,25 +187,42 @@ extern "C" void EMSCRIPTEN_KEEPALIVE instantiate() {
if (!found) {
// no memory import; create a new buffer here, just like native wasm support would.
EM_ASM_({
- Module['outside']['tempBuffer'] = Module['outside']['newBuffer'] = new ArrayBuffer($0);
+ Module['asmExports']['memory'] = Module['outside']['newBuffer'] = new ArrayBuffer($0);
}, wasm.memory.initial * Memory::kPageSize);
}
}
for (auto segment : wasm.memory.segments) {
EM_ASM_({
var source = Module['HEAP8'].subarray($1, $1 + $2);
- var target = new Int8Array(Module['outside']['tempBuffer']);
+ var target = new Int8Array(Module['asmExports']['memory']);
target.set(source, $0);
}, ConstantExpressionRunner(instance.globals).visit(segment.offset).value.geti32(), &segment.data[0], segment.data.size());
}
+ // look for imported table
+ {
+ bool found = false;
+ for (auto& import : wasm.imports) {
+ if (import->module == ENV && import->base == TABLE) {
+ assert(import->kind == Import::Table);
+ // table is imported
+ EM_ASM({
+ Module['outside']['wasmTable'] = Module['lookupImport']('env', 'table');
+ });
+ found = true;
+ }
+ }
+ if (!found) {
+ // no table import; create a new one here, just like native wasm support would.
+ EM_ASM_({
+ Module['outside']['wasmTable'] = new Array($0);
+ }, wasm.table.initial);
+ }
+ }
EM_ASM({
- Module['outside']['tempBuffer'] = null;
+ Module['asmExports']['table'] = Module['outside']['wasmTable'];
});
- // Table support is in a JS array. If the entry is a number, it's a function pointer. If not, it's a JS method to be called directly
+ // Emulated table support is in a JS array. If the entry is a number, it's a function pointer. If not, it's a JS method to be called directly
// TODO: make them all JS methods, wrapping a dynCall where necessary?
- EM_ASM_({
- Module['outside']['wasmTable'] = new Array($0);
- }, wasm.table.initial);
for (auto segment : wasm.table.segments) {
Address offset = ConstantExpressionRunner(instance.globals).visit(segment.offset).value.geti32();
assert(offset + segment.data.size() <= wasm.table.initial);
diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm
index 21873f241..fbf527eb4 100644
--- a/test/emcc_O2_hello_world.fromasm
+++ b/test/emcc_O2_hello_world.fromasm
@@ -31,6 +31,7 @@
(import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
(import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(import $memInitBase global "env" "memInitBase" i32)
(export "_free" $_free)
(export "_main" $_main)
diff --git a/test/emcc_O2_hello_world.fromasm.imprecise b/test/emcc_O2_hello_world.fromasm.imprecise
index 39e95673c..3a518cf6c 100644
--- a/test/emcc_O2_hello_world.fromasm.imprecise
+++ b/test/emcc_O2_hello_world.fromasm.imprecise
@@ -29,6 +29,7 @@
(import $___syscall140 "env" "___syscall140" (param i32 i32) (result i32))
(import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "_free" $_free)
(export "_main" $_main)
(export "_memset" $_memset)
diff --git a/test/emcc_O2_hello_world.fromasm.imprecise.no-opts b/test/emcc_O2_hello_world.fromasm.imprecise.no-opts
index a5e952b4c..af862279a 100644
--- a/test/emcc_O2_hello_world.fromasm.imprecise.no-opts
+++ b/test/emcc_O2_hello_world.fromasm.imprecise.no-opts
@@ -29,6 +29,7 @@
(import $___syscall140 "env" "___syscall140" (param i32 i32) (result i32))
(import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "_free" $_free)
(export "_main" $_main)
(export "_memset" $_memset)
diff --git a/test/emcc_O2_hello_world.fromasm.no-opts b/test/emcc_O2_hello_world.fromasm.no-opts
index 303b1e723..634a53659 100644
--- a/test/emcc_O2_hello_world.fromasm.no-opts
+++ b/test/emcc_O2_hello_world.fromasm.no-opts
@@ -30,6 +30,7 @@
(import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
(import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "_free" $_free)
(export "_main" $_main)
(export "_memset" $_memset)
diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm
index 666f03482..036619963 100644
--- a/test/emcc_hello_world.fromasm
+++ b/test/emcc_hello_world.fromasm
@@ -40,6 +40,7 @@
(import $i32u-rem "asm2wasm" "i32u-rem" (param i32 i32) (result i32))
(import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(import $memInitBase global "env" "memInitBase" i32)
(export "_i64Subtract" $_i64Subtract)
(export "_free" $_free)
diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise
index e30167119..99ae85d71 100644
--- a/test/emcc_hello_world.fromasm.imprecise
+++ b/test/emcc_hello_world.fromasm.imprecise
@@ -33,6 +33,7 @@
(import $_sysconf "env" "_sysconf" (param i32) (result i32))
(import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "_i64Subtract" $_i64Subtract)
(export "_free" $_free)
(export "_main" $_main)
diff --git a/test/emcc_hello_world.fromasm.imprecise.no-opts b/test/emcc_hello_world.fromasm.imprecise.no-opts
index a0429b58c..b5e740df2 100644
--- a/test/emcc_hello_world.fromasm.imprecise.no-opts
+++ b/test/emcc_hello_world.fromasm.imprecise.no-opts
@@ -33,6 +33,7 @@
(import $_sysconf "env" "_sysconf" (param i32) (result i32))
(import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "_i64Subtract" $_i64Subtract)
(export "_free" $_free)
(export "_main" $_main)
diff --git a/test/emcc_hello_world.fromasm.no-opts b/test/emcc_hello_world.fromasm.no-opts
index 3c9f8123a..49c0aed22 100644
--- a/test/emcc_hello_world.fromasm.no-opts
+++ b/test/emcc_hello_world.fromasm.no-opts
@@ -39,6 +39,7 @@
(import $i32u-rem "asm2wasm" "i32u-rem" (param i32 i32) (result i32))
(import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "_i64Subtract" $_i64Subtract)
(export "_free" $_free)
(export "_main" $_main)
diff --git a/test/empty.fromasm b/test/empty.fromasm
index 2dcb800dd..2afc01ebf 100644
--- a/test/empty.fromasm
+++ b/test/empty.fromasm
@@ -2,5 +2,6 @@
(memory 256 256)
(data (get_global $memInitBase) "empty.asm.js")
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(import $memInitBase global "env" "memInitBase" i32)
)
diff --git a/test/empty.fromasm.imprecise b/test/empty.fromasm.imprecise
index 6c3928ac1..f0a2ff208 100644
--- a/test/empty.fromasm.imprecise
+++ b/test/empty.fromasm.imprecise
@@ -1,4 +1,5 @@
(module
(memory 256 256)
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
)
diff --git a/test/empty.fromasm.imprecise.no-opts b/test/empty.fromasm.imprecise.no-opts
index 6c3928ac1..f0a2ff208 100644
--- a/test/empty.fromasm.imprecise.no-opts
+++ b/test/empty.fromasm.imprecise.no-opts
@@ -1,4 +1,5 @@
(module
(memory 256 256)
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
)
diff --git a/test/empty.fromasm.no-opts b/test/empty.fromasm.no-opts
index 6c3928ac1..f0a2ff208 100644
--- a/test/empty.fromasm.no-opts
+++ b/test/empty.fromasm.no-opts
@@ -1,4 +1,5 @@
(module
(memory 256 256)
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
)
diff --git a/test/hello_world.fromasm b/test/hello_world.fromasm
index cea20a687..64839186a 100644
--- a/test/hello_world.fromasm
+++ b/test/hello_world.fromasm
@@ -2,6 +2,7 @@
(memory 256 256)
(data (get_global $memInitBase) "hello_world.asm.js")
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(import $memInitBase global "env" "memInitBase" i32)
(export "add" $add)
(func $add (param $0 i32) (param $1 i32) (result i32)
diff --git a/test/hello_world.fromasm.imprecise b/test/hello_world.fromasm.imprecise
index 0438017ff..90eea0c3b 100644
--- a/test/hello_world.fromasm.imprecise
+++ b/test/hello_world.fromasm.imprecise
@@ -1,6 +1,7 @@
(module
(memory 256 256)
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "add" $add)
(func $add (param $0 i32) (param $1 i32) (result i32)
(i32.add
diff --git a/test/hello_world.fromasm.imprecise.no-opts b/test/hello_world.fromasm.imprecise.no-opts
index 80e7688e2..deae6ab2a 100644
--- a/test/hello_world.fromasm.imprecise.no-opts
+++ b/test/hello_world.fromasm.imprecise.no-opts
@@ -1,6 +1,7 @@
(module
(memory 256 256)
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "add" $add)
(func $add (param $x i32) (param $y i32) (result i32)
(return
diff --git a/test/hello_world.fromasm.no-opts b/test/hello_world.fromasm.no-opts
index 80e7688e2..deae6ab2a 100644
--- a/test/hello_world.fromasm.no-opts
+++ b/test/hello_world.fromasm.no-opts
@@ -1,6 +1,7 @@
(module
(memory 256 256)
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "add" $add)
(func $add (param $x i32) (param $y i32) (result i32)
(return
diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm
index 390f163bb..ec2f13065 100644
--- a/test/memorygrowth.fromasm
+++ b/test/memorygrowth.fromasm
@@ -27,6 +27,7 @@
(import $ya "env" "___syscall146" (param i32 i32) (result i32))
(import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(import $memInitBase global "env" "memInitBase" i32)
(export "_free" $fb)
(export "_main" $Na)
diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise
index fb8b5b085..0ade046a3 100644
--- a/test/memorygrowth.fromasm.imprecise
+++ b/test/memorygrowth.fromasm.imprecise
@@ -25,6 +25,7 @@
(import $xa "env" "___unlock" (param i32))
(import $ya "env" "___syscall146" (param i32 i32) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "_free" $fb)
(export "_main" $Na)
(export "_pthread_self" $ib)
diff --git a/test/memorygrowth.fromasm.imprecise.no-opts b/test/memorygrowth.fromasm.imprecise.no-opts
index 6cdc4fd40..e8ec51644 100644
--- a/test/memorygrowth.fromasm.imprecise.no-opts
+++ b/test/memorygrowth.fromasm.imprecise.no-opts
@@ -25,6 +25,7 @@
(import $xa "env" "___unlock" (param i32))
(import $ya "env" "___syscall146" (param i32 i32) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "_free" $fb)
(export "_main" $Na)
(export "_pthread_self" $ib)
diff --git a/test/memorygrowth.fromasm.no-opts b/test/memorygrowth.fromasm.no-opts
index fd1b541d1..a5c292652 100644
--- a/test/memorygrowth.fromasm.no-opts
+++ b/test/memorygrowth.fromasm.no-opts
@@ -26,6 +26,7 @@
(import $ya "env" "___syscall146" (param i32 i32) (result i32))
(import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "_free" $fb)
(export "_main" $Na)
(export "_pthread_self" $ib)
diff --git a/test/min.fromasm b/test/min.fromasm
index 1a69787ab..907bc572e 100644
--- a/test/min.fromasm
+++ b/test/min.fromasm
@@ -3,6 +3,7 @@
(data (get_global $memInitBase) "min.asm.js")
(import $tDP global "env" "tempDoublePtr" i32)
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(import $memInitBase global "env" "memInitBase" i32)
(export "floats" $floats)
(func $floats (param $0 f32) (result f32)
diff --git a/test/min.fromasm.imprecise b/test/min.fromasm.imprecise
index c1703c203..612ed2388 100644
--- a/test/min.fromasm.imprecise
+++ b/test/min.fromasm.imprecise
@@ -2,6 +2,7 @@
(memory 256 256)
(import $tDP global "env" "tempDoublePtr" i32)
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "floats" $floats)
(func $floats (param $0 f32) (result f32)
(local $1 f32)
diff --git a/test/min.fromasm.imprecise.no-opts b/test/min.fromasm.imprecise.no-opts
index 7ba8db448..00740ad5f 100644
--- a/test/min.fromasm.imprecise.no-opts
+++ b/test/min.fromasm.imprecise.no-opts
@@ -2,6 +2,7 @@
(memory 256 256)
(import $tDP global "env" "tempDoublePtr" i32)
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "floats" $floats)
(func $floats (param $f f32) (result f32)
(local $t f32)
diff --git a/test/min.fromasm.no-opts b/test/min.fromasm.no-opts
index 7ba8db448..00740ad5f 100644
--- a/test/min.fromasm.no-opts
+++ b/test/min.fromasm.no-opts
@@ -2,6 +2,7 @@
(memory 256 256)
(import $tDP global "env" "tempDoublePtr" i32)
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "floats" $floats)
(func $floats (param $f f32) (result f32)
(local $t f32)
diff --git a/test/two_sides.fromasm b/test/two_sides.fromasm
index 45649cba6..53831b7ec 100644
--- a/test/two_sides.fromasm
+++ b/test/two_sides.fromasm
@@ -4,6 +4,7 @@
(type $FUNCSIG$id (func (param f64) (result i32)))
(import $f64-to-int "asm2wasm" "f64-to-int" (param f64) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(import $memInitBase global "env" "memInitBase" i32)
(export "_test" $_test)
(func $_test (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
diff --git a/test/two_sides.fromasm.imprecise b/test/two_sides.fromasm.imprecise
index ce7b83d1f..cd13cea64 100644
--- a/test/two_sides.fromasm.imprecise
+++ b/test/two_sides.fromasm.imprecise
@@ -1,6 +1,7 @@
(module
(memory 256 256)
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "_test" $_test)
(func $_test (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(local $5 f64)
diff --git a/test/two_sides.fromasm.imprecise.no-opts b/test/two_sides.fromasm.imprecise.no-opts
index 3d27fcef4..cce1e9b62 100644
--- a/test/two_sides.fromasm.imprecise.no-opts
+++ b/test/two_sides.fromasm.imprecise.no-opts
@@ -1,6 +1,7 @@
(module
(memory 256 256)
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "_test" $_test)
(func $_test (param $i1 i32) (param $i2 i32) (param $i3 i32) (param $i4 i32) (param $i5 i32) (result i32)
(local $d6 f64)
diff --git a/test/two_sides.fromasm.no-opts b/test/two_sides.fromasm.no-opts
index 51b871191..a55ccddf1 100644
--- a/test/two_sides.fromasm.no-opts
+++ b/test/two_sides.fromasm.no-opts
@@ -3,6 +3,7 @@
(type $FUNCSIG$id (func (param f64) (result i32)))
(import $f64-to-int "asm2wasm" "f64-to-int" (param f64) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "_test" $_test)
(func $_test (param $i1 i32) (param $i2 i32) (param $i3 i32) (param $i4 i32) (param $i5 i32) (result i32)
(local $d6 f64)
diff --git a/test/unit.fromasm b/test/unit.fromasm
index 740c6ff52..1987f990b 100644
--- a/test/unit.fromasm
+++ b/test/unit.fromasm
@@ -20,6 +20,7 @@
(import $f64-rem "asm2wasm" "f64-rem" (param f64 f64) (result f64))
(import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(import $memInitBase global "env" "memInitBase" i32)
(export "big_negative" $big_negative)
(export "pick" $big_negative)
diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise
index e9d6e4300..3bd3d6881 100644
--- a/test/unit.fromasm.imprecise
+++ b/test/unit.fromasm.imprecise
@@ -15,6 +15,7 @@
(import $h "env" "h" (param i32))
(import $f64-rem "asm2wasm" "f64-rem" (param f64 f64) (result f64))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "big_negative" $big_negative)
(export "pick" $big_negative)
(global $Int i32 (i32.const 0))
diff --git a/test/unit.fromasm.imprecise.no-opts b/test/unit.fromasm.imprecise.no-opts
index ec758bf32..afacf0794 100644
--- a/test/unit.fromasm.imprecise.no-opts
+++ b/test/unit.fromasm.imprecise.no-opts
@@ -15,6 +15,7 @@
(import $h "env" "h" (param i32))
(import $f64-rem "asm2wasm" "f64-rem" (param f64 f64) (result f64))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "big_negative" $big_negative)
(export "pick" $exportMe)
(global $Int i32 (i32.const 0))
diff --git a/test/unit.fromasm.no-opts b/test/unit.fromasm.no-opts
index 546fcd7fc..165b9df50 100644
--- a/test/unit.fromasm.no-opts
+++ b/test/unit.fromasm.no-opts
@@ -19,6 +19,7 @@
(import $f64-rem "asm2wasm" "f64-rem" (param f64 f64) (result f64))
(import $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
(import $memory memory "env" "memory")
+ (import $table table "env" "table")
(export "big_negative" $big_negative)
(export "pick" $exportMe)
(global $Int i32 (i32.const 0))