From b7e1989553a645968399ad379a86b809e04c0ae2 Mon Sep 17 00:00:00 2001 From: magic-akari Date: Fri, 18 Mar 2022 01:27:28 +0800 Subject: [wasm2js] Support exports of Globals (#4523) Export an object with a `.value` property like the wasm JS API does in browsers, and implement them with a getter and setter. Fixes #4522 --- test/wasm2js/export_global.2asm.js | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 test/wasm2js/export_global.2asm.js (limited to 'test/wasm2js/export_global.2asm.js') diff --git a/test/wasm2js/export_global.2asm.js b/test/wasm2js/export_global.2asm.js new file mode 100644 index 000000000..7db0d3a20 --- /dev/null +++ b/test/wasm2js/export_global.2asm.js @@ -0,0 +1,37 @@ + +function asmFunc(env) { + var Math_imul = Math.imul; + var Math_fround = Math.fround; + var Math_abs = Math.abs; + var Math_clz32 = Math.clz32; + var Math_min = Math.min; + var Math_max = Math.max; + var Math_floor = Math.floor; + var Math_ceil = Math.ceil; + var Math_trunc = Math.trunc; + var Math_sqrt = Math.sqrt; + var abort = env.abort; + var nan = NaN; + var infinity = Infinity; + var global0 = 655360; + function $0() { + return 42 | 0; + } + + return { + "HELLO": { + get value() { + return global0; + }, + set value(_global0) { + global0 = _global0; + } + }, + "helloWorld": $0 + }; +} + +var retasmFunc = asmFunc( { abort: function() { throw new Error('abort'); } + }); +export var HELLO = retasmFunc.HELLO; +export var helloWorld = retasmFunc.helloWorld; -- cgit v1.2.3