summaryrefslogtreecommitdiff
path: root/test/wasm2js/dot_import.2asm.js
diff options
context:
space:
mode:
authorAlon Zakai <azakai@google.com>2019-07-28 10:57:23 -0700
committerGitHub <noreply@github.com>2019-07-28 10:57:23 -0700
commit6ac5fa713b421588eede2e791235e4b60b22b172 (patch)
treecab48897fe2a54325b6144469ecce0a3e2e6eb4a /test/wasm2js/dot_import.2asm.js
parent772891f6270c20c34f3dc1d3984cffc6fa824d02 (diff)
downloadbinaryen-6ac5fa713b421588eede2e791235e4b60b22b172.tar.gz
binaryen-6ac5fa713b421588eede2e791235e4b60b22b172.tar.bz2
binaryen-6ac5fa713b421588eede2e791235e4b60b22b172.zip
wasm2js: Mangle import names for JS (#2267)
This fixes names that would be invalid in JS, like a.b. Turns out the Go compiler emits wasm with such imports. Also add some docs on how to use wasm2js. Fixes #2263
Diffstat (limited to 'test/wasm2js/dot_import.2asm.js')
-rw-r--r--test/wasm2js/dot_import.2asm.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/test/wasm2js/dot_import.2asm.js b/test/wasm2js/dot_import.2asm.js
new file mode 100644
index 000000000..87b9971ea
--- /dev/null
+++ b/test/wasm2js/dot_import.2asm.js
@@ -0,0 +1,37 @@
+import { ba_se } from 'mod.ule';
+
+function asmFunc(global, env, buffer) {
+ var HEAP8 = new global.Int8Array(buffer);
+ var HEAP16 = new global.Int16Array(buffer);
+ var HEAP32 = new global.Int32Array(buffer);
+ var HEAPU8 = new global.Uint8Array(buffer);
+ var HEAPU16 = new global.Uint16Array(buffer);
+ var HEAPU32 = new global.Uint32Array(buffer);
+ var HEAPF32 = new global.Float32Array(buffer);
+ var HEAPF64 = new global.Float64Array(buffer);
+ var Math_imul = global.Math.imul;
+ var Math_fround = global.Math.fround;
+ var Math_abs = global.Math.abs;
+ var Math_clz32 = global.Math.clz32;
+ var Math_min = global.Math.min;
+ var Math_max = global.Math.max;
+ var Math_floor = global.Math.floor;
+ var Math_ceil = global.Math.ceil;
+ var Math_sqrt = global.Math.sqrt;
+ var abort = env.abort;
+ var nan = global.NaN;
+ var infinity = global.Infinity;
+ var base = env.ba_se;
+ function $0() {
+ base();
+ }
+
+ var FUNCTION_TABLE = [];
+ return {
+ "exported": $0
+ };
+}
+
+var memasmFunc = new ArrayBuffer(65536);
+var retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },ba_se},memasmFunc);
+export var exported = retasmFunc.exported;