summaryrefslogtreecommitdiff
path: root/test/wasm2js/endianness.2asm.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/wasm2js/endianness.2asm.js')
-rw-r--r--test/wasm2js/endianness.2asm.js27
1 files changed, 26 insertions, 1 deletions
diff --git a/test/wasm2js/endianness.2asm.js b/test/wasm2js/endianness.2asm.js
index 19bd79751..d7f9e169a 100644
--- a/test/wasm2js/endianness.2asm.js
+++ b/test/wasm2js/endianness.2asm.js
@@ -1,7 +1,7 @@
import { __tempMemory__ } from 'env';
function asmFunc(global, env, buffer) {
- "use asm";
+ "almost asm";
var HEAP8 = new global.Int8Array(buffer);
var HEAP16 = new global.Int16Array(buffer);
var HEAP32 = new global.Int32Array(buffer);
@@ -291,6 +291,31 @@ function asmFunc(global, env, buffer) {
}
var FUNCTION_TABLE = [];
+ function __wasm_grow_memory(pagesToAdd) {
+ pagesToAdd = pagesToAdd | 0;
+ var oldPages = __wasm_current_memory() | 0;
+ var newPages = oldPages + pagesToAdd | 0;
+ if ((oldPages < newPages) && (newPages < 65536)) {
+ var newBuffer = new ArrayBuffer(Math_imul(newPages, 65536));
+ var newHEAP8 = new global.Int8Array(newBuffer);
+ newHEAP8.set(HEAP8);
+ HEAP8 = newHEAP8;
+ HEAP16 = new global.Int16Array(newBuffer);
+ HEAP32 = new global.Int32Array(newBuffer);
+ HEAPU8 = new global.Uint8Array(newBuffer);
+ HEAPU16 = new global.Uint16Array(newBuffer);
+ HEAPU32 = new global.Uint32Array(newBuffer);
+ HEAPF32 = new global.Float32Array(newBuffer);
+ HEAPF64 = new global.Float64Array(newBuffer);
+ buffer = newBuffer;
+ }
+ return oldPages;
+ }
+
+ function __wasm_current_memory() {
+ return buffer.byteLength / 65536 | 0;
+ }
+
return {
i32_load16_s: $6,
i32_load16_u: $7,