aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2012-10-25 14:05:54 -0700
committerAlon Zakai <alonzakai@gmail.com>2012-10-25 14:05:54 -0700
commit285e3b69a4939efb041130f02647b39f6096d398 (patch)
tree28f3e41215a599285411dd08686cb7f5633a4c3d
parentd66af7bc186e4b7dace889439921c64f85b927dc (diff)
remove var x; of completely unused vars, and restore previous test cases
-rw-r--r--tools/eliminator/eliminator-test-output.js4489
-rw-r--r--tools/eliminator/eliminator-test.js6069
-rw-r--r--tools/js-optimizer.js6
3 files changed, 10561 insertions, 3 deletions
diff --git a/tools/eliminator/eliminator-test-output.js b/tools/eliminator/eliminator-test-output.js
index 9ffe5062..992c0045 100644
--- a/tools/eliminator/eliminator-test-output.js
+++ b/tools/eliminator/eliminator-test-output.js
@@ -56,4 +56,4491 @@ function a() {
chak();
tor(HEAP[9]);
}
-// EMSCRIPTEN_GENERATED_FUNCTIONS: ["f", "g", "h", "py", "r", "t", "f2", "f3", "llvm3_1", "_inflate", "_malloc", "a"]
+function f() {
+ HEAP[123] = (GLOB[1] + 1) / 2;
+}
+function g(a1, a2) {
+ var a = 1;
+ var c = a * 2 - 1;
+ a = c;
+ foo(c);
+ foo(2);
+ for (var i = 0; i < 5; i++) {
+ var q = {
+ a: 1
+ } + [ 2, 3 ];
+ }
+ for (var iterator in SOME_GLOBAL) {
+ quux(iterator);
+ }
+ MAYBE_HEAP[myglobal] = 123;
+ if (HEAP[5] < 0) {
+ __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;
+ }
+ if (1) {
+ otherGlob = glob;
+ 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;
+ }
+}
+function py() {
+ HEAP[HEAP[HEAP[__PyThreadState_Current] + 12] + 1 + 12] = 99;
+}
+function otherPy() {
+ var $4 = HEAP[__PyThreadState_Current];
+ var $5 = $4 + 12;
+ var $7 = HEAP[$5] + 1;
+ var $8 = $4 + 12;
+ HEAP[$8] = $7;
+}
+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;
+});
+function r($0) {
+ HEAP[$0 + 7] = 107;
+}
+function t() {
+ if ($10 < $11) {
+ __label__ = 3;
+ }
+ if (!($12 < $13)) {
+ __label__ = 4;
+ }
+}
+function f2() {
+ var $_pre = HEAPU32[($vla + ($storemerge312 << 2) | 0) >> 2];
+ var $storemerge312 = $storemerge312 + 1 | 0;
+ var $8 = $_pre;
+ c($8);
+}
+function f3($s, $tree, $k) {
+ 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()) {
+ if ($curri_01 % $zj_0 == 0) {
+ break;
+ }
+ var $j_0 = $aj_0 + 1;
+ 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 $retval_0 = -2;
+ } else {
+ var $0 = HEAPU32[($strm + 28 | 0) >> 2];
+ if (($0 | 0) == 0) {
+ var $retval_0 = -2;
+ break;
+ }
+ var $next_out = $strm + 12 | 0;
+ var $1 = HEAP32[$next_out >> 2];
+ if (($1 | 0) == 0) {
+ var $retval_0 = -2;
+ break;
+ }
+ var $next_in = $strm | 0;
+ var $2 = HEAP32[$next_in >> 2];
+ if (($2 | 0) == 0) {
+ if (!((HEAP32[($strm + 4 | 0) >> 2] | 0) == 0)) {
+ var $retval_0 = -2;
+ break;
+ }
+ }
+ var $4 = $0;
+ var $mode = $0 | 0;
+ var $5 = HEAP32[$mode >> 2];
+ if (($5 | 0) == 11) {
+ HEAP32[$mode >> 2] = 12;
+ var $8 = HEAP32[$next_out >> 2];
+ var $7 = HEAP32[$next_in >> 2];
+ 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 $13 = $0 + 60 | 0;
+ 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 $18 = $0 + 32 | 0;
+ 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 $23 = ($flush - 5 | 0) >>> 0 < 2;
+ var $24 = $0 + 4 | 0;
+ var $cmp660 = ($flush | 0) == 6;
+ var $25 = $0 + 7108 | 0;
+ var $26 = $0 + 84 | 0;
+ var $27 = $0 + 76 | 0;
+ 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 $34 = $0 + 52 | 0;
+ 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 $next861 = $0 + 108 | 0;
+ var $42 = $next861;
+ var $43 = $next861 | 0;
+ var $arraydecay860_c = $0 + 1328 | 0;
+ var $44 = $0 + 76 | 0;
+ var $arraydecay864 = $lens;
+ var $arraydecay867 = $0 + 752 | 0;
+ var $45 = $0 + 624 | 0;
+ var $46 = $0 + 80 | 0;
+ var $47 = $0 + 88 | 0;
+ var $48 = $0 + 80 | 0;
+ var $ret_0 = 0;
+ var $next_0 = $7;
+ var $put_0 = $8;
+ var $have_0 = $10;
+ var $left_0 = $9;
+ var $hold_0 = HEAP32[$11 >> 2];
+ var $bits_0 = HEAP32[$13 >> 2];
+ 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];
+ if (($50 | 0) == 0) {
+ 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;
+ if (!($bits_1 >>> 0 < 16)) {
+ break;
+ }
+ if (($have_1 | 0) == 0) {
+ 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;
+ }
+ var $add = ((HEAPU8[$next_1] & 255) << $bits_1) + $hold_1 | 0;
+ var $next_1 = $next_1 + 1 | 0;
+ var $have_1 = $have_1 - 1 | 0;
+ var $hold_1 = $add;
+ var $bits_1 = $bits_1 + 8 | 0;
+ }
+ if (($50 & 2 | 0) != 0 & ($hold_1 | 0) == 35615) {
+ 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];
+ if (($53 | 0) == 0) {
+ var $54 = $50;
+ } else {
+ HEAP32[($53 + 48 | 0) >> 2] = -1;
+ var $54 = HEAP32[$15 >> 2];
+ }
+ var $54;
+ var $tobool56 = ($54 & 1 | 0) == 0;
+ do {
+ if (!$tobool56) {
+ if (!((((($hold_1 << 8 & 65280) + ($hold_1 >>> 8) | 0) >>> 0) % 31 | 0) == 0)) {
+ break;
+ }
+ if (($hold_1 & 15 | 0) == 8) {
+ var $shr74 = $hold_1 >>> 4;
+ var $sub = $bits_1 - 4 | 0;
+ var $add77 = ($shr74 & 15) + 8 | 0;
+ var $55 = HEAPU32[$19 >> 2];
+ var $cmp78 = ($55 | 0) == 0;
+ do {
+ if (!$cmp78) {
+ if (!($add77 >>> 0 > $55 >>> 0)) {
+ 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);
+ HEAP32[$20 >> 2] = 1 << $add77;
+ var $call91 = _adler32(0, 0, 0);
+ HEAP32[$16 >> 2] = $call91;
+ HEAP32[$adler >> 2] = $call91;
+ HEAP32[$mode >> 2] = $hold_1 >>> 12 & 2 ^ 11;
+ 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;
+ if (!($bits_2 >>> 0 < 16)) {
+ break;
+ }
+ if (($have_2 | 0) == 0) {
+ 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 $add113 = ((HEAPU8[$next_2] & 255) << $bits_2) + $hold_2 | 0;
+ var $next_2 = $next_2 + 1 | 0;
+ var $have_2 = $have_2 - 1 | 0;
+ var $hold_2 = $add113;
+ var $bits_2 = $bits_2 + 8 | 0;
+ }
+ HEAP32[$17 >> 2] = $hold_2;
+ if (!(($hold_2 & 255 | 0) == 8)) {
+ 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;
+ }
+ if (($hold_2 & 57344 | 0) == 0) {
+ var $59 = HEAPU32[$18 >> 2];
+ if (($59 | 0) == 0) {
+ var $60 = $hold_2;
+ } else {
+ HEAP32[($59 | 0) >> 2] = $hold_2 >>> 8 & 1;
+ var $60 = HEAP32[$17 >> 2];
+ }
+ var $60;
+ if (!(($60 & 512 | 0) == 0)) {
+ HEAP8[$arrayidx] = $hold_2 & 255;
+ HEAP8[$arrayidx40] = $hold_2 >>> 8 & 255;
+ 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 $next_11 = $next_0;
+ var $have_11 = $have_0;
+ var $hold_9 = $hold_0;
+ var $bits_9 = $bits_0;
+ var $89 = HEAP32[$17 >> 2];
+ __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;
+ if (!($bits_14 >>> 0 < 32)) {
+ break;
+ }
+ if (($have_18 | 0) == 0) {
+ 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 $add564 = ((HEAPU8[$next_18] & 255) << $bits_14) + $hold_14 | 0;
+ var $next_18 = $next_18 + 1 | 0;
+ var $have_18 = $have_18 - 1 | 0;
+ var $hold_14 = $add564;
+ var $bits_14 = $bits_14 + 8 | 0;
+ }
+ 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 $next_23 = $next_0;
+ var $have_23 = $have_0;
+ var $hold_19 = $hold_0 >>> ($and681 >>> 0);
+ var $bits_19 = $bits_0 - $and681 | 0;
+ while (1) {
+ var $bits_19;
+ var $hold_19;
+ var $have_23;
+ var $next_23;
+ if (!($bits_19 >>> 0 < 32)) {
+ break;
+ }
+ if (($have_23 | 0) == 0) {
+ 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 $add701 = ((HEAPU8[$next_23] & 255) << $bits_19) + $hold_19 | 0;
+ var $next_23 = $next_23 + 1 | 0;
+ var $have_23 = $have_23 - 1 | 0;
+ var $hold_19 = $add701;
+ var $bits_19 = $bits_19 + 8 | 0;
+ }
+ var $and708 = $hold_19 & 65535;
+ if (!(($and708 | 0) == ($hold_19 >>> 16 ^ 65535 | 0))) {
+ 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;
+ if (!($bits_22 >>> 0 < 14)) {
+ break;
+ }
+ if (($have_26 | 0) == 0) {
+ 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 $add767 = ((HEAPU8[$next_26] & 255) << $bits_22) + $hold_22 | 0;
+ var $next_26 = $next_26 + 1 | 0;
+ var $have_26 = $have_26 - 1 | 0;
+ var $hold_22 = $add767;
+ var $bits_22 = $bits_22 + 8 | 0;
+ }
+ var $add775 = ($hold_22 & 31) + 257 | 0;
+ HEAP32[$37 >> 2] = $add775;
+ var $add782 = ($hold_22 >>> 5 & 31) + 1 | 0;
+ HEAP32[$38 >> 2] = $add782;
+ HEAP32[$39 >> 2] = ($hold_22 >>> 10 & 15) + 4 | 0;
+ var $shr791 = $hold_22 >>> 14;
+ var $sub792 = $bits_22 - 14 | 0;
+ if ($add775 >>> 0 > 286 | $add782 >>> 0 > 30) {
+ HEAP32[$msg >> 2] = STRING_TABLE.__str8105 | 0;
+ HEAP32[$mode >> 2] = 29;
+ var $ret_0_be = $ret_0;
+ var $next_0_be = $next_26;
+ var $put_0_be = $put_0;
+ var $have_0_be = $have_26;
+ var $left_0_be = $left_0;
+ var $hold_0_be = $shr791;
+ var $bits_0_be = $sub792;
+ var $out_0_be = $out_0;
+ __label__ = 268;
+ break;
+ }
+ HEAP32[$40 >> 2] = 0;
+ HEAP32[$mode >> 2] = 17;
+ var $next_27 = $next_26;
+ var $have_27 = $have_26;
+ var $hold_23 = $shr791;
+ var $bits_23 = $sub792;
+ __label__ = 154;
+ break;
+ } else if (($49 | 0) == 17) {
+ var $next_27 = $next_0;
+ var $have_27 = $have_0;
+ var $hold_23 = $hold_0;
+ var $bits_23 = $bits_0;
+ __label__ = 154;
+ } else if (($49 | 0) == 18) {
+ var $ret_1_ph = $ret_0;
+ var $next_29_ph = $next_0;
+ var $have_29_ph = $have_0;
+ var $hold_25_ph = $hold_0;
+ var $bits_25_ph = $bits_0;
+ __label__ = 164;
+ } else if (($49 | 0) == 19) {
+ var $ret_2 = $ret_0;
+ var $next_37 = $next_0;
+ var $have_37 = $have_0;
+ var $hold_33 = $hold_0;
+ var $bits_33 = $bits_0;
+ __label__ = 205;
+ } else if (($49 | 0) == 20) {
+ var $ret_3 = $ret_0;
+ var $next_38 = $next_0;
+ var $have_38 = $have_0;
+ var $hold_34 = $hold_0;
+ var $bits_34 = $bits_0;
+ __label__ = 206;
+ } else if (($49 | 0) == 21) {
+ var $ret_4 = $ret_0;
+ var $next_42 = $next_0;
+ var $have_42 = $have_0;
+ var $hold_38 = $hold_0;
+ var $bits_38 = $bits_0;
+ var $156 = HEAP32[$28 >> 2];
+ __label__ = 227;
+ break;
+ } else if (($49 | 0) == 22) {
+ var $ret_5_ph = $ret_0;
+ var $next_45_ph = $next_0;
+ var $have_45_ph = $have_0;
+ var $hold_41_ph = $hold_0;
+ var $bits_41_ph = $bits_0;
+ __label__ = 234;
+ } else if (($49 | 0) == 23) {
+ var $ret_6 = $ret_0;
+ var $next_48 = $next_0;
+ var $have_48 = $have_0;
+ var $hold_44 = $hold_0;
+ var $bits_44 = $bits_0;
+ var $167 = HEAP32[$28 >> 2];
+ __label__ = 248;
+ break;
+ } else if (($49 | 0) == 24) {
+ var $ret_7 = $ret_0;
+ var $next_51 = $next_0;
+ var $have_51 = $have_0;
+ var $hold_47 = $hold_0;
+ var $bits_47 = $bits_0;
+ __label__ = 254;
+ } else if (($49 | 0) == 25) {
+ if (($left_0 | 0) == 0) {
+ var $ret_8 = $ret_0;
+ var $next_58 = $next_0;
+ var $have_58 = $have_0;
+ var $hold_54 = $hold_0;
+ var $bits_54 = $bits_0;
+ var $out_4 = $out_0;
+ break $_$12;
+ }
+ HEAP8[$put_0] = HEAP32[$21 >> 2] & 255;
+ HEAP32[$mode >> 2] = 20;
+ var $ret_0_be = $ret_0;
+ var $next_0_be = $next_0;
+ var $put_0_be = $put_0 + 1 | 0;
+ var $have_0_be = $have_0;
+ var $left_0_be = $left_0 - 1 | 0;
+ var $hold_0_be = $hold_0;
+ var $bits_0_be = $bits_0;
+ var $out_0_be = $out_0;
+ __label__ = 268;
+ break;
+ } else if (($49 | 0) == 26) {
+ var $tobool1626 = (HEAP32[$15 >> 2] | 0) == 0;
+ do {
+ if (!$tobool1626) {
+ var $next_52 = $next_0;
+ var $have_52 = $have_0;
+ var $hold_48 = $hold_0;
+ var $bits_48 = $bits_0;
+ while (1) {
+ var $bits_48;
+ var $hold_48;
+ var $have_52;
+ var $next_52;
+ if (!($bits_48 >>> 0 < 32)) {
+ break;
+ }
+ if (($have_52 | 0) == 0) {
+ var $ret_8 = $ret_0;
+ var $next_58 = $next_52;
+ var $have_58 = 0;
+ var $hold_54 = $hold_48;
+ var $bits_54 = $bits_48;
+ var $out_4 = $out_0;
+ break $_$12;
+ }
+ var $add1642 = ((HEAPU8[$next_52] & 255) << $bits_48) + $hold_48 | 0;
+ var $next_52 = $next_52 + 1 | 0;
+ var $have_52 = $have_52 - 1 | 0;
+ var $hold_48 = $add1642;
+ var $bits_48 = $bits_48 + 8 | 0;
+ }
+ var $sub1649 = $out_0 - $left_0 | 0;
+ HEAP32[$total_out >> 2] = HEAP32[$total_out >> 2] + $sub1649 | 0;
+ HEAP32[$36 >> 2] = HEAP32[$36 >> 2] + $sub1649 | 0;
+ if (!(($out_0 | 0) == ($left_0 | 0))) {
+ var $192 = HEAP32[$16 >> 2];
+ var $add_ptr1659 = $put_0 + (-$sub1649 | 0) | 0;
+ if ((HEAP32[$17 >> 2] | 0) == 0) {
+ var $call1665 = _adler32($192, $add_ptr1659, $sub1649);
+ var $cond1667 = $call1665;
+ } else {
+ var $call1660 = _crc32($192, $add_ptr1659, $sub1649);
+ var $cond1667 = $call1660;
+ }
+ var $cond1667;
+ HEAP32[$16 >> 2] = $cond1667;
+ HEAP32[$adler >> 2] = $cond1667;
+ }
+ if ((HEAP32[$17 >> 2] | 0) == 0) {
+ var $add1685 = _llvm_bswap_i32($hold_48);
+ var $cond1687 = $add1685;
+ } else {
+ var $cond1687 = $hold_48;
+ }
+ var $cond1687;
+ if (($cond1687 | 0) == (HEAP32[$16 >> 2] | 0)) {
+ var $next_53 = $next_52;
+ var $have_53 = $have_52;
+ var $hold_49 = 0;
+ var $bits_49 = 0;
+ var $out_1 = $left_0;
+ break;
+ }
+ HEAP32[$msg >> 2] = STRING_TABLE.__str17114 | 0;
+ HEAP32[$mode >> 2] = 29;
+ var $ret_0_be = $ret_0;
+ var $next_0_be = $next_52;
+ var $put_0_be = $put_0;
+ var $have_0_be = $have_52;
+ var $left_0_be = $left_0;
+ var $hold_0_be = $hold_48;
+ var $bits_0_be = $bits_48;
+ var $out_0_be = $left_0;
+ __label__ = 268;
+ break $_$14;
+ }
+ var $next_53 = $next_0;
+ var $have_53 = $have_0;
+ var $hold_49 = $hold_0;
+ var $bits_49 = $bits_0;
+ var $out_1 = $out_0;
+ } while (0);
+ var $out_1;
+ var $bits_49;
+ var $hold_49;
+ var $have_53;
+ var $next_53;
+ HEAP32[$mode >> 2] = 27;
+ var $next_54 = $next_53;
+ var $have_54 = $have_53;
+ var $hold_50 = $hold_49;
+ var $bits_50 = $bits_49;
+ var $out_2 = $out_1;
+ __label__ = 286;
+ break;
+ } else if (($49 | 0) == 27) {
+ var $next_54 = $next_0;
+ var $have_54 = $have_0;
+ var $hold_50 = $hold_0;
+ var $bits_50 = $bits_0;
+ var $out_2 = $out_0;
+ __label__ = 286;
+ } else if (($49 | 0) == 28) {
+ var $ret_8 = 1;
+ var $next_58 = $next_0;
+ var $have_58 = $have_0;
+ var $hold_54 = $hold_0;
+ var $bits_54 = $bits_0;
+ var $out_4 = $out_0;
+ break $_$12;
+ } else if (($49 | 0) == 29) {
+ var $ret_8 = -3;
+ var $next_58 = $next_0;
+ var $have_58 = $have_0;
+ var $hold_54 = $hold_0;
+ var $bits_54 = $bits_0;
+ var $out_4 = $out_0;
+ break $_$12;
+ } else if (($49 | 0) == 30) {
+ var $retval_0 = -4;
+ break $_$2;
+ } else {
+ var $retval_0 = -2;
+ break $_$2;
+ }
+ } while (0);
+ $_$106 : do {
+ if (__label__ == 44) {
+ while (1) {
+ var $bits_3;
+ var $hold_3;
+ var $have_3;
+ var $next_3;
+ if (!($bits_3 >>> 0 < 32)) {
+ break;
+ }
+ if (($have_3 | 0) == 0) {
+ var $ret_8 = $ret_0;
+ var $next_58 = $next_3;
+ var $have_58 = 0;
+ var $hold_54 = $hold_3;
+ var $bits_54 = $bits_3;
+ var $out_4 = $out_0;
+ break $_$12;
+ }
+ var $add176 = ((HEAPU8[$next_3] & 255) << $bits_3) + $hold_3 | 0;
+ var $next_3 = $next_3 + 1 | 0;
+ var $have_3 = $have_3 - 1 | 0;
+ var $hold_3 = $add176;
+ var $bits_3 = $bits_3 + 8 | 0;
+ }
+ var $63 = HEAP32[$18 >> 2];
+ if (!(($63 | 0) == 0)) {
+ HEAP32[($63 + 4 | 0) >> 2] = $hold_3;
+ }
+ if (!((HEAP32[$17 >> 2] & 512 | 0) == 0)) {
+ HEAP8[$arrayidx] = $hold_3 & 255;
+ HEAP8[$arrayidx40] = $hold_3 >>> 8 & 255;
+ HEAP8[$arrayidx199] = $hold_3 >>> 16 & 255;
+ HEAP8[$arrayidx202] = $hold_3 >>> 24 & 255;
+ var $65 = HEAP32[$16 >> 2];
+ var $call205 = _crc32($65, $arrayidx, 4);
+ HEAP32[$16 >> 2] = $call205;
+ }
+ HEAP32[$mode >> 2] = 3;
+ var $next_4 = $next_3;
+ var $have_4 = $have_3;
+ var $hold_4 = 0;
+ var $bits_4 = 0;
+ __label__ = 52;
+ break;
+ } else if (__label__ == 120) {
+ var $bits_15;
+ var $hold_15;
+ var $have_19;
+ var $next_19;
+ if ((HEAP32[$22 >> 2] | 0) == 0) {
+ HEAP32[$next_out >> 2] = $put_0;
+ HEAP32[$avail_out >> 2] = $left_0;
+ HEAP32[$next_in >> 2] = $next_19;
+ HEAP32[$avail_in15 >> 2] = $have_19;
+ HEAP32[$11 >> 2] = $hold_15;
+ HEAP32[$13 >> 2] = $bits_15;
+ var $retval_0 = 2;
+ break $_$2;
+ }
+ var $call602 = _adler32(0, 0, 0);
+ HEAP32[$16 >> 2] = $call602;
+ HEAP32[$adler >> 2] = $call602;
+ HEAP32[$mode >> 2] = 11;
+ var $next_20 = $next_19;
+ var $have_20 = $have_19;
+ var $hold_16 = $hold_15;
+ var $bits_16 = $bits_15;
+ __label__ = 123;
+ break;
+ } else if (__label__ == 143) {
+ var $bits_20;
+ var $hold_20;
+ var $have_24;
+ var $next_24;
+ HEAP32[$mode >> 2] = 15;
+ var $next_25 = $next_24;
+ var $have_25 = $have_24;
+ var $hold_21 = $hold_20;
+ var $bits_21 = $bits_20;
+ __label__ = 144;
+ break;
+ } else if (__label__ == 154) {
+ while (1) {
+ var $bits_23;
+ var $hold_23;
+ var $have_27;
+ var $next_27;
+ var $122 = HEAPU32[$40 >> 2];
+ if (!($122 >>> 0 < HEAPU32[$39 >> 2] >>> 0)) {
+ break;
+ }
+ var $next_28 = $next_27;
+ var $have_28 = $have_27;
+ var $hold_24 = $hold_23;
+ var $bits_24 = $bits_23;
+ while (1) {
+ var $bits_24;
+ var $hold_24;
+ var $have_28;
+ var $next_28;
+ if (!($bits_24 >>> 0 < 3)) {
+ break;
+ }