diff options
author | Alon Zakai <alonzakai@gmail.com> | 2012-05-11 21:17:47 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2012-05-11 21:17:47 -0700 |
commit | 725d1a3ab6c3d5d504bc4db81bac36c95deae4f1 (patch) | |
tree | efc4f06c04f302df743b668cb8c4dd87d1683a21 /tools/test-js-optimizer-regs-output.js | |
parent | b1ad0fe49869321309a70bfac7913023b58a4150 (diff) |
fix registerize bugs
Diffstat (limited to 'tools/test-js-optimizer-regs-output.js')
-rw-r--r-- | tools/test-js-optimizer-regs-output.js | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/tools/test-js-optimizer-regs-output.js b/tools/test-js-optimizer-regs-output.js index 8e5d2e63..c0c6c923 100644 --- a/tools/test-js-optimizer-regs-output.js +++ b/tools/test-js-optimizer-regs-output.js @@ -24,4 +24,42 @@ function test() { r3 = f(), r1 = 100, r1 = 1e3, r1 = 1e5; f(r3()); } -// EMSCRIPTEN_GENERATED_FUNCTIONS: ["test"] +function primes() { + var r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14; + r1 = 2; + r2 = 0; + $_$2 : while (1) { + r3 = r1 | 0; + r4 = _sqrtf(r3); + r5 = 2; + $_$4 : while (1) { + r6 = r5 | 0; + r7 = r6 < r4; + if (!r7) { + r8 = 1; + break $_$4; + } + r9 = (r1 | 0) % (r5 | 0); + r10 = (r9 | 0) == 0; + if (r10) { + r8 = 0; + break $_$4; + } + r11 = r5 + 1 | 0; + r5 = r11; + } + r12 = r8 + r2 | 0; + r13 = r1 + 1 | 0; + r14 = (r12 | 0) < 1e5; + if (r14) { + r1 = r13; + r2 = r12; + } else { + break $_$2; + } + } + r12 = _printf(STRING_TABLE.__str | 0, (tempInt = STACKTOP, STACKTOP += 4, HEAP32[tempInt >> 2] = r1, tempInt)); + return 1; + return null; +} +// EMSCRIPTEN_GENERATED_FUNCTIONS: ["test", "primes"] |