summaryrefslogtreecommitdiff
path: root/test/wasm2js/emscripten-grow-no.2asm.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/wasm2js/emscripten-grow-no.2asm.js')
-rw-r--r--test/wasm2js/emscripten-grow-no.2asm.js53
1 files changed, 28 insertions, 25 deletions
diff --git a/test/wasm2js/emscripten-grow-no.2asm.js b/test/wasm2js/emscripten-grow-no.2asm.js
index 898faa539..d349b622a 100644
--- a/test/wasm2js/emscripten-grow-no.2asm.js
+++ b/test/wasm2js/emscripten-grow-no.2asm.js
@@ -1,4 +1,28 @@
function instantiate(asmLibraryArg) {
+ var bufferView;
+ var base64ReverseLookup = new Uint8Array(123/*'z'+1*/);
+ for (var i = 25; i >= 0; --i) {
+ base64ReverseLookup[48+i] = 52+i; // '0-9'
+ base64ReverseLookup[65+i] = i; // 'A-Z'
+ base64ReverseLookup[97+i] = 26+i; // 'a-z'
+ }
+ base64ReverseLookup[43] = 62; // '+'
+ base64ReverseLookup[47] = 63; // '/'
+ /** @noinline Inlining this function would mean expanding the base64 string 4x times in the source code, which Closure seems to be happy to do. */
+ function base64DecodeToExistingUint8Array(uint8Array, offset, b64) {
+ var b1, b2, i = 0, j = offset, bLength = b64.length, end = offset + (bLength*3>>2) - (b64[bLength-2] == '=') - (b64[bLength-1] == '=');
+ for (; i < bLength; i += 4) {
+ b1 = base64ReverseLookup[b64.charCodeAt(i+1)];
+ b2 = base64ReverseLookup[b64.charCodeAt(i+2)];
+ uint8Array[j++] = base64ReverseLookup[b64.charCodeAt(i)] << 2 | b1 >> 4;
+ if (j < end) uint8Array[j++] = b1 << 4 | b2 >> 2;
+ if (j < end) uint8Array[j++] = b2 << 6 | base64ReverseLookup[b64.charCodeAt(i+3)];
+ }
+ return uint8Array;
+ }
+function initActiveSegments(imports) {
+ base64DecodeToExistingUint8Array(bufferView, 1600, "YWJj");
+}
function asmFunc(env) {
var memory = env.memory;
var buffer = memory.buffer;
@@ -10,7 +34,6 @@ function asmFunc(env) {
var HEAPU32 = new Uint32Array(buffer);
var HEAPF32 = new Float32Array(buffer);
var HEAPF64 = new Float64Array(buffer);
- bufferView = HEAPU8;
var Math_imul = Math.imul;
var Math_fround = Math.fround;
var Math_abs = Math.abs;
@@ -28,6 +51,8 @@ function asmFunc(env) {
;
// EMSCRIPTEN_END_FUNCS
;
+ bufferView = HEAPU8;
+ initActiveSegments(env);
function __wasm_memory_size() {
return buffer.byteLength / 65536 | 0;
}
@@ -47,27 +72,5 @@ function asmFunc(env) {
};
}
-var bufferView;
-var exports = asmFunc(asmLibraryArg);
-for (var base64ReverseLookup = new Uint8Array(123/*'z'+1*/), i = 25; i >= 0; --i) {
- base64ReverseLookup[48+i] = 52+i; // '0-9'
- base64ReverseLookup[65+i] = i; // 'A-Z'
- base64ReverseLookup[97+i] = 26+i; // 'a-z'
- }
- base64ReverseLookup[43] = 62; // '+'
- base64ReverseLookup[47] = 63; // '/'
- /** @noinline Inlining this function would mean expanding the base64 string 4x times in the source code, which Closure seems to be happy to do. */
- function base64DecodeToExistingUint8Array(uint8Array, offset, b64) {
- var b1, b2, i = 0, j = offset, bLength = b64.length, end = offset + (bLength*3>>2) - (b64[bLength-2] == '=') - (b64[bLength-1] == '=');
- for (; i < bLength; i += 4) {
- b1 = base64ReverseLookup[b64.charCodeAt(i+1)];
- b2 = base64ReverseLookup[b64.charCodeAt(i+2)];
- uint8Array[j++] = base64ReverseLookup[b64.charCodeAt(i)] << 2 | b1 >> 4;
- if (j < end) uint8Array[j++] = b1 << 4 | b2 >> 2;
- if (j < end) uint8Array[j++] = b2 << 6 | base64ReverseLookup[b64.charCodeAt(i+3)];
- }
- return uint8Array;
- }
- base64DecodeToExistingUint8Array(bufferView, 1600, "YWJj");
-return exports;
-} \ No newline at end of file
+ return asmFunc(asmLibraryArg);
+}