diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-07-25 19:37:57 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-07-25 19:56:24 -0700 |
commit | 068d558edc4eec5f47e3b258c23b8da9e2d22a5e (patch) | |
tree | 19caaa716e5575eccefd83a065187906769f8694 /tools/test-js-optimizer-asm-outline3.js | |
parent | 5ef6cf86f436762d7d02dee54e9c09dc19606111 (diff) |
fix bug in aggressive variable elimination and re-enable it
Diffstat (limited to 'tools/test-js-optimizer-asm-outline3.js')
-rw-r--r-- | tools/test-js-optimizer-asm-outline3.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tools/test-js-optimizer-asm-outline3.js b/tools/test-js-optimizer-asm-outline3.js new file mode 100644 index 00000000..119447d8 --- /dev/null +++ b/tools/test-js-optimizer-asm-outline3.js @@ -0,0 +1,30 @@ +function _memset(ptr, value, num) { + ptr = ptr | 0; + value = value | 0; + num = num | 0; + var stop = 0, value4 = 0, stop4 = 0, unaligned = 0; + stop = ptr + num | 0; + if ((num | 0) >= 20) { + value = value & 255; + unaligned = ptr & 3; + value4 = value | value << 8 | value << 16 | value << 24; + stop4 = stop & ~3; + if (unaligned) { + unaligned = ptr + 4 - unaligned | 0; + while ((ptr | 0) < (unaligned | 0)) { + HEAP8[ptr] = value; + ptr = ptr + 1 | 0; + } + } + while ((ptr | 0) < (stop4 | 0)) { + HEAP32[ptr >> 2] = value4; + ptr = ptr + 4 | 0; + } + } + while ((ptr | 0) < (stop | 0)) { + HEAP8[ptr] = value; + ptr = ptr + 1 | 0; + } +} +// EMSCRIPTEN_GENERATED_FUNCTIONS +// EXTRA_INFO: { "sizeToOutline": 100 } |