From 11ab7b6efc3353ac19aed6f88c5a38bfbe879ebd Mon Sep 17 00:00:00 2001 From: Leon Krause Date: Mon, 2 Oct 2017 13:09:59 +0200 Subject: [PATCH] Use primary WebAssembly.instantiate overload Previously WebAssembly.compile was used along with the secondary WebAssembly.instantiate overload. Using only the primary overload is recommended to get best performance. --- platform/javascript/engine.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platform/javascript/engine.js b/platform/javascript/engine.js index 552f5a7e021..99d1c20bbda 100644 --- a/platform/javascript/engine.js +++ b/platform/javascript/engine.js @@ -84,10 +84,10 @@ rtenvOpts.print = stdout; if (typeof stderr === 'function') rtenvOpts.printErr = stderr; - if (typeof WebAssembly === 'object' && initializer instanceof WebAssembly.Module) { + if (typeof WebAssembly === 'object' && initializer instanceof ArrayBuffer) { rtenvOpts.instantiateWasm = function(imports, onSuccess) { WebAssembly.instantiate(initializer, imports).then(function(result) { - onSuccess(result); + onSuccess(result.instance); }); return {}; }; @@ -241,7 +241,7 @@ return Promise.reject(new Error("Browser doesn't support WebAssembly")); // TODO cache/retrieve module to/from idb engineLoadPromise = loadPromise(basePath + '.wasm').then(function(xhr) { - return WebAssembly.compile(xhr.response); + return xhr.response; }); } else { var asmjsPromise = loadPromise(basePath + '.asm.js').then(function(xhr) {