Explorar el Código

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.
Leon Krause hace 8 años
padre
commit
11ab7b6efc
Se han modificado 1 ficheros con 3 adiciones y 3 borrados
  1. 3 3
      platform/javascript/engine.js

+ 3 - 3
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) {