summaryrefslogtreecommitdiff
path: root/test/binaryen.js/memory-info.js
diff options
context:
space:
mode:
authorJackson Gardner <eyebrowsoffire@gmail.com>2022-05-24 09:59:47 -0700
committerGitHub <noreply@github.com>2022-05-24 09:59:47 -0700
commit721e8ffb975a6e68a56287cd46ecc19e107211c6 (patch)
tree021219639b5c4b80c235cce42c79902c40fa4794 /test/binaryen.js/memory-info.js
parenta78d0e44cbcc72682ab9c45dec76d4b1c52588c9 (diff)
downloadbinaryen-721e8ffb975a6e68a56287cd46ecc19e107211c6.tar.gz
binaryen-721e8ffb975a6e68a56287cd46ecc19e107211c6.tar.bz2
binaryen-721e8ffb975a6e68a56287cd46ecc19e107211c6.zip
Add C and JS API functions for accessing memory info (#4682)
Based on #3573 plus minor fixes
Diffstat (limited to 'test/binaryen.js/memory-info.js')
-rw-r--r--test/binaryen.js/memory-info.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/binaryen.js/memory-info.js b/test/binaryen.js/memory-info.js
new file mode 100644
index 000000000..16ec86753
--- /dev/null
+++ b/test/binaryen.js/memory-info.js
@@ -0,0 +1,35 @@
+var module = new binaryen.Module();
+assert(module.validate());
+console.log(JSON.stringify(module.hasMemory()));
+
+var initial = 1, maximum = 64;
+
+// Not shared
+module = new binaryen.Module();
+module.setMemory(initial, maximum, '');
+assert(module.validate());
+console.log(JSON.stringify(module.hasMemory()));
+console.log(JSON.stringify(module.getMemoryInfo()));
+
+// Shared
+module = new binaryen.Module();
+module.setFeatures(binaryen.Features.MVP | binaryen.Features.Atomics);
+module.setMemory(initial, maximum, '', [], true);
+assert(module.validate());
+console.log(JSON.stringify(module.hasMemory()));
+console.log(JSON.stringify(module.getMemoryInfo()));
+
+// Imported, not shared
+module = new binaryen.Module();
+module.addMemoryImport('my_mem', 'env', 'memory', false);
+assert(module.validate());
+console.log(JSON.stringify(module.hasMemory()));
+console.log(JSON.stringify(module.getMemoryInfo()));
+
+// Imported, shared
+module = new binaryen.Module();
+module.setFeatures(binaryen.Features.MVP | binaryen.Features.Atomics);
+module.addMemoryImport('my_mem', 'env', 'memory', true);
+assert(module.validate());
+console.log(JSON.stringify(module.hasMemory()));
+console.log(JSON.stringify(module.getMemoryInfo()));