summaryrefslogtreecommitdiff
path: root/test/wasm2js/br.2asm.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/wasm2js/br.2asm.js')
-rw-r--r--test/wasm2js/br.2asm.js29
1 files changed, 27 insertions, 2 deletions
diff --git a/test/wasm2js/br.2asm.js b/test/wasm2js/br.2asm.js
index a107246c6..8d131015a 100644
--- a/test/wasm2js/br.2asm.js
+++ b/test/wasm2js/br.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);
@@ -602,6 +602,31 @@ function asmFunc(global, env, buffer) {
}
var FUNCTION_TABLE = [f];
+ 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 {
type_i32: $1,
type_i64: $2,
@@ -724,7 +749,7 @@ export const nested_br_table_value = retasmFunc.nested_br_table_value;
export const nested_br_table_value_index = retasmFunc.nested_br_table_value_index;
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);