From 721e8ffb975a6e68a56287cd46ecc19e107211c6 Mon Sep 17 00:00:00 2001 From: Jackson Gardner Date: Tue, 24 May 2022 09:59:47 -0700 Subject: Add C and JS API functions for accessing memory info (#4682) Based on #3573 plus minor fixes --- test/binaryen.js/memory-info.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 test/binaryen.js/memory-info.js (limited to 'test/binaryen.js/memory-info.js') 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())); -- cgit v1.2.3