summaryrefslogtreecommitdiff
path: root/test/wasm2js/get_local.2asm.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/wasm2js/get_local.2asm.js')
-rw-r--r--test/wasm2js/get_local.2asm.js176
1 files changed, 169 insertions, 7 deletions
diff --git a/test/wasm2js/get_local.2asm.js b/test/wasm2js/get_local.2asm.js
index fe57868fe..29039b679 100644
--- a/test/wasm2js/get_local.2asm.js
+++ b/test/wasm2js/get_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() {
var $0_1 = 0;
@@ -102,23 +104,183 @@ function asmFunc(global, env, buffer) {
return +($10 + (+$1_1 + ($2_1 + (+($3_1 >>> 0) + (+($4_1 | 0) + (+Math_fround(5.5) + ($21 + (+(i64toi32_i32$1 >>> 0) + 4294967296.0 * +(i64toi32_i32$0 >>> 0) + 8.0))))))));
}
+ function legalstub$1() {
+ var i64toi32_i32$0 = 0, i64toi32_i32$4 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $7_1 = 0, $0_1 = 0, $0$hi = 0, i64toi32_i32$2 = 0;
+ i64toi32_i32$0 = $1() | 0;
+ i64toi32_i32$1 = i64toi32_i32$HIGH_BITS;
+ $0_1 = i64toi32_i32$0;
+ $0$hi = i64toi32_i32$1;
+ i64toi32_i32$2 = i64toi32_i32$0;
+ i64toi32_i32$0 = 0;
+ i64toi32_i32$3 = 32;
+ i64toi32_i32$4 = i64toi32_i32$3 & 31 | 0;
+ if (32 >>> 0 <= (i64toi32_i32$3 & 63 | 0) >>> 0) {
+ {
+ i64toi32_i32$0 = 0;
+ $7_1 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$0 = i64toi32_i32$1 >>> i64toi32_i32$4 | 0;
+ $7_1 = (((1 << i64toi32_i32$4 | 0) - 1 | 0) & i64toi32_i32$1 | 0) << (32 - i64toi32_i32$4 | 0) | 0 | (i64toi32_i32$2 >>> i64toi32_i32$4 | 0) | 0;
+ }
+ }
+ setTempRet0($7_1 | 0);
+ i64toi32_i32$0 = $0$hi;
+ return $0_1 | 0;
+ }
+
+ function legalstub$2() {
+ return +(+Math_fround($2()));
+ }
+
+ function legalstub$5($0_1, $1_1) {
+ $0_1 = $0_1 | 0;
+ $1_1 = $1_1 | 0;
+ var i64toi32_i32$2 = 0, i64toi32_i32$4 = 0, i64toi32_i32$0 = 0, i64toi32_i32$1 = 0, i64toi32_i32$3 = 0, $12 = 0, $13 = 0, $4_1 = 0, $4$hi = 0, $7$hi = 0, $2_1 = 0, $2$hi = 0;
+ i64toi32_i32$0 = 0;
+ $4_1 = $0_1;
+ $4$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;
+ $12 = 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;
+ $12 = i64toi32_i32$2 << i64toi32_i32$4 | 0;
+ }
+ }
+ $7$hi = i64toi32_i32$1;
+ i64toi32_i32$1 = $4$hi;
+ i64toi32_i32$0 = $4_1;
+ i64toi32_i32$2 = $7$hi;
+ i64toi32_i32$3 = $12;
+ i64toi32_i32$2 = i64toi32_i32$1 | i64toi32_i32$2 | 0;
+ i64toi32_i32$2 = $5(i64toi32_i32$0 | i64toi32_i32$3 | 0 | 0, i64toi32_i32$2 | 0) | 0;
+ i64toi32_i32$0 = i64toi32_i32$HIGH_BITS;
+ $2_1 = i64toi32_i32$2;
+ $2$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;
+ $13 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ }
+ } else {
+ {
+ i64toi32_i32$2 = i64toi32_i32$0 >>> i64toi32_i32$4 | 0;
+ $13 = (((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($13 | 0);
+ i64toi32_i32$2 = $2$hi;
+ return $2_1 | 0;
+ }
+
+ function legalstub$6($0_1) {
+ $0_1 = +$0_1;
+ return +(+Math_fround($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$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;
+ return +(+$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));
+ }
+
var FUNCTION_TABLE = [];
return {
type_local_i32: $0,
- type_local_i64: $1,
- type_local_f32: $2,
+ type_local_i64: legalstub$1,
+ type_local_f32: legalstub$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,
- read: $9
+ type_mixed: legalstub$8,
+ read: 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;