summaryrefslogtreecommitdiff
path: root/test/wasm2js/empty_table.2asm.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2019-04-18 10:39:41 -0700
committerGitHub <noreply@github.com>2019-04-18 10:39:41 -0700
commit8dc68bc96db046127d648644daa89f524a668863 (patch)
tree3eb2845e5724c6097ba160095498005290467795 /test/wasm2js/empty_table.2asm.js
parent77c44ecded323174d79a98bd43c3d2c064ac08e4 (diff)
downloadbinaryen-8dc68bc96db046127d648644daa89f524a668863.tar.gz
binaryen-8dc68bc96db046127d648644daa89f524a668863.tar.bz2
binaryen-8dc68bc96db046127d648644daa89f524a668863.zip
wasm2js: remove "use asm", we are not asm.js anymore (#2020)
Also emit the memory growth code based on memory growth, and not whether we are "use asm" or not.
Diffstat (limited to 'test/wasm2js/empty_table.2asm.js')
-rw-r--r--test/wasm2js/empty_table.2asm.js27
1 files changed, 26 insertions, 1 deletions
diff --git a/test/wasm2js/empty_table.2asm.js b/test/wasm2js/empty_table.2asm.js
index 5ef3aa88a..eba813ac1 100644
--- a/test/wasm2js/empty_table.2asm.js
+++ b/test/wasm2js/empty_table.2asm.js
@@ -1,6 +1,6 @@
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);
@@ -23,6 +23,31 @@ function asmFunc(global, env, buffer) {
var infinity = global.Infinity;
var i64toi32_i32$HIGH_BITS = 0;
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 {
};