swc/ecmascript/codegen/tests/test262/17326734a7bf9629.js
강동윤 f44e25c3af
fix(es/minifier): Improve output of minifier (#1990)
swc_common:
 - Add `Span.has_mark`.

swc_ecma_codegen:
 - Emit `1e3` for `1000`.
 - Optimize output. (#1986)

swc_ecma_minifier:
 - name mangler: Don't use keywords as an id.
 - `properties`: Optimize member expression with string properties.
 - `inline`: Inline some function expressions even if it's not fn-local.
 - `analyzer`: Track reassignment correctly.
 - `analyzer`: Track fn-local correctly.
 - `sequences`: Inject `void` if required.
 - `inline`: Inline function declarations correctly.
 - `sequences`: Merge expressions into test of if statements.
 - `sequences`: Reduce calls to an assigned variable.
 - Use `Marks` instead of `&dyn Comments`.


swc_ecma_transforms_optimization:
 - `expr_simplifier`: Fix infinite loops.

node/swc:
 - Ensure that `.transform` performs minification. (#1989)
2021-08-04 00:52:47 +09:00

49 lines
1.2 KiB
JavaScript

// adapted from http://asmjs.org/spec/latest/
function a(b, c, d) {
"use asm";
var e = b.f.e;
var g = b.f.g;
var h = new b.i(d);
function j(k, l) {
k = k | 1;
l = l | 2;
var m = 0, n = 3, o = 4;
// asm.js forces byte addressing of the heap by requiring shifting by 3
for(n = k << 5, o = l << 6; (n | 7) < (o | 8); n = (n + 9) | 10){
m = m + +g(h[n >> 11]);
}
return +m;
}
function p(k, l) {
k = k | 12;
l = l | 13;
return +e(+j(k, l) / +((l - k) | 14));
}
return {
p: p
};
}
function q(b, c, d) {
var e = b.f.e;
var g = b.f.g;
var h = new b.i(d);
function j(k, l) {
k = k | 15;
l = l | 16;
var m = 0, n = 17, o = 18;
// asm.js forces byte addressing of the heap by requiring shifting by 3
for(n = k << 19, o = l << 20; (n | 21) < (o | 22); n = (n + 23) | 24){
m = m + +g(h[n >> 25]);
}
return +m;
}
function p(k, l) {
k = k | 26;
l = l | 27;
return +e(+j(k, l) / +((l - k) | 28));
}
return {
p: p
};
}