forked from kozorizki/binaryen
As noted in #4739, legacy language emitting nan and infinity exists, with the observation that it can be removed once asm.js is no longer used and global NaN is available. This commit removes that asm.js-specific code accordingly.
66 lines
1.7 KiB
Plaintext
66 lines
1.7 KiB
Plaintext
import * as env from 'env';
|
|
|
|
function asmFunc(imports) {
|
|
var Math_imul = Math.imul;
|
|
var Math_fround = Math.fround;
|
|
var Math_abs = Math.abs;
|
|
var Math_clz32 = Math.clz32;
|
|
var Math_min = Math.min;
|
|
var Math_max = Math.max;
|
|
var Math_floor = Math.floor;
|
|
var Math_ceil = Math.ceil;
|
|
var Math_trunc = Math.trunc;
|
|
var Math_sqrt = Math.sqrt;
|
|
var env = imports.env;
|
|
var setTempRet0 = env.setTempRet0;
|
|
var i64toi32_i32$HIGH_BITS = 0;
|
|
function legalstub$0($0, $1) {
|
|
var $2 = 0, $3 = 0;
|
|
$2 = 1;
|
|
while (1) {
|
|
if ($0 | $1) {
|
|
$2 = __wasm_i64_mul($0, $1, $2, $3);
|
|
$3 = i64toi32_i32$HIGH_BITS;
|
|
$1 = $1 - !$0 | 0;
|
|
$0 = $0 - 1 | 0;
|
|
continue;
|
|
}
|
|
break;
|
|
};
|
|
i64toi32_i32$HIGH_BITS = $3;
|
|
setTempRet0(i64toi32_i32$HIGH_BITS | 0);
|
|
return $2;
|
|
}
|
|
|
|
function __wasm_i64_mul($0, $1, $2, $3) {
|
|
var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
|
|
$4 = $2 >>> 16 | 0;
|
|
$5 = $0 >>> 16 | 0;
|
|
$9 = Math_imul($4, $5);
|
|
$6 = $2 & 65535;
|
|
$7 = $0 & 65535;
|
|
$8 = Math_imul($6, $7);
|
|
$5 = ($8 >>> 16 | 0) + Math_imul($5, $6) | 0;
|
|
$4 = ($5 & 65535) + Math_imul($4, $7) | 0;
|
|
i64toi32_i32$HIGH_BITS = (Math_imul($1, $2) + $9 | 0) + Math_imul($0, $3) + ($5 >>> 16) + ($4 >>> 16) | 0;
|
|
return $8 & 65535 | $4 << 16;
|
|
}
|
|
|
|
return {
|
|
"fac_expr": legalstub$0,
|
|
"fac_stack": legalstub$0,
|
|
"fac_stack_raw": legalstub$0,
|
|
"fac_mixed": legalstub$0,
|
|
"fac_mixed_raw": legalstub$0
|
|
};
|
|
}
|
|
|
|
var retasmFunc = asmFunc({
|
|
"env": env,
|
|
});
|
|
export var fac_expr = retasmFunc.fac_expr;
|
|
export var fac_stack = retasmFunc.fac_stack;
|
|
export var fac_stack_raw = retasmFunc.fac_stack_raw;
|
|
export var fac_mixed = retasmFunc.fac_mixed;
|
|
export var fac_mixed_raw = retasmFunc.fac_mixed_raw;
|