diff options
Diffstat (limited to 'tools/eliminator/eliminator-test.js')
-rw-r--r-- | tools/eliminator/eliminator-test.js | 6069 |
1 files changed, 6068 insertions, 1 deletions
diff --git a/tools/eliminator/eliminator-test.js b/tools/eliminator/eliminator-test.js index a0ba414d..ebbdc000 100644 --- a/tools/eliminator/eliminator-test.js +++ b/tools/eliminator/eliminator-test.js @@ -71,4 +71,6071 @@ function a() { tor($$e3); // TODO: (,a,b) 'seq' } -// EMSCRIPTEN_GENERATED_FUNCTIONS: ["f", "g", "h", "py", "r", "t", "f2", "f3", "llvm3_1", "_inflate", "_malloc", "a"] +function f() { + 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 + }; +} +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; + 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; + } +} +function py() { + var $4 = HEAP[__PyThreadState_Current]; + var $5 = $4 + 12; + var $7 = HEAP[$5] + 1; + var $8 = $7 + 12; + HEAP[$8] = 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 + 5 + 2] = 99+5+2+1; +} +function t() { + 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); +} +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; +} +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); + } +} +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 $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; + var $incdec_ptr764 = $next_26 + 1 | 0; + var $121 = HEAPU8[$next_26]; + var $conv765 = $121 & 255; + var $shl766 = $conv765 << $bits_22; + var $add767 = $shl766 + $hold_22 | 0; + var $add768 = $bits_22 + 8 | 0; + var $next_26 = $incdec_ptr764; + var $have_26 = $dec763; + var $hold_22 = $add767; + var $bits_22 = $add768; + } + var $and774 = $hold_22 & 31; + var $add775 = $and774 + 257 | 0; + HEAP32[$37 >> 2] = $add775; + var $shr777 = $hold_22 >>> 5; + var $and781 = $shr777 & 31; + var $add782 = $and781 + 1 | 0; + HEAP32[$38 >> 2] = $add782; + var $shr784 = $hold_22 >>> 10; + var $and788 = $shr784 & 15; + var $add789 = $and788 + 4 | 0; + HEAP32[$39 >> 2] = $add789; + var $shr791 = $hold_22 >>> 14; + var $sub792 = $bits_22 - 14 | 0; + var $cmp796 = $add775 >>> 0 > 286; + var $cmp800 = $add782 >>> 0 > 30; + var $or_cond894 = $cmp796 | $cmp800; + if ($or_cond894) { + 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 $_pre889 = HEAP32[$28 >> 2]; + 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 = $_pre889; + __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 $_pre891 = HEAP32[$28 >> 2]; + 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 = $_pre891; + __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) { + var $cmp1615 = ($left_0 | 0) == 0; + if ($cmp1615) { + 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; + } + var $186 = HEAP32[$21 >> 2]; + var $conv1620 = $186 & 255; + var $incdec_ptr1621 = $put_0 + 1 | 0; + HEAP8[$put_0] = $conv1620; + var $dec1622 = $left_0 - 1 | 0; + HEAP32[$mode >> 2] = 20; + var $ret_0_be = $ret_0; + var $next_0_be = $next_0; + var $put_0_be = $incdec_ptr1621; + var $have_0_be = $have_0; + var $left_0_be = $dec1622; + 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 $187 = HEAP32[$15 >> 2]; + var $tobool1626 = ($187 | 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; + var $cmp1630 = $bits_48 >>> 0 < 32; + if (!$cmp1630) { + break; + } + var $cmp1634 = ($have_52 | 0) == 0; + if ($cmp1634) { + 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 $dec1638 = $have_52 - 1 | 0; + var $incdec_ptr1639 = $next_52 + 1 | 0; + var $188 = HEAPU8[$next_52]; + var $conv1640 = $188 & 255; + var $shl1641 = $conv1640 << $bits_48; + var $add1642 = $shl1641 + $hold_48 | 0; + var $add1643 = $bits_48 + 8 | 0; + var $next_52 = $incdec_ptr1639; + var $have_52 = $dec1638; + var $hold_48 = $add1642; + var $bits_48 = $add1643; + } + var $sub1649 = $out_0 - $left_0 | 0; + var $189 = HEAP32[$total_out >> 2]; + var $add1650 = $189 + $sub1649 | 0; + HEAP32[$total_out >> 2] = $add1650; + var $190 = HEAP32[$36 >> 2]; + var $add1651 = $190 + $sub1649 | 0; + HEAP32[$36 >> 2] = $add1651; + var $tobool1652 = ($out_0 | 0) == ($left_0 | 0); + if (!$tobool1652) { + var $191 = HEAP32[$17 >> 2]; + var $tobool1655 = ($191 | 0) == 0; + var $192 = HEAP32[$16 >> 2]; + var $idx_neg1658 = -$sub1649 | 0; + var $add_ptr1659 = $put_0 + $idx_neg1658 | 0; + if ($tobool1655) { + 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; + } + var $193 = HEAP32[$17 >> 2]; + var $tobool1672 = ($193 | 0) == 0; + if ($tobool1672) { + var $add1685 = _llvm_bswap_i32($hold_48); + var $cond1687 = $add1685; + } else { + var $cond1687 = $hold_48; + } + var $cond1687; + var $194 = HEAP32[$16 >> 2]; + var $cmp1689 = ($cond1687 | 0) == ($194 | 0); + if ($cmp1689) { + 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; + |