summaryrefslogtreecommitdiff
path: root/test/wasm2js/set_local.2asm.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/wasm2js/set_local.2asm.js')
-rw-r--r--test/wasm2js/set_local.2asm.js142
1 files changed, 137 insertions, 5 deletions
diff --git a/test/wasm2js/set_local.2asm.js b/test/wasm2js/set_local.2asm.js
index bf3e08754..e277f5a07 100644
--- a/test/wasm2js/set_local.2asm.js
+++ b/test/wasm2js/set_local.2asm.js
@@ -1,3 +1,4 @@
+import { setTempRet0 } from 'env';
function asmFunc(global, env, buffer) {
"almost asm";
@@ -21,6 +22,7 @@ function asmFunc(global, env, buffer) {
var abort = env.abort;
var nan = global.NaN;
var infinity = global.Infinity;
+ var setTempRet0 = env.setTempRet0;
var i64toi32_i32$HIGH_BITS = 0;
function $0() {
@@ -105,6 +107,136 @@ function asmFunc(global, env, buffer) {
return i64toi32_i32$1 | 0;
}
+ function legalstub$5($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $10 = 0, $3_1 = 0, $3$hi = 0, $6$hi = 0;
+ i64toi32_i32$0 = 0;
+ $3_1 = $0_1;
+ $3$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$2 = $1_1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $10 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $10 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
+ }
+ $6$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = $3$hi;
+ i64toi32_i32$0 = $3_1;
+ i64toi32_i32$2 = $6$hi;
+ i64toi32_i32$3 = $10;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $5(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0);
+ }
+
+ function legalstub$6($0_1) {
+ $0_1 = +$0_1;
+ $6(Math_fround(Math_fround($0_1)));
+ }
+
+ function legalstub$8($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = +$2_1;
+ $3_1 = +$3_1;
+ $4_1 = $4_1 | 0;
+ $5_1 = $5_1 | 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$4 = 0, i64toi32_i32$3 = 0, $14 = 0, $7_1 = 0, $7$hi = 0, $10$hi = 0;
+ i64toi32_i32$0 = 0;
+ $7_1 = $0_1;
+ $7$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$2 = $1_1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $14 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $14 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
+ }
+ $10$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = $7$hi;
+ i64toi32_i32$0 = $7_1;
+ i64toi32_i32$2 = $10$hi;
+ i64toi32_i32$3 = $14;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ $8(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, Math_fround(Math_fround($2_1)), +$3_1, $4_1 | 0, $5_1 | 0);
+ }
+
+ function legalstub$9($0_1, $1_1, $2_1, $3_1, $4_1, $5_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ $2_1 = +$2_1;
+ $3_1 = +$3_1;
+ $4_1 = $4_1 | 0;
+ $5_1 = $5_1 | 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $16 = 0, $17 = 0, $8_1 = 0, $8$hi = 0, $11$hi = 0, $6_1 = 0, $6$hi = 0;
+ i64toi32_i32$0 = 0;
+ $8_1 = $0_1;
+ $8$hi = i64toi32_i32$0;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$2 = $1_1;
+ i64toi32_i32$1 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$1 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ $16 = 0;
+ }
+ } else {
+ {
+ i64toi32_i32$1 = ((1 << i64toi32_i32$4 | 0) - 1 | 0) & (i64toi32_i32$2 >>> (32 - i64toi32_i32$4 | 0) | 0) | 0 | (i64toi32_i32$0 << i64toi32_i32$4 | 0) | 0;
+ $16 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
+ }
+ $11$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = $8$hi;
+ i64toi32_i32$0 = $8_1;
+ i64toi32_i32$2 = $11$hi;
+ i64toi32_i32$3 = $16;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $9(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0, Math_fround(Math_fround($2_1)), +$3_1, $4_1 | 0, $5_1 | 0) | 0;
+ i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
+ $6_1 = i64toi32_i32$2;
+ $6$hi = i64toi32_i32$0;
+ i64toi32_i32$1 = i64toi32_i32$2;
+ i64toi32_i32$2 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$2 = 0;
+ $17 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $17 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$0 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$1 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ setTempRet0($17 | 0);
+ i64toi32_i32$2 = $6$hi;
+ return $6_1 | 0;
+ }
+
var FUNCTION_TABLE = [];
return {
type_local_i32: $0,
@@ -112,16 +244,16 @@ function asmFunc(global, env, buffer) {
type_local_f32: $2,
type_local_f64: $3,
type_param_i32: $4,
- type_param_i64: $5,
- type_param_f32: $6,
+ type_param_i64: legalstub$5,
+ type_param_f32: legalstub$6,
type_param_f64: $7,
- type_mixed: $8,
- write: $9
+ type_mixed: legalstub$8,
+ write: legalstub$9
};
}
const memasmFunc = new ArrayBuffer(65536);
-const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); }},memasmFunc);
+const retasmFunc = asmFunc({Math,Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,NaN,Infinity}, {abort:function() { throw new Error('abort'); },setTempRet0},memasmFunc);
export const type_local_i32 = retasmFunc.type_local_i32;
export const type_local_i64 = retasmFunc.type_local_i64;
export const type_local_f32 = retasmFunc.type_local_f32;