summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2016-08-28 09:02:18 -0700
committerAlon Zakai <alonzakai@gmail.com>2016-09-07 09:55:55 -0700
commit42ad2cdbe5baa32dd1b0aea143a4e45f81e8b9b5 (patch)
treee3bc9183e04bd049d7b497c61425e44989f609fd
parent304fef1d997f1c43249996737ef7ce6deb961481 (diff)
downloadbinaryen-42ad2cdbe5baa32dd1b0aea143a4e45f81e8b9b5.tar.gz
binaryen-42ad2cdbe5baa32dd1b0aea143a4e45f81e8b9b5.tar.bz2
binaryen-42ad2cdbe5baa32dd1b0aea143a4e45f81e8b9b5.zip
import memory #684
-rw-r--r--src/asm2wasm.h11
-rw-r--r--src/js/wasm.js-post.js7
-rw-r--r--src/wasm-js.cpp29
-rw-r--r--test/emcc_O2_hello_world.fromasm2
-rw-r--r--test/emcc_O2_hello_world.fromasm.imprecise2
-rw-r--r--test/emcc_O2_hello_world.fromasm.imprecise.no-opts2
-rw-r--r--test/emcc_O2_hello_world.fromasm.no-opts2
-rw-r--r--test/emcc_hello_world.fromasm2
-rw-r--r--test/emcc_hello_world.fromasm.imprecise2
-rw-r--r--test/emcc_hello_world.fromasm.imprecise.no-opts2
-rw-r--r--test/emcc_hello_world.fromasm.no-opts2
-rw-r--r--test/empty.fromasm2
-rw-r--r--test/empty.fromasm.imprecise2
-rw-r--r--test/empty.fromasm.imprecise.no-opts2
-rw-r--r--test/empty.fromasm.no-opts2
-rw-r--r--test/hello_world.fromasm2
-rw-r--r--test/hello_world.fromasm.imprecise2
-rw-r--r--test/hello_world.fromasm.imprecise.no-opts2
-rw-r--r--test/hello_world.fromasm.no-opts2
-rw-r--r--test/memorygrowth.fromasm2
-rw-r--r--test/memorygrowth.fromasm.imprecise2
-rw-r--r--test/memorygrowth.fromasm.imprecise.no-opts2
-rw-r--r--test/memorygrowth.fromasm.no-opts2
-rw-r--r--test/min.fromasm2
-rw-r--r--test/min.fromasm.imprecise2
-rw-r--r--test/min.fromasm.imprecise.no-opts2
-rw-r--r--test/min.fromasm.no-opts2
-rw-r--r--test/two_sides.fromasm2
-rw-r--r--test/two_sides.fromasm.imprecise2
-rw-r--r--test/two_sides.fromasm.imprecise.no-opts2
-rw-r--r--test/two_sides.fromasm.no-opts2
-rw-r--r--test/unit.fromasm2
-rw-r--r--test/unit.fromasm.imprecise2
-rw-r--r--test/unit.fromasm.imprecise.no-opts2
-rw-r--r--test/unit.fromasm.no-opts2
35 files changed, 73 insertions, 38 deletions
diff --git a/src/asm2wasm.h b/src/asm2wasm.h
index f88bf9ffc..306a953a7 100644
--- a/src/asm2wasm.h
+++ b/src/asm2wasm.h
@@ -817,11 +817,22 @@ void Asm2WasmBuilder::processAsm(Ref ast) {
wasm.addExport(export_);
}
+#if 0
+ // export memory
auto memoryExport = make_unique<Export>();
memoryExport->name = MEMORY;
memoryExport->value = Name::fromInt(0);
memoryExport->kind = Export::Memory;
wasm.addExport(memoryExport.release());
+#else
+ // import memory
+ auto memoryImport = make_unique<Import>();
+ memoryImport->name = MEMORY;
+ memoryImport->module = ENV;
+ memoryImport->base = MEMORY;
+ memoryImport->kind = Import::Memory;
+ wasm.addImport(memoryImport.release());
+#endif
#if 0 // enable asm2wasm i64 optimizations when browsers have consistent i64 support in wasm
if (udivmoddi4.is() && getTempRet0.is()) {
diff --git a/src/js/wasm.js-post.js b/src/js/wasm.js-post.js
index 05c648ed0..dcffb1ee8 100644
--- a/src/js/wasm.js-post.js
+++ b/src/js/wasm.js-post.js
@@ -183,7 +183,7 @@ function integrateWasmJS(Module) {
return false;
}
exports = instance.exports;
- mergeMemory(exports.memory);
+ if (exports.memory) mergeMemory(exports.memory);
Module["usingWasm"] = true;
@@ -274,6 +274,11 @@ function integrateWasmJS(Module) {
global = fixImports(global);
env = fixImports(env);
+ // import memory
+ if (!env['memory']) {
+ env['memory'] = providedBuffer;
+ }
+
// try the methods. each should return the exports if it succeeded
var exports;
diff --git a/src/wasm-js.cpp b/src/wasm-js.cpp
index fc27bc37a..31448d2a0 100644
--- a/src/wasm-js.cpp
+++ b/src/wasm-js.cpp
@@ -169,17 +169,36 @@ extern "C" void EMSCRIPTEN_KEEPALIVE instantiate() {
struct JSExternalInterface : ModuleInstance::ExternalInterface {
void init(Module& wasm, ModuleInstance& instance) override {
- // create a new buffer here, just like native wasm support would.
- EM_ASM_({
- Module['outside']['newBuffer'] = new ArrayBuffer($0);
- }, wasm.memory.initial * Memory::kPageSize);
+ // look for imported memory
+ {
+ bool found = false;
+ for (auto& import : wasm.imports) {
+ if (import->module == ENV && import->base == MEMORY) {
+ assert(import->kind == Import::Memory);
+ // memory is imported
+ EM_ASM({
+ Module['outside']['tempBuffer'] = Module['lookupImport']('env', 'memory');
+ });
+ found = true;
+ }
+ }
+ 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);
+ }, 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']['newBuffer']);
+ var target = new Int8Array(Module['outside']['tempBuffer']);
target.set(source, $0);
}, ConstantExpressionRunner(instance.globals).visit(segment.offset).value.geti32(), &segment.data[0], segment.data.size());
}
+ EM_ASM({
+ Module['outside']['tempBuffer'] = null;
+ });
// 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_({
diff --git a/test/emcc_O2_hello_world.fromasm b/test/emcc_O2_hello_world.fromasm
index 5c6c31dfa..21873f241 100644
--- a/test/emcc_O2_hello_world.fromasm
+++ b/test/emcc_O2_hello_world.fromasm
@@ -30,6 +30,7 @@
(import $___syscall140 "env" "___syscall140" (param i32 i32) (result i32))
(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 $memInitBase global "env" "memInitBase" i32)
(export "_free" $_free)
(export "_main" $_main)
@@ -49,7 +50,6 @@
(export "dynCall_ii" $dynCall_ii)
(export "dynCall_iiii" $dynCall_iiii)
(export "dynCall_vi" $dynCall_vi)
- (export "memory" memory)
(global $__THREW__ i32 (i32.const 0))
(global $threwValue i32 (i32.const 0))
(global $setjmpId i32 (i32.const 0))
diff --git a/test/emcc_O2_hello_world.fromasm.imprecise b/test/emcc_O2_hello_world.fromasm.imprecise
index b066153e3..39e95673c 100644
--- a/test/emcc_O2_hello_world.fromasm.imprecise
+++ b/test/emcc_O2_hello_world.fromasm.imprecise
@@ -28,6 +28,7 @@
(import $___unlock "env" "___unlock" (param i32))
(import $___syscall140 "env" "___syscall140" (param i32 i32) (result i32))
(import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
+ (import $memory memory "env" "memory")
(export "_free" $_free)
(export "_main" $_main)
(export "_memset" $_memset)
@@ -46,7 +47,6 @@
(export "dynCall_ii" $dynCall_ii)
(export "dynCall_iiii" $dynCall_iiii)
(export "dynCall_vi" $dynCall_vi)
- (export "memory" memory)
(global $__THREW__ i32 (i32.const 0))
(global $threwValue i32 (i32.const 0))
(global $setjmpId i32 (i32.const 0))
diff --git a/test/emcc_O2_hello_world.fromasm.imprecise.no-opts b/test/emcc_O2_hello_world.fromasm.imprecise.no-opts
index d9be3c6ae..a5e952b4c 100644
--- a/test/emcc_O2_hello_world.fromasm.imprecise.no-opts
+++ b/test/emcc_O2_hello_world.fromasm.imprecise.no-opts
@@ -28,6 +28,7 @@
(import $___unlock "env" "___unlock" (param i32))
(import $___syscall140 "env" "___syscall140" (param i32 i32) (result i32))
(import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
+ (import $memory memory "env" "memory")
(export "_free" $_free)
(export "_main" $_main)
(export "_memset" $_memset)
@@ -46,7 +47,6 @@
(export "dynCall_ii" $dynCall_ii)
(export "dynCall_iiii" $dynCall_iiii)
(export "dynCall_vi" $dynCall_vi)
- (export "memory" memory)
(global $__THREW__ i32 (i32.const 0))
(global $threwValue i32 (i32.const 0))
(global $setjmpId i32 (i32.const 0))
diff --git a/test/emcc_O2_hello_world.fromasm.no-opts b/test/emcc_O2_hello_world.fromasm.no-opts
index 37e32d83b..303b1e723 100644
--- a/test/emcc_O2_hello_world.fromasm.no-opts
+++ b/test/emcc_O2_hello_world.fromasm.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 $i32u-div "asm2wasm" "i32u-div" (param i32 i32) (result i32))
+ (import $memory memory "env" "memory")
(export "_free" $_free)
(export "_main" $_main)
(export "_memset" $_memset)
@@ -47,7 +48,6 @@
(export "dynCall_ii" $dynCall_ii)
(export "dynCall_iiii" $dynCall_iiii)
(export "dynCall_vi" $dynCall_vi)
- (export "memory" memory)
(global $__THREW__ i32 (i32.const 0))
(global $threwValue i32 (i32.const 0))
(global $setjmpId i32 (i32.const 0))
diff --git a/test/emcc_hello_world.fromasm b/test/emcc_hello_world.fromasm
index 14d0b8824..666f03482 100644
--- a/test/emcc_hello_world.fromasm
+++ b/test/emcc_hello_world.fromasm
@@ -39,6 +39,7 @@
(import $i32s-rem "asm2wasm" "i32s-rem" (param i32 i32) (result i32))
(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 $memInitBase global "env" "memInitBase" i32)
(export "_i64Subtract" $_i64Subtract)
(export "_free" $_free)
@@ -63,7 +64,6 @@
(export "dynCall_iiii" $dynCall_iiii)
(export "dynCall_vi" $dynCall_vi)
(export "___udivmoddi4" $___udivmoddi4)
- (export "memory" memory)
(global $__THREW__ i32 (i32.const 0))
(global $threwValue i32 (i32.const 0))
(global $setjmpId i32 (i32.const 0))
diff --git a/test/emcc_hello_world.fromasm.imprecise b/test/emcc_hello_world.fromasm.imprecise
index ed7b48ea5..e30167119 100644
--- a/test/emcc_hello_world.fromasm.imprecise
+++ b/test/emcc_hello_world.fromasm.imprecise
@@ -32,6 +32,7 @@
(import $_pthread_cleanup_push "env" "_pthread_cleanup_push" (param i32 i32))
(import $_sysconf "env" "_sysconf" (param i32) (result i32))
(import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
+ (import $memory memory "env" "memory")
(export "_i64Subtract" $_i64Subtract)
(export "_free" $_free)
(export "_main" $_main)
@@ -55,7 +56,6 @@
(export "dynCall_iiii" $dynCall_iiii)
(export "dynCall_vi" $dynCall_vi)
(export "___udivmoddi4" $___udivmoddi4)
- (export "memory" memory)
(global $__THREW__ i32 (i32.const 0))
(global $threwValue i32 (i32.const 0))
(global $setjmpId i32 (i32.const 0))
diff --git a/test/emcc_hello_world.fromasm.imprecise.no-opts b/test/emcc_hello_world.fromasm.imprecise.no-opts
index 010c02ffd..a0429b58c 100644
--- a/test/emcc_hello_world.fromasm.imprecise.no-opts
+++ b/test/emcc_hello_world.fromasm.imprecise.no-opts
@@ -32,6 +32,7 @@
(import $_pthread_cleanup_push "env" "_pthread_cleanup_push" (param i32 i32))
(import $_sysconf "env" "_sysconf" (param i32) (result i32))
(import $___syscall146 "env" "___syscall146" (param i32 i32) (result i32))
+ (import $memory memory "env" "memory")
(export "_i64Subtract" $_i64Subtract)
(export "_free" $_free)
(export "_main" $_main)
@@ -55,7 +56,6 @@
(export "dynCall_iiii" $dynCall_iiii)
(export "dynCall_vi" $dynCall_vi)
(export "___udivmoddi4" $___udivmoddi4)
- (export "memory" memory)
(global $__THREW__ i32 (i32.const 0))
(global $threwValue i32 (i32.const 0))
(global $setjmpId i32 (i32.const 0))
diff --git a/test/emcc_hello_world.fromasm.no-opts b/test/emcc_hello_world.fromasm.no-opts
index a5f8ac376..3c9f8123a 100644
--- a/test/emcc_hello_world.fromasm.no-opts
+++ b/test/emcc_hello_world.fromasm.no-opts
@@ -38,6 +38,7 @@
(import $i32s-rem "asm2wasm" "i32s-rem" (param i32 i32) (result i32))
(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")
(export "_i64Subtract" $_i64Subtract)
(export "_free" $_free)
(export "_main" $_main)
@@ -61,7 +62,6 @@
(export "dynCall_iiii" $dynCall_iiii)
(export "dynCall_vi" $dynCall_vi)
(export "___udivmoddi4" $___udivmoddi4)
- (export "memory" memory)
(global $__THREW__ i32 (i32.const 0))
(global $threwValue i32 (i32.const 0))
(global $setjmpId i32 (i32.const 0))
diff --git a/test/empty.fromasm b/test/empty.fromasm
index 008ce532b..2dcb800dd 100644
--- a/test/empty.fromasm
+++ b/test/empty.fromasm
@@ -1,6 +1,6 @@
(module
(memory 256 256)
(data (get_global $memInitBase) "empty.asm.js")
+ (import $memory memory "env" "memory")
(import $memInitBase global "env" "memInitBase" i32)
- (export "memory" memory)
)
diff --git a/test/empty.fromasm.imprecise b/test/empty.fromasm.imprecise
index 939cbb87c..6c3928ac1 100644
--- a/test/empty.fromasm.imprecise
+++ b/test/empty.fromasm.imprecise
@@ -1,4 +1,4 @@
(module
(memory 256 256)
- (export "memory" memory)
+ (import $memory memory "env" "memory")
)
diff --git a/test/empty.fromasm.imprecise.no-opts b/test/empty.fromasm.imprecise.no-opts
index 939cbb87c..6c3928ac1 100644
--- a/test/empty.fromasm.imprecise.no-opts
+++ b/test/empty.fromasm.imprecise.no-opts
@@ -1,4 +1,4 @@
(module
(memory 256 256)
- (export "memory" memory)
+ (import $memory memory "env" "memory")
)
diff --git a/test/empty.fromasm.no-opts b/test/empty.fromasm.no-opts
index 939cbb87c..6c3928ac1 100644
--- a/test/empty.fromasm.no-opts
+++ b/test/empty.fromasm.no-opts
@@ -1,4 +1,4 @@
(module
(memory 256 256)
- (export "memory" memory)
+ (import $memory memory "env" "memory")
)
diff --git a/test/hello_world.fromasm b/test/hello_world.fromasm
index 0aae371f0..cea20a687 100644
--- a/test/hello_world.fromasm
+++ b/test/hello_world.fromasm
@@ -1,9 +1,9 @@
(module
(memory 256 256)
(data (get_global $memInitBase) "hello_world.asm.js")
+ (import $memory memory "env" "memory")
(import $memInitBase global "env" "memInitBase" i32)
(export "add" $add)
- (export "memory" memory)
(func $add (param $0 i32) (param $1 i32) (result i32)
(i32.add
(get_local $0)
diff --git a/test/hello_world.fromasm.imprecise b/test/hello_world.fromasm.imprecise
index 675ef17ca..0438017ff 100644
--- a/test/hello_world.fromasm.imprecise
+++ b/test/hello_world.fromasm.imprecise
@@ -1,7 +1,7 @@
(module
(memory 256 256)
+ (import $memory memory "env" "memory")
(export "add" $add)
- (export "memory" memory)
(func $add (param $0 i32) (param $1 i32) (result i32)
(i32.add
(get_local $0)
diff --git a/test/hello_world.fromasm.imprecise.no-opts b/test/hello_world.fromasm.imprecise.no-opts
index 368ffaff3..80e7688e2 100644
--- a/test/hello_world.fromasm.imprecise.no-opts
+++ b/test/hello_world.fromasm.imprecise.no-opts
@@ -1,7 +1,7 @@
(module
(memory 256 256)
+ (import $memory memory "env" "memory")
(export "add" $add)
- (export "memory" memory)
(func $add (param $x i32) (param $y i32) (result i32)
(return
(i32.add
diff --git a/test/hello_world.fromasm.no-opts b/test/hello_world.fromasm.no-opts
index 368ffaff3..80e7688e2 100644
--- a/test/hello_world.fromasm.no-opts
+++ b/test/hello_world.fromasm.no-opts
@@ -1,7 +1,7 @@
(module
(memory 256 256)
+ (import $memory memory "env" "memory")
(export "add" $add)
- (export "memory" memory)
(func $add (param $x i32) (param $y i32) (result i32)
(return
(i32.add
diff --git a/test/memorygrowth.fromasm b/test/memorygrowth.fromasm
index 36e9590ed..390f163bb 100644
--- a/test/memorygrowth.fromasm
+++ b/test/memorygrowth.fromasm
@@ -26,6 +26,7 @@
(import $xa "env" "___unlock" (param i32))
(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 $memInitBase global "env" "memInitBase" i32)
(export "_free" $fb)
(export "_main" $Na)
@@ -47,7 +48,6 @@
(export "dynCall_iiii" $lb)
(export "dynCall_vi" $mb)
(export "__growWasmMemory" $__growWasmMemory)
- (export "memory" memory)
(global $v i32 (i32.const 0))
(global $w i32 (i32.const 0))
(global $x i32 (i32.const 0))
diff --git a/test/memorygrowth.fromasm.imprecise b/test/memorygrowth.fromasm.imprecise
index 935bf4159..fb8b5b085 100644
--- a/test/memorygrowth.fromasm.imprecise
+++ b/test/memorygrowth.fromasm.imprecise
@@ -24,6 +24,7 @@
(import $wa "env" "___syscall54" (param i32 i32) (result i32))
(import $xa "env" "___unlock" (param i32))
(import $ya "env" "___syscall146" (param i32 i32) (result i32))
+ (import $memory memory "env" "memory")
(export "_free" $fb)
(export "_main" $Na)
(export "_pthread_self" $ib)
@@ -44,7 +45,6 @@
(export "dynCall_iiii" $lb)
(export "dynCall_vi" $mb)
(export "__growWasmMemory" $__growWasmMemory)
- (export "memory" memory)
(global $v i32 (i32.const 0))
(global $w i32 (i32.const 0))
(global $x i32 (i32.const 0))
diff --git a/test/memorygrowth.fromasm.imprecise.no-opts b/test/memorygrowth.fromasm.imprecise.no-opts
index 758fff869..6cdc4fd40 100644
--- a/test/memorygrowth.fromasm.imprecise.no-opts
+++ b/test/memorygrowth.fromasm.imprecise.no-opts
@@ -24,6 +24,7 @@
(import $wa "env" "___syscall54" (param i32 i32) (result i32))
(import $xa "env" "___unlock" (param i32))
(import $ya "env" "___syscall146" (param i32 i32) (result i32))
+ (import $memory memory "env" "memory")
(export "_free" $fb)
(export "_main" $Na)
(export "_pthread_self" $ib)
@@ -44,7 +45,6 @@
(export "dynCall_iiii" $lb)
(export "dynCall_vi" $mb)
(export "__growWasmMemory" $__growWasmMemory)
- (export "memory" memory)
(global $v i32 (i32.const 0))
(global $w i32 (i32.const 0))
(global $x i32 (i32.const 0))
diff --git a/test/memorygrowth.fromasm.no-opts b/test/memorygrowth.fromasm.no-opts
index b506e580c..fd1b541d1 100644
--- a/test/memorygrowth.fromasm.no-opts
+++ b/test/memorygrowth.fromasm.no-opts
@@ -25,6 +25,7 @@
(import $xa "env" "___unlock" (param i32))
(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")
(export "_free" $fb)
(export "_main" $Na)
(export "_pthread_self" $ib)
@@ -45,7 +46,6 @@
(export "dynCall_iiii" $lb)
(export "dynCall_vi" $mb)
(export "__growWasmMemory" $__growWasmMemory)
- (export "memory" memory)
(global $v i32 (i32.const 0))
(global $w i32 (i32.const 0))
(global $x i32 (i32.const 0))
diff --git a/test/min.fromasm b/test/min.fromasm
index 9135999dd..1a69787ab 100644
--- a/test/min.fromasm
+++ b/test/min.fromasm
@@ -2,9 +2,9 @@
(memory 256 256)
(data (get_global $memInitBase) "min.asm.js")
(import $tDP global "env" "tempDoublePtr" i32)
+ (import $memory memory "env" "memory")
(import $memInitBase global "env" "memInitBase" i32)
(export "floats" $floats)
- (export "memory" memory)
(func $floats (param $0 f32) (result f32)
(local $1 f32)
(f32.add
diff --git a/test/min.fromasm.imprecise b/test/min.fromasm.imprecise
index 9c0d90097..c1703c203 100644
--- a/test/min.fromasm.imprecise
+++ b/test/min.fromasm.imprecise
@@ -1,8 +1,8 @@
(module
(memory 256 256)
(import $tDP global "env" "tempDoublePtr" i32)
+ (import $memory memory "env" "memory")
(export "floats" $floats)
- (export "memory" memory)
(func $floats (param $0 f32) (result f32)
(local $1 f32)
(f32.add
diff --git a/test/min.fromasm.imprecise.no-opts b/test/min.fromasm.imprecise.no-opts
index 4563ef382..7ba8db448 100644
--- a/test/min.fromasm.imprecise.no-opts
+++ b/test/min.fromasm.imprecise.no-opts
@@ -1,8 +1,8 @@
(module
(memory 256 256)
(import $tDP global "env" "tempDoublePtr" i32)
+ (import $memory memory "env" "memory")
(export "floats" $floats)
- (export "memory" memory)
(func $floats (param $f f32) (result f32)
(local $t f32)
(return
diff --git a/test/min.fromasm.no-opts b/test/min.fromasm.no-opts
index 4563ef382..7ba8db448 100644
--- a/test/min.fromasm.no-opts
+++ b/test/min.fromasm.no-opts
@@ -1,8 +1,8 @@
(module
(memory 256 256)
(import $tDP global "env" "tempDoublePtr" i32)
+ (import $memory memory "env" "memory")
(export "floats" $floats)
- (export "memory" memory)
(func $floats (param $f f32) (result f32)
(local $t f32)
(return
diff --git a/test/two_sides.fromasm b/test/two_sides.fromasm
index 0eed39325..45649cba6 100644
--- a/test/two_sides.fromasm
+++ b/test/two_sides.fromasm
@@ -3,9 +3,9 @@
(data (get_global $memInitBase) "two_sides.asm.js")
(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 $memInitBase global "env" "memInitBase" i32)
(export "_test" $_test)
- (export "memory" memory)
(func $_test (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(local $5 f64)
(if
diff --git a/test/two_sides.fromasm.imprecise b/test/two_sides.fromasm.imprecise
index 3e982aef2..ce7b83d1f 100644
--- a/test/two_sides.fromasm.imprecise
+++ b/test/two_sides.fromasm.imprecise
@@ -1,7 +1,7 @@
(module
(memory 256 256)
+ (import $memory memory "env" "memory")
(export "_test" $_test)
- (export "memory" memory)
(func $_test (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32)
(local $5 f64)
(if
diff --git a/test/two_sides.fromasm.imprecise.no-opts b/test/two_sides.fromasm.imprecise.no-opts
index d76c31b7e..3d27fcef4 100644
--- a/test/two_sides.fromasm.imprecise.no-opts
+++ b/test/two_sides.fromasm.imprecise.no-opts
@@ -1,7 +1,7 @@
(module
(memory 256 256)
+ (import $memory memory "env" "memory")
(export "_test" $_test)
- (export "memory" memory)
(func $_test (param $i1 i32) (param $i2 i32) (param $i3 i32) (param $i4 i32) (param $i5 i32) (result i32)
(local $d6 f64)
(if
diff --git a/test/two_sides.fromasm.no-opts b/test/two_sides.fromasm.no-opts
index e0b639049..51b871191 100644
--- a/test/two_sides.fromasm.no-opts
+++ b/test/two_sides.fromasm.no-opts
@@ -2,8 +2,8 @@
(memory 256 256)
(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")
(export "_test" $_test)
- (export "memory" memory)
(func $_test (param $i1 i32) (param $i2 i32) (param $i3 i32) (param $i4 i32) (param $i5 i32) (result i32)
(local $d6 f64)
(if
diff --git a/test/unit.fromasm b/test/unit.fromasm
index 530761b62..740c6ff52 100644
--- a/test/unit.fromasm
+++ b/test/unit.fromasm
@@ -19,10 +19,10 @@
(import $f64-to-int "asm2wasm" "f64-to-int" (param f64) (result i32))
(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 $memInitBase global "env" "memInitBase" i32)
(export "big_negative" $big_negative)
(export "pick" $big_negative)
- (export "memory" memory)
(global $Int i32 (i32.const 0))
(global $Double f64 (f64.const 0))
(table 10 10 anyfunc)
diff --git a/test/unit.fromasm.imprecise b/test/unit.fromasm.imprecise
index d0d98452f..e9d6e4300 100644
--- a/test/unit.fromasm.imprecise
+++ b/test/unit.fromasm.imprecise
@@ -14,9 +14,9 @@
(import $print "env" "print" (param i32))
(import $h "env" "h" (param i32))
(import $f64-rem "asm2wasm" "f64-rem" (param f64 f64) (result f64))
+ (import $memory memory "env" "memory")
(export "big_negative" $big_negative)
(export "pick" $big_negative)
- (export "memory" memory)
(global $Int i32 (i32.const 0))
(global $Double f64 (f64.const 0))
(table 10 10 anyfunc)
diff --git a/test/unit.fromasm.imprecise.no-opts b/test/unit.fromasm.imprecise.no-opts
index f06912d08..ec758bf32 100644
--- a/test/unit.fromasm.imprecise.no-opts
+++ b/test/unit.fromasm.imprecise.no-opts
@@ -14,9 +14,9 @@
(import $print "env" "print" (param i32))
(import $h "env" "h" (param i32))
(import $f64-rem "asm2wasm" "f64-rem" (param f64 f64) (result f64))
+ (import $memory memory "env" "memory")
(export "big_negative" $big_negative)
(export "pick" $exportMe)
- (export "memory" memory)
(global $Int i32 (i32.const 0))
(global $Double f64 (f64.const 0))
(table 10 10 anyfunc)
diff --git a/test/unit.fromasm.no-opts b/test/unit.fromasm.no-opts
index 222e0fa65..546fcd7fc 100644
--- a/test/unit.fromasm.no-opts
+++ b/test/unit.fromasm.no-opts
@@ -18,9 +18,9 @@
(import $f64-to-int "asm2wasm" "f64-to-int" (param f64) (result i32))
(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")
(export "big_negative" $big_negative)
(export "pick" $exportMe)
- (export "memory" memory)
(global $Int i32 (i32.const 0))
(global $Double f64 (f64.const 0))
(table 10 10 anyfunc)