aboutsummaryrefslogtreecommitdiff
path: root/tools/eliminator/eliminator-test.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-06-21 16:37:48 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-06-21 16:37:48 -0700
commitdf420614de18bf8fa8e45a88feabbecd3618b892 (patch)
tree147efa8ebb2c5cacbe83043d5d54c26e3b2ac43f /tools/eliminator/eliminator-test.js
parentfb9b76bd934414969e90b75671fd4c64bf689246 (diff)
update tests
Diffstat (limited to 'tools/eliminator/eliminator-test.js')
-rw-r--r--tools/eliminator/eliminator-test.js17258
1 files changed, 8629 insertions, 8629 deletions
diff --git a/tools/eliminator/eliminator-test.js b/tools/eliminator/eliminator-test.js
index 3edd61ac..ffad69ea 100644
--- a/tools/eliminator/eliminator-test.js
+++ b/tools/eliminator/eliminator-test.js
@@ -1,8856 +1,8856 @@
function a($directory) {
- var $1 = _strlen($directory);
- var $p_0 = $directory + $1 | 0;
- chak($p_0);
- var $210 = HEAP32[100]; // heaps alias each other! so this cannot be eliminated
- HEAP32[1e3] = HEAP32[5];
- HEAP32[90] = $210;
- chak();
- var $210a = HEAP32[100]; // function calls can also modify memory
- something();
- HEAP32[90] = $210a;
- chak();
- var $a = $hack; // no mem use (just a global), so ok to eliminate
- HEAP32[1e3] = HEAP32[5];
- HEAP32[90] = $a;
- chak();
- var $bb = HEAP32[11]; // ok to eliminate
- var $b = ($bb+7)|0; // ok to eliminate by itself, but not with inlined $bb which is mem-using!
- HEAP32[1e3] = HEAP32[5];
- HEAP32[90] = $b;
- chak();
- var $bb2 = HEAP32[11];
- HEAP32[111] = 321;
- var $b2 = ($bb2+7)|0;
- HEAP32[1e3] = HEAP32[5];
- HEAP32[90] = $b2;
- chak();
- var $d = HEAP32[100]; // alias on next line, but that is where we are consumed - so ok.
- HEAP32[1e3] = $d;
- chak();
- var $e = func();
- HEAP32[1e3] = $e;
- chak();
- var $e2 = func();
- tor($e2);
- chak();
- var $e3 = HEAP[9];
- tor($e3);
- barrier(); // same stuff, but with a var on top and assigns as the first and only def
- var $$210, $$210a, $$a, $$bb, $$b, $$bb2, $$b2, $$d, $$e, $$e2, $$e3;
- $$210 = HEAP32[100]; // heaps alias each other! so this cannot be eliminated
- HEAP32[1e3] = HEAP32[5];
- HEAP32[90] = $$210;
- chak();
- $$210a = HEAP32[100]; // function calls can also modify memory
- something();
- HEAP32[90] = $$210a;
- chak();
- $$a = $$hack; // no mem use, so ok to eliminate
- HEAP32[1e3] = HEAP32[5];
- HEAP32[90] = $$a;
- chak();
- $$bb = HEAP32[11]; // ok to eliminate
- $$b = ($$bb+7)|0; // ok to eliminate by itself, but not with inlined $$bb which is mem-using!
- HEAP32[1e3] = HEAP32[5];
- HEAP32[90] = $$b;
- chak();
- $$bb2 = HEAP32[11];
- HEAP32[111] = 321;
- $$b2 = ($$bb2+7)|0;
- HEAP32[1e3] = HEAP32[5];
- HEAP32[90] = $$b2;
- chak();
- $$d = HEAP32[100]; // alias on next line, but that is where we are consumed - so ok.
- HEAP32[1e3] = $$d;
- chak();
- $$e = func();
- HEAP32[1e3] = $$e;
- chak();
- $$e2 = func();
- tor($$e2);
- chak();
- $$e3 = HEAP[9];
- tor($$e3);
- barrier();
- var $65, $image, $51$s2, $71;
- var $66 = HEAP32[$65 >> 2];
- var $71 = $66 - _int_ceildiv(HEAP32[$image >> 2], HEAP32[$51$s2]) | 0;
- HEAP32[$65 >> 2] = _int_ceildivpow2($71, HEAP32[$51$s2 + 10]);
- barr();
- var ONCE = sheep();
- while (ONCE) {
- work();
- }
- var ONCEb = 75;
- while (ONCEb) {
- work();
- }
- var $26 = __ZL3minIiET_S0_S0_12(4096, 4096 - $16 | 0); // cannot eliminate this because the call might modify FUNCTION_TABLE
- var $27 = FUNCTION_TABLE[$22]($18, $this + ($16 + 27) | 0, $26);
- print($27);
- chak();
- var zzz = 10;
- do {
- print(zzz);
- } while (0);
- var zzz1 = 10;
- do {
- print(zzz1);
- } while (1); // cannot eliminate a do-while that is not one-time
+ var $1 = _strlen($directory);
+ var $p_0 = $directory + $1 | 0;
+ chak($p_0);
+ var $210 = HEAP32[100]; // heaps alias each other! so this cannot be eliminated
+ HEAP32[1e3] = HEAP32[5];
+ HEAP32[90] = $210;
+ chak();
+ var $210a = HEAP32[100]; // function calls can also modify memory
+ something();
+ HEAP32[90] = $210a;
+ chak();
+ var $a = $hack; // no mem use (just a global), so ok to eliminate
+ HEAP32[1e3] = HEAP32[5];
+ HEAP32[90] = $a;
+ chak();
+ var $bb = HEAP32[11]; // ok to eliminate
+ var $b = ($bb+7)|0; // ok to eliminate by itself, but not with inlined $bb which is mem-using!
+ HEAP32[1e3] = HEAP32[5];
+ HEAP32[90] = $b;
+ chak();
+ var $bb2 = HEAP32[11];
+ HEAP32[111] = 321;
+ var $b2 = ($bb2+7)|0;
+ HEAP32[1e3] = HEAP32[5];
+ HEAP32[90] = $b2;
+ chak();
+ var $d = HEAP32[100]; // alias on next line, but that is where we are consumed - so ok.
+ HEAP32[1e3] = $d;
+ chak();
+ var $e = func();
+ HEAP32[1e3] = $e;
+ chak();
+ var $e2 = func();
+ tor($e2);
+ chak();
+ var $e3 = HEAP[9];
+ tor($e3);
+ barrier(); // same stuff, but with a var on top and assigns as the first and only def
+ var $$210, $$210a, $$a, $$bb, $$b, $$bb2, $$b2, $$d, $$e, $$e2, $$e3;
+ $$210 = HEAP32[100]; // heaps alias each other! so this cannot be eliminated
+ HEAP32[1e3] = HEAP32[5];
+ HEAP32[90] = $$210;
+ chak();
+ $$210a = HEAP32[100]; // function calls can also modify memory
+ something();
+ HEAP32[90] = $$210a;
+ chak();
+ $$a = $$hack; // no mem use, so ok to eliminate
+ HEAP32[1e3] = HEAP32[5];
+ HEAP32[90] = $$a;
+ chak();
+ $$bb = HEAP32[11]; // ok to eliminate
+ $$b = ($$bb+7)|0; // ok to eliminate by itself, but not with inlined $$bb which is mem-using!
+ HEAP32[1e3] = HEAP32[5];
+ HEAP32[90] = $$b;
+ chak();
+ $$bb2 = HEAP32[11];
+ HEAP32[111] = 321;
+ $$b2 = ($$bb2+7)|0;
+ HEAP32[1e3] = HEAP32[5];
+ HEAP32[90] = $$b2;
+ chak();
+ $$d = HEAP32[100]; // alias on next line, but that is where we are consumed - so ok.
+ HEAP32[1e3] = $$d;
+ chak();
+ $$e = func();
+ HEAP32[1e3] = $$e;
+ chak();
+ $$e2 = func();
+ tor($$e2);
+ chak();
+ $$e3 = HEAP[9];
+ tor($$e3);
+ barrier();
+ var $65, $image, $51$s2, $71;
+ var $66 = HEAP32[$65 >> 2];
+ var $71 = $66 - _int_ceildiv(HEAP32[$image >> 2], HEAP32[$51$s2]) | 0;
+ HEAP32[$65 >> 2] = _int_ceildivpow2($71, HEAP32[$51$s2 + 10]);
+ barr();
+ var ONCE = sheep();
+ while (ONCE) {
+ work();
+ }
+ var ONCEb = 75;
+ while (ONCEb) {
+ work();
+ }
+ var $26 = __ZL3minIiET_S0_S0_12(4096, 4096 - $16 | 0); // cannot eliminate this because the call might modify FUNCTION_TABLE
+ var $27 = FUNCTION_TABLE[$22]($18, $this + ($16 + 27) | 0, $26);
+ print($27);
+ chak();
+ var zzz = 10;
+ do {
+ print(zzz);
+ } while (0);
+ var zzz1 = 10;
+ do {
+ print(zzz1);
+ } while (1); // cannot eliminate a do-while that is not one-time
}
function b() {
- var $148 = _sqlite3Strlen30($147);
- var $150 = HEAP32[$pExpr + 16 >> 2];
- if (($150 | 0) == 0) {
- var $156 = 0;
- } else {
- var $156 = HEAP32[$150 >> 2];
- }
- var $156;
- HEAP32[$139 + ($136 << 4) + 4 >> 2] = _sqlite3FindFunction($145, $147, $148, $156, $135, 0);
- farr();
- var $a = f1();
- var $b = f2() + $a; // this could be reordered to facilitate optimization
- f3($b);
- farr();
- var finality = cheez();
- return finality;
+ var $148 = _sqlite3Strlen30($147);
+ var $150 = HEAP32[$pExpr + 16 >> 2];
+ if (($150 | 0) == 0) {
+ var $156 = 0;
+ } else {
+ var $156 = HEAP32[$150 >> 2];
+ }
+ var $156;
+ HEAP32[$139 + ($136 << 4) + 4 >> 2] = _sqlite3FindFunction($145, $147, $148, $156, $135, 0);
+ farr();
+ var $a = f1();
+ var $b = f2() + $a; // this could be reordered to facilitate optimization
+ f3($b);
+ farr();
+ var finality = cheez();
+ return finality;
}
function c() {
- var x = MEM[100], y = callMe(5), z = glob; // do not eliminate vars with multiple variables, if there is a call!
- var w = x*2;
- zoom(z);
- hail(w);
- sunk(y);
- barrier();
- var x2 = MEM[100], y2 = $callMe2, z2 = glob; // no call, so ok
- var w2 = x2*2;
- zoom(z2);
- hail(w2);
- sunk(y2);
- var fly = you(fools);
- var one, two = three(); // more than one var here, so cannot eliminate |two=|, oh well
- var noneed;
- noneed = fools(you);
- var noneed2;
- noneed2 += fools(you2);
- return;
+ var x = MEM[100], y = callMe(5), z = glob; // do not eliminate vars with multiple variables, if there is a call!
+ var w = x*2;
+ zoom(z);
+ hail(w);
+ sunk(y);
+ barrier();
+ var x2 = MEM[100], y2 = $callMe2, z2 = glob; // no call, so ok
+ var w2 = x2*2;
+ zoom(z2);
+ hail(w2);
+ sunk(y2);
+ var fly = you(fools);
+ var one, two = three(); // more than one var here, so cannot eliminate |two=|, oh well
+ var noneed;
+ noneed = fools(you);
+ var noneed2;
+ noneed2 += fools(you2);
+ return;
}
function f() {
- var unused;
- var x = GLOB[1];
- var y = x + 1;
- var z = y / 2;
- HEAP[123] = z;
+ var unused;
+ var x = GLOB[1];
+ var y = x + 1;
+ var z = y / 2;
+ HEAP[123] = z;
}
function g(a1, a2) {
- var a = 1;
- var b = a * 2;
- var c = b - 1;
- var qqq = "qwe";
- a = c;
- foo(c);
- var ww = 1, www, zzz = 2;
- foo(zzz);
- for (var i = 0; i < 5; i++) {
- var q = {
- a: 1
- } + [ 2, 3 ];
- }
- for (var iterator in SOME_GLOBAL) {
- quux(iterator);
- }
- var $0 = HEAP[5];
- MAYBE_HEAP[myglobal] = 123;
- var $1 = $0 < 0;
- if ($1) {
- __label__ = 1;
- } else {
- __label__ = 2;
- }
- var sadijn = new asd;
- sadijn2 = "qwe%sert";
- this.Module || (this.Module = {});
- var obj = {
- 'quoted': 1,
- "doublequoted": 2,
- unquoted: 3,
- 4: 5
- };
+ var a = 1;
+ var b = a * 2;
+ var c = b - 1;
+ var qqq = "qwe";
+ a = c;
+ foo(c);
+ var ww = 1, www, zzz = 2;
+ foo(zzz);
+ for (var i = 0; i < 5; i++) {
+ var q = {
+ a: 1
+ } + [ 2, 3 ];
+ }
+ for (var iterator in SOME_GLOBAL) {
+ quux(iterator);
+ }
+ var $0 = HEAP[5];
+ MAYBE_HEAP[myglobal] = 123;
+ var $1 = $0 < 0;
+ if ($1) {
+ __label__ = 1;
+ } else {
+ __label__ = 2;
+ }
+ var sadijn = new asd;
+ sadijn2 = "qwe%sert";
+ this.Module || (this.Module = {});
+ var obj = {
+ 'quoted': 1,
+ "doublequoted": 2,
+ unquoted: 3,
+ 4: 5
+ };
}
function h() {
- var out;
- bar(hello);
- var hello = 5;
- if (0) {
- var sb1 = 21;
- }
- out = sb1;
- if (0) {
- var sb2 = 23;
- } else {
- out = sb2;
- }
- if (0) {
- out = sb3;
- } else {
- var sb3 = 23;
- }
- for (var it = 0; it < 5; it++) {
- x = y ? x + 1 : 7;
- var x = -5;
- }
- var oneUse = glob; // for now, cannot eliminate into body or else of if
- if (1) {
- otherGlob = oneUse;
- breakMe();
- }
- var oneUse2 = glob2;
- while (1) {
- otherGlob2 = oneUse2;
- breakMe();
- }
- return out;
+ var out;
+ bar(hello);
+ var hello = 5;
+ if (0) {
+ var sb1 = 21;
+ }
+ out = sb1;
+ if (0) {
+ var sb2 = 23;
+ } else {
+ out = sb2;
+ }
+ if (0) {
+ out = sb3;
+ } else {
+ var sb3 = 23;
+ }
+ for (var it = 0; it < 5; it++) {
+ x = y ? x + 1 : 7;
+ var x = -5;
+ }
+ var oneUse = glob; // for now, cannot eliminate into body or else of if
+ if (1) {
+ otherGlob = oneUse;
+ breakMe();
+ }
+ var oneUse2 = glob2;
+ while (1) {
+ otherGlob2 = oneUse2;
+ breakMe();
+ }
+ return out;
}
function strtok_part(b, j, f) {
- var a;
- for (;;) {
- h = a == 13 ? h : 0;
- a = HEAP[d + h];
- if (a == g != 0) break;
- var h = h + 1;
- if (a != 0) a = 13;
- }
+ var a;
+ for (;;) {
+ h = a == 13 ? h : 0;
+ a = HEAP[d + h];
+ if (a == g != 0) break;
+ var h = h + 1;
+ if (a != 0) a = 13;
+ }
}
function py() {
- var $4 = HEAP[__PyThreadState_Current];
- var $5 = $4 + 12;
- var $7 = HEAP[$5] + 1;
- var $8 = $7 + 12;
- HEAP[$8] = 99;
+ var $4 = HEAP[__PyThreadState_Current];
+ var $5 = $4 + 12;
+ var $7 = HEAP[$5] + 1;
+ var $8 = $7 + 12;
+ HEAP[$8] = 99;
}
var anon = function(x) {
- var $4 = HEAP[__PyThreadState_Current];
- var $5 = $4 + 12;
- var $7 = HEAP[$5] + 1;
- var $8 = $4 + 12;
- HEAP[$8] = $7;
+ var $4 = HEAP[__PyThreadState_Current];
+ var $5 = $4 + 12;
+ var $7 = HEAP[$5] + 1;
+ var $8 = $4 + 12;
+ HEAP[$8] = $7;
}
function r($0) {
- HEAP[$0 + 5 + 2] = 99+5+2+1;
+ HEAP[$0 + 5 + 2] = 99+5+2+1;
}
function t() {
- var $cmp2=($10) < ($11);
- if ($cmp2) { __label__ = 3; }
- var $cmp3=($12) < ($13);
- if (!($cmp3)) { __label__ = 4; }
+ var $cmp2=($10) < ($11);
+ if ($cmp2) { __label__ = 3; }
+ var $cmp3=($12) < ($13);
+ if (!($cmp3)) { __label__ = 4; }
}
function f2() {
- var $arrayidx64_phi_trans_insert = $vla + ($storemerge312 << 2) | 0;
- var $_pre = HEAPU32[$arrayidx64_phi_trans_insert >> 2];
- var $phitmp = $storemerge312 + 1 | 0;
- var $storemerge312 = $phitmp;
- var $8 = $_pre;
- c($8);
+ var $arrayidx64_phi_trans_insert = $vla + ($storemerge312 << 2) | 0;
+ var $_pre = HEAPU32[$arrayidx64_phi_trans_insert >> 2];
+ var $phitmp = $storemerge312 + 1 | 0;
+ var $storemerge312 = $phitmp;
+ var $8 = $_pre;
+ c($8);
}
function f3($s, $tree, $k) {
- // HEAP vars alias each other, and the loop can confuse us
- var $0 = HEAPU32[($s + 2908 + ($k << 2) | 0) >> 2];
- while (1) {
- HEAP32[($s + 2908 + ($storemerge_in << 2) | 0) >> 2] = $9;
- }
- HEAP32[($s + 2908 + ($storemerge_in << 2) | 0) >> 2] = $0;
+ // HEAP vars alias each other, and the loop can confuse us
+ var $0 = HEAPU32[($s + 2908 + ($k << 2) | 0) >> 2];
+ while (1) {
+ HEAP32[($s + 2908 + ($storemerge_in << 2) | 0) >> 2] = $9;
+ }
+ HEAP32[($s + 2908 + ($storemerge_in << 2) | 0) >> 2] = $0;
}
function llvm3_1() {
- while (check()) {
- var $inc = $aj_0 + 1;
- if ($curri_01 % $zj_0 == 0) {
- break;
- }
- var $j_0 = $inc;
- run($j_0 / 2);
+ while (check()) {
+ var $inc = $aj_0 + 1;
+ if ($curri_01 % $zj_0 == 0) {
+ break;
}
+ var $j_0 = $inc;
+ run($j_0 / 2);
+ }
}
function _inflate($strm, $flush) {
- var __stackBase__ = STACKTOP;
- STACKTOP += 4;
- var __label__;
- var $hbuf = __stackBase__;
- var $cmp = ($strm | 0) == 0;
- $_$2 : do {
- if ($cmp) {
+ var __stackBase__ = STACKTOP;
+ STACKTOP += 4;
+ var __label__;
+ var $hbuf = __stackBase__;
+ var $cmp = ($strm | 0) == 0;
+ $_$2 : do {
+ if ($cmp) {
+ var $retval_0 = -2;
+ } else {
+ var $state1 = $strm + 28 | 0;
+ var $0 = HEAPU32[$state1 >> 2];
+ var $cmp2 = ($0 | 0) == 0;
+ if ($cmp2) {
+ var $retval_0 = -2;
+ break;
+ }
+ var $next_out = $strm + 12 | 0;
+ var $1 = HEAP32[$next_out >> 2];
+ var $cmp4 = ($1 | 0) == 0;
+ if ($cmp4) {
+ var $retval_0 = -2;
+ break;
+ }
+ var $next_in = $strm | 0;
+ var $2 = HEAP32[$next_in >> 2];
+ var $cmp6 = ($2 | 0) == 0;
+ if ($cmp6) {
+ var $avail_in = $strm + 4 | 0;
+ var $3 = HEAP32[$avail_in >> 2];
+ var $cmp7 = ($3 | 0) == 0;
+ if (!$cmp7) {
+ var $retval_0 = -2;
+ break;
+ }
+ }
+ var $4 = $0;
+ var $mode = $0 | 0;
+ var $5 = HEAP32[$mode >> 2];
+ var $cmp9 = ($5 | 0) == 11;
+ if ($cmp9) {
+ HEAP32[$mode >> 2] = 12;
+ var $_pre = HEAP32[$next_out >> 2];
+ var $_pre882 = HEAP32[$next_in >> 2];
+ var $8 = $_pre;
+ var $7 = $_pre882;
+ var $6 = 12;
+ } else {
+ var $8 = $1;
+ var $7 = $2;
+ var $6 = $5;
+ }
+ var $6;
+ var $7;
+ var $8;
+ var $avail_out = $strm + 16 | 0;
+ var $9 = HEAP32[$avail_out >> 2];
+ var $avail_in15 = $strm + 4 | 0;
+ var $10 = HEAPU32[$avail_in15 >> 2];
+ var $11 = $0 + 56 | 0;
+ var $12 = HEAP32[$11 >> 2];
+ var $13 = $0 + 60 | 0;
+ var $14 = HEAP32[$13 >> 2];
+ var $15 = $0 + 8 | 0;
+ var $16 = $0 + 24 | 0;
+ var $arrayidx = $hbuf | 0;
+ var $arrayidx40 = $hbuf + 1 | 0;
+ var $17 = $0 + 16 | 0;
+ var $head = $0 + 32 | 0;
+ var $18 = $head;
+ var $msg = $strm + 24 | 0;
+ var $19 = $0 + 36 | 0;
+ var $20 = $0 + 20 | 0;
+ var $adler = $strm + 48 | 0;
+ var $21 = $0 + 64 | 0;
+ var $22 = $0 + 12 | 0;
+ var $flush_off = $flush - 5 | 0;
+ var $23 = $flush_off >>> 0 < 2;
+ var $24 = $0 + 4 | 0;
+ var $cmp660 = ($flush | 0) == 6;
+ var $25 = $0 + 7108 | 0;
+ var $26 = $0 + 84 | 0;
+ var $lencode1215 = $0 + 76 | 0;
+ var $27 = $lencode1215;
+ var $28 = $0 + 72 | 0;
+ var $29 = $0 + 7112 | 0;
+ var $30 = $0 + 68 | 0;
+ var $31 = $0 + 44 | 0;
+ var $32 = $0 + 7104 | 0;
+ var $33 = $0 + 48 | 0;
+ var $window = $0 + 52 | 0;
+ var $34 = $window;
+ var $35 = $0 + 40 | 0;
+ var $total_out = $strm + 20 | 0;
+ var $36 = $0 + 28 | 0;
+ var $arrayidx199 = $hbuf + 2 | 0;
+ var $arrayidx202 = $hbuf + 3 | 0;
+ var $37 = $0 + 96 | 0;
+ var $38 = $0 + 100 | 0;
+ var $39 = $0 + 92 | 0;
+ var $40 = $0 + 104 | 0;
+ var $lens = $0 + 112 | 0;
+ var $41 = $lens;
+ var $codes = $0 + 1328 | 0;
+ var $next861 = $0 + 108 | 0;
+ var $42 = $next861;
+ var $43 = $next861 | 0;
+ var $arraydecay860_c = $codes;
+ var $44 = $0 + 76 | 0;
+ var $arraydecay864 = $lens;
+ var $work = $0 + 752 | 0;
+ var $arraydecay867 = $work;
+ var $arrayidx1128 = $0 + 624 | 0;
+ var $45 = $arrayidx1128;
+ var $46 = $0 + 80 | 0;
+ var $47 = $0 + 88 | 0;
+ var $distcode1395 = $0 + 80 | 0;
+ var $48 = $distcode1395;
+ var $ret_0 = 0;
+ var $next_0 = $7;
+ var $put_0 = $8;
+ var $have_0 = $10;
+ var $left_0 = $9;
+ var $hold_0 = $12;
+ var $bits_0 = $14;
+ var $out_0 = $9;
+ var $49 = $6;
+ $_$12 : while (1) {
+ var $49;
+ var $out_0;
+ var $bits_0;
+ var $hold_0;
+ var $left_0;
+ var $have_0;
+ var $put_0;
+ var $next_0;
+ var $ret_0;
+ $_$14 : do {
+ if (($49 | 0) == 0) {
+ var $50 = HEAPU32[$15 >> 2];
+ var $cmp19 = ($50 | 0) == 0;
+ if ($cmp19) {
+ HEAP32[$mode >> 2] = 12;
+ var $ret_0_be = $ret_0;
+ var $next_0_be = $next_0;
+ var $put_0_be = $put_0;
+ var $have_0_be = $have_0;
+ var $left_0_be = $left_0;
+ var $hold_0_be = $hold_0;
+ var $bits_0_be = $bits_0;
+ var $out_0_be = $out_0;
+ __label__ = 268;
+ break;
+ }
+ var $next_1 = $next_0;
+ var $have_1 = $have_0;
+ var $hold_1 = $hold_0;
+ var $bits_1 = $bits_0;
+ while (1) {
+ var $bits_1;
+ var $hold_1;
+ var $have_1;
+ var $next_1;
+ var $cmp24 = $bits_1 >>> 0 < 16;
+ if (!$cmp24) {
+ break;
+ }
+ var $cmp26 = ($have_1 | 0) == 0;
+ if ($cmp26) {
+ var $ret_8 = $ret_0;
+ var $next_58 = $next_1;
+ var $have_58 = 0;
+ var $hold_54 = $hold_1;
+ var $bits_54 = $bits_1;
+ var $out_4 = $out_0;
+ break $_$12;
+ }
+ // XXX first chunk with a difference (no impact)
+ var $dec = $have_1 - 1 | 0;
+ var $incdec_ptr = $next_1 + 1 | 0;
+ var $51 = HEAPU8[$next_1];
+ var $conv = $51 & 255;
+ var $shl = $conv << $bits_1;
+ var $add = $shl + $hold_1 | 0;
+ var $add29 = $bits_1 + 8 | 0;
+ var $next_1 = $incdec_ptr;
+ var $have_1 = $dec;
+ var $hold_1 = $add;
+ var $bits_1 = $add29;
+ }
+ var $and = $50 & 2;
+ var $tobool = ($and | 0) != 0;
+ var $cmp34 = ($hold_1 | 0) == 35615;
+ var $or_cond = $tobool & $cmp34;
+ if ($or_cond) {
+ var $call = _crc32(0, 0, 0);
+ HEAP32[$16 >> 2] = $call;
+ HEAP8[$arrayidx] = 31;
+ HEAP8[$arrayidx40] = -117;
+ var $52 = HEAP32[$16 >> 2];
+ var $call42 = _crc32($52, $arrayidx, 2);
+ HEAP32[$16 >> 2] = $call42;
+ HEAP32[$mode >> 2] = 1;
+ var $ret_0_be = $ret_0;
+ var $next_0_be = $next_1;
+ var $put_0_be = $put_0;
+ var $have_0_be = $have_1;
+ var $left_0_be = $left_0;
+ var $hold_0_be = 0;
+ var $bits_0_be = 0;
+ var $out_0_be = $out_0;
+ __label__ = 268;
+ break;
+ }
+ HEAP32[$17 >> 2] = 0;
+ var $53 = HEAP32[$18 >> 2];
+ var $cmp49 = ($53 | 0) == 0;
+ if ($cmp49) {
+ var $54 = $50;
+ } else {
+ var $done = $53 + 48 | 0;
+ HEAP32[$done >> 2] = -1;
+ var $_pre884 = HEAP32[$15 >> 2];
+ var $54 = $_pre884;
+ }
+ var $54;
+ var $and55 = $54 & 1;
+ var $tobool56 = ($and55 | 0) == 0;
+ do {
+ if (!$tobool56) {
+ var $and58 = $hold_1 << 8;
+ var $shl59 = $and58 & 65280;
+ var $shr60 = $hold_1 >>> 8;
+ var $add61 = $shl59 + $shr60 | 0;
+ var $rem = ($add61 >>> 0) % 31;
+ var $tobool62 = ($rem | 0) == 0;
+ if (!$tobool62) {
+ break;
+ }
+ var $and66 = $hold_1 & 15;
+ var $cmp67 = ($and66 | 0) == 8;
+ if ($cmp67) {
+ var $shr74 = $hold_1 >>> 4;
+ var $sub = $bits_1 - 4 | 0;
+ var $and76 = $shr74 & 15;
+ var $add77 = $and76 + 8 | 0;
+ var $55 = HEAPU32[$19 >> 2];
+ var $cmp78 = ($55 | 0) == 0;
+ do {
+ if (!$cmp78) {
+ var $cmp83 = $add77 >>> 0 > $55 >>> 0;
+ if (!$cmp83) {
+ break;
+ }
+ HEAP32[$msg >> 2] = STRING_TABLE.__str3100 | 0;
+ HEAP32[$mode >> 2] = 29;
+ var $ret_0_be = $ret_0;
+ var $next_0_be = $next_1;
+ var $put_0_be = $put_0;
+ var $have_0_be = $have_1;
+ var $left_0_be = $left_0;
+ var $hold_0_be = $shr74;
+ var $bits_0_be = $sub;
+ var $out_0_be = $out_0;
+ __label__ = 268;
+ break $_$14;
+ }
+ HEAP32[$19 >> 2] = $add77;
+ } while (0);
+ var $shl90 = 1 << $add77;
+ HEAP32[$20 >> 2] = $shl90;
+ var $call91 = _adler32(0, 0, 0);
+ HEAP32[$16 >> 2] = $call91;
+ HEAP32[$adler >> 2] = $call91;
+ var $and93 = $hold_1 >>> 12;
+ var $56 = $and93 & 2;
+ var $57 = $56 ^ 11;
+ HEAP32[$mode >> 2] = $57;
+ var $ret_0_be = $ret_0;
+ var $next_0_be = $next_1;
+ var $put_0_be = $put_0;
+ var $have_0_be = $have_1;
+ var $left_0_be = $left_0;
+ var $hold_0_be = 0;
+ var $bits_0_be = 0;
+ var $out_0_be = $out_0;
+ __label__ = 268;
+ break $_$14;
+ }
+ HEAP32[$msg >> 2] = STRING_TABLE.__str299 | 0;
+ HEAP32[$mode >> 2] = 29;
+ var $ret_0_be = $ret_0;
+ var $next_0_be = $next_1;
+ var $put_0_be = $put_0;
+ var $have_0_be = $have_1;
+ var $left_0_be = $left_0;
+ var $hold_0_be = $hold_1;
+ var $bits_0_be = $bits_1;
+ var $out_0_be = $out_0;
+ __label__ = 268;
+ break $_$14;
+ }
+ } while (0);
+ HEAP32[$msg >> 2] = STRING_TABLE.__str198 | 0;
+ HEAP32[$mode >> 2] = 29;
+ var $ret_0_be = $ret_0;
+ var $next_0_be = $next_1;
+ var $put_0_be = $put_0;
+ var $have_0_be = $have_1;
+ var $left_0_be = $left_0;
+ var $hold_0_be = $hold_1;
+ var $bits_0_be = $bits_1;
+ var $out_0_be = $out_0;
+ __label__ = 268;
+ break;
+ } else if (($49 | 0) == 1) {
+ var $next_2 = $next_0;
+ var $have_2 = $have_0;
+ var $hold_2 = $hold_0;
+ var $bits_2 = $bits_0;
+ while (1) {
+ var $bits_2;
+ var $hold_2;
+ var $have_2;
+ var $next_2;
+ var $cmp101 = $bits_2 >>> 0 < 16;
+ if (!$cmp101) {
+ break;
+ }
+ var $cmp105 = ($have_2 | 0) == 0;
+ if ($cmp105) {
+ var $ret_8 = $ret_0;
+ var $next_58 = $next_2;
+ var $have_58 = 0;
+ var $hold_54 = $hold_2;
+ var $bits_54 = $bits_2;
+ var $out_4 = $out_0;
+ break $_$12;
+ }
+ var $dec109 = $have_2 - 1 | 0;
+ var $incdec_ptr110 = $next_2 + 1 | 0;
+ var $58 = HEAPU8[$next_2];
+ var $conv111 = $58 & 255;
+ var $shl112 = $conv111 << $bits_2;
+ var $add113 = $shl112 + $hold_2 | 0;
+ var $add114 = $bits_2 + 8 | 0;
+ var $next_2 = $incdec_ptr110;
+ var $have_2 = $dec109;
+ var $hold_2 = $add113;
+ var $bits_2 = $add114;
+ }
+ HEAP32[$17 >> 2] = $hold_2;
+ var $and120 = $hold_2 & 255;
+ var $cmp121 = ($and120 | 0) == 8;
+ if (!$cmp121) {
+ HEAP32[$msg >> 2] = STRING_TABLE.__str299 | 0;
+ HEAP32[$mode >> 2] = 29;
+ var $ret_0_be = $ret_0;
+ var $next_0_be = $next_2;
+ var $put_0_be = $put_0;
+ var $have_0_be = $have_2;
+ var $left_0_be = $left_0;
+ var $hold_0_be = $hold_2;
+ var $bits_0_be = $bits_2;
+ var $out_0_be = $out_0;
+ __label__ = 268;
+ break;
+ }
+ var $and128 = $hold_2 & 57344;
+ var $tobool129 = ($and128 | 0) == 0;
+ if ($tobool129) {
+ var $59 = HEAPU32[$18 >> 2];
+ var $cmp135 = ($59 | 0) == 0;
+ if ($cmp135) {
+ var $60 = $hold_2;
+ } else {
+ var $shr138 = $hold_2 >>> 8;
+ var $and139 = $shr138 & 1;
+ var $text = $59 | 0;
+ HEAP32[$text >> 2] = $and139;
+ var $_pre887 = HEAP32[$17 >> 2];
+ var $60 = $_pre887;
+ }
+ var $60;
+ var $and143 = $60 & 512;
+ var $tobool144 = ($and143 | 0) == 0;
+ if (!$tobool144) {
+ var $conv147 = $hold_2 & 255;
+ HEAP8[$arrayidx] = $conv147;
+ var $shr149 = $hold_2 >>> 8;
+ var $conv150 = $shr149 & 255;
+ HEAP8[$arrayidx40] = $conv150;
+ var $61 = HEAP32[$16 >> 2];
+ var $call154 = _crc32($61, $arrayidx, 2);
+ HEAP32[$16 >> 2] = $call154;
+ }
+ HEAP32[$mode >> 2] = 2;
+ var $next_3 = $next_2;
+ var $have_3 = $have_2;
+ var $hold_3 = 0;
+ var $bits_3 = 0;
+ __label__ = 44;
+ break;
+ }
+ HEAP32[$msg >> 2] = STRING_TABLE.__str4101 | 0;
+ HEAP32[$mode >> 2] = 29;
+ var $ret_0_be = $ret_0;
+ var $next_0_be = $next_2;
+ var $put_0_be = $put_0;
+ var $have_0_be = $have_2;
+ var $left_0_be = $left_0;
+ var $hold_0_be = $hold_2;
+ var $bits_0_be = $bits_2;
+ var $out_0_be = $out_0;
+ __label__ = 268;
+ break;
+ } else if (($49 | 0) == 2) {
+ var $next_3 = $next_0;
+ var $have_3 = $have_0;
+ var $hold_3 = $hold_0;
+ var $bits_3 = $bits_0;
+ __label__ = 44;
+ } else if (($49 | 0) == 3) {
+ var $next_4 = $next_0;
+ var $have_4 = $have_0;
+ var $hold_4 = $hold_0;
+ var $bits_4 = $bits_0;
+ __label__ = 52;
+ } else if (($49 | 0) == 4) {
+ var $next_5 = $next_0;
+ var $have_5 = $have_0;
+ var $hold_5 = $hold_0;
+ var $bits_5 = $bits_0;
+ __label__ = 60;
+ } else if (($49 | 0) == 5) {
+ var $next_8 = $next_0;
+ var $have_8 = $have_0;
+ var $hold_8 = $hold_0;
+ var $bits_8 = $bits_0;
+ __label__ = 71;
+ } else if (($49 | 0) == 6) {
+ var $_pre888 = HEAP32[$17 >> 2];
+ var $next_11 = $next_0;
+ var $have_11 = $have_0;
+ var $hold_9 = $hold_0;
+ var $bits_9 = $bits_0;
+ var $89 = $_pre888;
+ __label__ = 81;
+ break;
+ } else if (($49 | 0) == 7) {
+ var $next_13 = $next_0;
+ var $have_13 = $have_0;
+ var $hold_10 = $hold_0;
+ var $bits_10 = $bits_0;
+ __label__ = 94;
+ } else if (($49 | 0) == 8) {
+ var $next_15 = $next_0;
+ var $have_15 = $have_0;
+ var $hold_11 = $hold_0;
+ var $bits_11 = $bits_0;
+ __label__ = 107;
+ } else if (($49 | 0) == 9) {
+ var $next_18 = $next_0;
+ var $have_18 = $have_0;
+ var $hold_14 = $hold_0;
+ var $bits_14 = $bits_0;
+ while (1) {
+ var $bits_14;
+ var $hold_14;
+ var $have_18;
+ var $next_18;
+ var $cmp552 = $bits_14 >>> 0 < 32;
+ if (!$cmp552) {
+ break;
+ }
+ var $cmp556 = ($have_18 | 0) == 0;
+ if ($cmp556) {
+ var $ret_8 = $ret_0;
+ var $next_58 = $next_18;
+ var $have_58 = 0;
+ var $hold_54 = $hold_14;
+ var $bits_54 = $bits_14;
+ var $out_4 = $out_0;
+ break $_$12;
+ }
+ var $dec560 = $have_18 - 1 | 0;
+ var $incdec_ptr561 = $next_18 + 1 | 0;
+ var $114 = HEAPU8[$next_18];
+ var $conv562 = $114 & 255;
+ var $shl563 = $conv562 << $bits_14;
+ var $add564 = $shl563 + $hold_14 | 0;
+ var $add565 = $bits_14 + 8 | 0;
+ var $next_18 = $incdec_ptr561;
+ var $have_18 = $dec560;
+ var $hold_14 = $add564;
+ var $bits_14 = $add565;
+ }
+ var $add581 = _llvm_bswap_i32($hold_14);
+ HEAP32[$16 >> 2] = $add581;
+ HEAP32[$adler >> 2] = $add581;
+ HEAP32[$mode >> 2] = 10;
+ var $next_19 = $next_18;
+ var $have_19 = $have_18;
+ var $hold_15 = 0;
+ var $bits_15 = 0;
+ __label__ = 120;
+ break;
+ } else if (($49 | 0) == 10) {
+ var $next_19 = $next_0;
+ var $have_19 = $have_0;
+ var $hold_15 = $hold_0;
+ var $bits_15 = $bits_0;
+ __label__ = 120;
+ } else if (($49 | 0) == 11) {
+ var $next_20 = $next_0;
+ var $have_20 = $have_0;
+ var $hold_16 = $hold_0;
+ var $bits_16 = $bits_0;
+ __label__ = 123;
+ } else if (($49 | 0) == 12) {
+ var $next_21 = $next_0;
+ var $have_21 = $have_0;
+ var $hold_17 = $hold_0;
+ var $bits_17 = $bits_0;
+ __label__ = 124;
+ } else if (($49 | 0) == 13) {
+ var $and681 = $bits_0 & 7;
+ var $shr682 = $hold_0 >>> ($and681 >>> 0);
+ var $sub684 = $bits_0 - $and681 | 0;
+ var $next_23 = $next_0;
+ var $have_23 = $have_0;
+ var $hold_19 = $shr682;
+ var $bits_19 = $sub684;
+ while (1) {
+ var $bits_19;
+ var $hold_19;
+ var $have_23;
+ var $next_23;
+ var $cmp689 = $bits_19 >>> 0 < 32;
+ if (!$cmp689) {
+ break;
+ }
+ var $cmp693 = ($have_23 | 0) == 0;
+ if ($cmp693) {
+ var $ret_8 = $ret_0;
+ var $next_58 = $next_23;
+ var $have_58 = 0;
+ var $hold_54 = $hold_19;
+ var $bits_54 = $bits_19;
+ var $out_4 = $out_0;
+ break $_$12;
+ }
+ var $dec697 = $have_23 - 1 | 0;
+ var $incdec_ptr698 = $next_23 + 1 | 0;
+ var $118 = HEAPU8[$next_23];
+ var $conv699 = $118 & 255;
+ var $shl700 = $conv699 << $bits_19;
+ var $add701 = $shl700 + $hold_19 | 0;
+ var $add702 = $bits_19 + 8 | 0;
+ var $next_23 = $incdec_ptr698;
+ var $have_23 = $dec697;
+ var $hold_19 = $add701;
+ var $bits_19 = $add702;
+ }
+ var $and708 = $hold_19 & 65535;
+ var $shr709 = $hold_19 >>> 16;
+ var $xor = $shr709 ^ 65535;
+ var $cmp710 = ($and708 | 0) == ($xor | 0);
+ if (!$cmp710) {
+ HEAP32[$msg >> 2] = STRING_TABLE.__str7104 | 0;
+ HEAP32[$mode >> 2] = 29;
+ var $ret_0_be = $ret_0;
+ var $next_0_be = $next_23;
+ var $put_0_be = $put_0;
+ var $have_0_be = $have_23;
+ var $left_0_be = $left_0;
+ var $hold_0_be = $hold_19;
+ var $bits_0_be = $bits_19;
+ var $out_0_be = $out_0;
+ __label__ = 268;
+ break;
+ }
+ HEAP32[$21 >> 2] = $and708;
+ HEAP32[$mode >> 2] = 14;
+ if ($cmp660) {
+ var $ret_8 = $ret_0;
+ var $next_58 = $next_23;
+ var $have_58 = $have_23;
+ var $hold_54 = 0;
+ var $bits_54 = 0;
+ var $out_4 = $out_0;
+ break $_$12;
+ }
+ var $next_24 = $next_23;
+ var $have_24 = $have_23;
+ var $hold_20 = 0;
+ var $bits_20 = 0;
+ __label__ = 143;
+ break;
+ } else if (($49 | 0) == 14) {
+ var $next_24 = $next_0;
+ var $have_24 = $have_0;
+ var $hold_20 = $hold_0;
+ var $bits_20 = $bits_0;
+ __label__ = 143;
+ } else if (($49 | 0) == 15) {
+ var $next_25 = $next_0;
+ var $have_25 = $have_0;
+ var $hold_21 = $hold_0;
+ var $bits_21 = $bits_0;
+ __label__ = 144;
+ } else if (($49 | 0) == 16) {
+ var $next_26 = $next_0;
+ var $have_26 = $have_0;
+ var $hold_22 = $hold_0;
+ var $bits_22 = $bits_0;
+ while (1) {
+ var $bits_22;
+ var $hold_22;
+ var $have_26;
+ var $next_26;
+ var $cmp755 = $bits_22 >>> 0 < 14;
+ if (!$cmp755) {
+ break;
+ }
+ var $cmp759 = ($have_26 | 0) == 0;
+ if ($cmp759) {
+ var $ret_8 = $ret_0;
+ var $next_58 = $next_26;
+ var $have_58 = 0;
+ var $hold_54 = $hold_22;
+ var $bits_54 = $bits_22;
+ var $out_4 = $out_0;
+ break $_$12;
+ }
+ var $dec763 = $have_26 - 1 | 0;