diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-07-16 17:42:40 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-07-16 17:42:40 -0700 |
commit | f5f36712af0284244f60c109623938841b846948 (patch) | |
tree | 84e1010beae493dd564027c05898a1dd16b7d329 /tools/test-js-optimizer-asm-outline1-output.js | |
parent | 4260723fdf4c436a7999c9b3eefb8cd0e8b1208a (diff) |
fix break forwarding in outlined code
Diffstat (limited to 'tools/test-js-optimizer-asm-outline1-output.js')
-rw-r--r-- | tools/test-js-optimizer-asm-outline1-output.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tools/test-js-optimizer-asm-outline1-output.js b/tools/test-js-optimizer-asm-outline1-output.js index 0949865a..b89402c6 100644 --- a/tools/test-js-optimizer-asm-outline1-output.js +++ b/tools/test-js-optimizer-asm-outline1-output.js @@ -37,6 +37,20 @@ function lin3() { } return 20; } +function lin4() { + while (1) { + c(1); + c(2); + c(3); + c(4); + lin4$1(sp); + lin4$0(sp); + if (HEAP32[sp + 0 >> 2] == 1) { + break; + } + } + return 20; +} function lin$0(sp) { sp = sp | 0; c(13); @@ -105,4 +119,29 @@ function lin3$1(sp) { c(12); c(13); } +function lin4$0(sp) { + sp = sp | 0; + OL : do { + c(13); + c(14); + c(15); + c(16); + c(17); + c(18); + c(19); + c(20); + HEAP32[sp + 0 >> 2] = 1, break OL; + } while (0); +} +function lin4$1(sp) { + sp = sp | 0; + c(5); + c(6); + c(7); + c(8); + c(9); + c(10); + c(11); + c(12); +} |