diff options
author | Alon Zakai <alonzakai@gmail.com> | 2013-07-23 14:36:51 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-07-23 14:36:51 -0700 |
commit | fe6cf455e3169606442042579c521a1c30b42ad2 (patch) | |
tree | 3daf6314c7e5bb5b4d6330c2315d5bed6a844f57 /tools/test-js-optimizer-asm-outline1-output.js | |
parent | 95cde8ac9710f13a44815ca6fdd8e6eea69a21f3 (diff) |
use a separate stack location for control variable information for each outlined function, to avoid problems when outlining right through the support code for a previous outlining
Diffstat (limited to 'tools/test-js-optimizer-asm-outline1-output.js')
-rw-r--r-- | tools/test-js-optimizer-asm-outline1-output.js | 282 |
1 files changed, 141 insertions, 141 deletions
diff --git a/tools/test-js-optimizer-asm-outline1-output.js b/tools/test-js-optimizer-asm-outline1-output.js index 6ef32f54..8d1071a9 100644 --- a/tools/test-js-optimizer-asm-outline1-output.js +++ b/tools/test-js-optimizer-asm-outline1-output.js @@ -1,33 +1,33 @@ function lin() { var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; + STACKTOP = STACKTOP + 72 | 0; c(1); c(2); c(3); c(4); - HEAP32[sp + 0 >> 2] = 0; - HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 16 >> 2] = 0; + HEAP32[sp + 20 >> 2] = 0; sp = lin$1(sp) | 0; - HEAP32[sp + 0 >> 2] = 0; HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 12 >> 2] = 0; sp = lin$0(sp) | 0; STACKTOP = sp; } function lin2() { var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; + STACKTOP = STACKTOP + 72 | 0; while (1) { c(1); c(2); c(3); c(4); - HEAP32[sp + 0 >> 2] = 0; - HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 16 >> 2] = 0; + HEAP32[sp + 20 >> 2] = 0; sp = lin2$1(sp) | 0; - HEAP32[sp + 0 >> 2] = 0; HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 12 >> 2] = 0; sp = lin2$0(sp) | 0; } STACKTOP = sp; @@ -35,24 +35,24 @@ function lin2() { function lin3() { var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; + STACKTOP = STACKTOP + 72 | 0; while (1) { c(1); c(2); c(3); c(4); c(5); - HEAP32[sp + 0 >> 2] = 0; - HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 16 >> 2] = 0; + HEAP32[sp + 20 >> 2] = 0; sp = lin3$1(sp) | 0; - HEAP32[sp + 0 >> 2] = 0; HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 12 >> 2] = 0; sp = lin3$0(sp) | 0; - tempValue = HEAP32[sp + 0 >> 2] | 0; - tempInt = HEAP32[sp + 8 >> 2] | 0; - tempDouble = +HEAPF32[sp + 8 >> 2]; - HEAP32[sp + 0 >> 2] = 0; + tempValue = HEAP32[sp + 8 >> 2] | 0; + tempInt = HEAP32[sp + 12 >> 2] | 0; + tempDouble = +HEAPF32[sp + 12 >> 2]; HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 12 >> 2] = 0; if ((tempValue | 0) == 6) { STACKTOP = sp; return tempInt | 0; @@ -64,23 +64,23 @@ function lin3() { function lin4() { var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; + STACKTOP = STACKTOP + 72 | 0; while (1) { c(1); c(2); c(3); c(4); - HEAP32[sp + 0 >> 2] = 0; - HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 16 >> 2] = 0; + HEAP32[sp + 20 >> 2] = 0; sp = lin4$1(sp) | 0; - HEAP32[sp + 0 >> 2] = 0; HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 12 >> 2] = 0; sp = lin4$0(sp) | 0; - tempValue = HEAP32[sp + 0 >> 2] | 0; - tempInt = HEAP32[sp + 8 >> 2] | 0; - tempDouble = +HEAPF32[sp + 8 >> 2]; - HEAP32[sp + 0 >> 2] = 0; + tempValue = HEAP32[sp + 8 >> 2] | 0; + tempInt = HEAP32[sp + 12 >> 2] | 0; + tempDouble = +HEAPF32[sp + 12 >> 2]; HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 12 >> 2] = 0; if ((tempValue | 0) == 1) { break; } @@ -91,23 +91,23 @@ function lin4() { function lin5() { var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; + STACKTOP = STACKTOP + 72 | 0; while (1) { c(1); c(2); c(3); c(4); - HEAP32[sp + 0 >> 2] = 0; - HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 16 >> 2] = 0; + HEAP32[sp + 20 >> 2] = 0; sp = lin5$1(sp) | 0; - HEAP32[sp + 0 >> 2] = 0; HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 12 >> 2] = 0; sp = lin5$0(sp) | 0; - tempValue = HEAP32[sp + 0 >> 2] | 0; - tempInt = HEAP32[sp + 8 >> 2] | 0; - tempDouble = +HEAPF32[sp + 8 >> 2]; - HEAP32[sp + 0 >> 2] = 0; + tempValue = HEAP32[sp + 8 >> 2] | 0; + tempInt = HEAP32[sp + 12 >> 2] | 0; + tempDouble = +HEAPF32[sp + 12 >> 2]; HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 12 >> 2] = 0; if ((tempValue | 0) == 3) { continue; } @@ -118,7 +118,7 @@ function lin5() { function mix() { var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 16 | 0; + STACKTOP = STACKTOP + 88 | 0; main : while (1) { c(1); c(2); @@ -127,17 +127,17 @@ function mix() { c(5); c(6); c(7); - HEAP32[sp + 0 >> 2] = 0; - HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 16 >> 2] = 0; + HEAP32[sp + 20 >> 2] = 0; sp = mix$1(sp) | 0; - HEAP32[sp + 0 >> 2] = 0; HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 12 >> 2] = 0; sp = mix$0(sp) | 0; - tempValue = HEAP32[sp + 0 >> 2] | 0; - tempInt = HEAP32[sp + 8 >> 2] | 0; - tempDouble = +HEAPF32[sp + 8 >> 2]; - HEAP32[sp + 0 >> 2] = 0; + tempValue = HEAP32[sp + 8 >> 2] | 0; + tempInt = HEAP32[sp + 12 >> 2] | 0; + tempDouble = +HEAPF32[sp + 12 >> 2]; HEAP32[sp + 8 >> 2] = 0; + HEAP32[sp + 12 >> 2] = 0; if ((tempValue | 0) == 1) { break; } @@ -169,16 +169,16 @@ function vars(x, y) { y = +y; var sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 32 | 0; - HEAP32[sp + 16 >> 2] = 0; - HEAP32[sp + 24 >> 2] = 0; - HEAP32[sp + 0 >> 2] = x; - HEAPF32[sp + 8 >> 2] = y; + STACKTOP = STACKTOP + 88 | 0; + HEAP32[sp + 32 >> 2] = 0; + HEAP32[sp + 36 >> 2] = 0; + HEAP32[sp + 8 >> 2] = x; + HEAPF32[sp + 16 >> 2] = y; sp = vars$1(sp) | 0; - HEAP32[sp + 16 >> 2] = 0; HEAP32[sp + 24 >> 2] = 0; - HEAP32[sp + 0 >> 2] = x; - HEAPF32[sp + 8 >> 2] = y; + HEAP32[sp + 28 >> 2] = 0; + HEAP32[sp + 8 >> 2] = x; + HEAPF32[sp + 16 >> 2] = y; sp = vars$0(sp) | 0; STACKTOP = sp; } @@ -187,18 +187,18 @@ function vars2(x, y) { y = +y; var a = 0, b = +0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48 | 0; + STACKTOP = STACKTOP + 88 | 0; a = x + y; b = y * x; a = c(1 + a); b = c(2 + b); - HEAP32[sp + 32 >> 2] = 0; HEAP32[sp + 40 >> 2] = 0; - HEAP32[sp + 16 >> 2] = a; - HEAPF32[sp + 24 >> 2] = b; + HEAP32[sp + 44 >> 2] = 0; + HEAP32[sp + 24 >> 2] = a; + HEAPF32[sp + 32 >> 2] = b; sp = vars2$0(sp) | 0; - a = HEAP32[sp + 16 >> 2] | 0; - b = +HEAPF32[sp + 24 >> 2]; + a = HEAP32[sp + 24 >> 2] | 0; + b = +HEAPF32[sp + 32 >> 2]; STACKTOP = sp; } function vars3(x, y) { @@ -206,21 +206,21 @@ function vars3(x, y) { y = +y; var a = 0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 40 | 0; - HEAP32[sp + 24 >> 2] = 0; - HEAP32[sp + 32 >> 2] = 0; - HEAP32[sp + 16 >> 2] = a; - HEAP32[sp + 0 >> 2] = x; - HEAPF32[sp + 8 >> 2] = y; + STACKTOP = STACKTOP + 96 | 0; + HEAP32[sp + 40 >> 2] = 0; + HEAP32[sp + 44 >> 2] = 0; + HEAP32[sp + 24 >> 2] = a; + HEAP32[sp + 8 >> 2] = x; + HEAPF32[sp + 16 >> 2] = y; sp = vars3$1(sp) | 0; - a = HEAP32[sp + 16 >> 2] | 0; - HEAP32[sp + 24 >> 2] = 0; + a = HEAP32[sp + 24 >> 2] | 0; HEAP32[sp + 32 >> 2] = 0; - HEAP32[sp + 16 >> 2] = a; - HEAPF32[sp + 8 >> 2] = y; - HEAP32[sp + 0 >> 2] = x; + HEAP32[sp + 36 >> 2] = 0; + HEAP32[sp + 24 >> 2] = a; + HEAPF32[sp + 16 >> 2] = y; + HEAP32[sp + 8 >> 2] = x; sp = vars3$0(sp) | 0; - a = HEAP32[sp + 16 >> 2] | 0; + a = HEAP32[sp + 24 >> 2] | 0; STACKTOP = sp; } function vars4(x, y) { @@ -228,25 +228,25 @@ function vars4(x, y) { y = +y; var a = 0, b = +0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 48 | 0; + STACKTOP = STACKTOP + 104 | 0; a = x + y; - HEAP32[sp + 32 >> 2] = 0; - HEAP32[sp + 40 >> 2] = 0; - HEAPF32[sp + 8 >> 2] = y; - HEAP32[sp + 0 >> 2] = x; - HEAP32[sp + 16 >> 2] = a; - HEAPF32[sp + 24 >> 2] = b; + HEAP32[sp + 48 >> 2] = 0; + HEAP32[sp + 52 >> 2] = 0; + HEAPF32[sp + 16 >> 2] = y; + HEAP32[sp + 8 >> 2] = x; + HEAP32[sp + 24 >> 2] = a; + HEAPF32[sp + 32 >> 2] = b; sp = vars4$1(sp) | 0; - b = +HEAPF32[sp + 24 >> 2]; - a = HEAP32[sp + 16 >> 2] | 0; - HEAP32[sp + 32 >> 2] = 0; + b = +HEAPF32[sp + 32 >> 2]; + a = HEAP32[sp + 24 >> 2] | 0; HEAP32[sp + 40 >> 2] = 0; - HEAP32[sp + 16 >> 2] = a; - HEAP32[sp + 0 >> 2] = x; - HEAPF32[sp + 24 >> 2] = b; + HEAP32[sp + 44 >> 2] = 0; + HEAP32[sp + 24 >> 2] = a; + HEAP32[sp + 8 >> 2] = x; + HEAPF32[sp + 32 >> 2] = b; sp = vars4$0(sp) | 0; - a = HEAP32[sp + 16 >> 2] | 0; - b = +HEAPF32[sp + 24 >> 2]; + a = HEAP32[sp + 24 >> 2] | 0; + b = +HEAPF32[sp + 32 >> 2]; STACKTOP = sp; } function vars_w_stack(x, y) { @@ -254,24 +254,24 @@ function vars_w_stack(x, y) { y = +y; var a = 0, b = +0, sp = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 72 | 0; + STACKTOP = STACKTOP + 144 | 0; a = x + y; - HEAP32[sp + 56 >> 2] = 0; - HEAP32[sp + 64 >> 2] = 0; - HEAPF32[sp + 24 >> 2] = y; - HEAP32[sp + 16 >> 2] = x; - HEAP32[sp + 32 >> 2] = a; - HEAPF32[sp + 40 >> 2] = b; + HEAP32[sp + 72 >> 2] = 0; + HEAP32[sp + 76 >> 2] = 0; + HEAPF32[sp + 32 >> 2] = y; + HEAP32[sp + 24 >> 2] = x; + HEAP32[sp + 40 >> 2] = a; + HEAPF32[sp + 48 >> 2] = b; sp = vars_w_stack$1(sp) | 0; - b = +HEAPF32[sp + 40 >> 2]; - a = HEAP32[sp + 32 >> 2] | 0; - HEAP32[sp + 56 >> 2] = 0; + b = +HEAPF32[sp + 48 >> 2]; + a = HEAP32[sp + 40 >> 2] | 0; HEAP32[sp + 64 >> 2] = 0; - HEAP32[sp + 32 >> 2] = a; - HEAPF32[sp + 40 >> 2] = b; + HEAP32[sp + 68 >> 2] = 0; + HEAP32[sp + 40 >> 2] = a; + HEAPF32[sp + 48 >> 2] = b; sp = vars_w_stack$0(sp) | 0; - a = HEAP32[sp + 32 >> 2] | 0; - b = +HEAPF32[sp + 40 >> 2]; + a = HEAP32[sp + 40 >> 2] | 0; + b = +HEAPF32[sp + 48 >> 2]; } function lin$0(sp) { sp = sp | 0; @@ -331,8 +331,8 @@ function lin3$0(sp) { c(18); c(19); c(20); - HEAP32[sp + 0 >> 2] = 6; - HEAP32[sp + 8 >> 2] = 10; + HEAP32[sp + 8 >> 2] = 6; + HEAP32[sp + 12 >> 2] = 10; break OL; } while (0); return sp | 0; @@ -360,7 +360,7 @@ function lin4$0(sp) { c(18); c(19); c(20); - HEAP32[sp + 0 >> 2] = 1; + HEAP32[sp + 8 >> 2] = 1; break OL; } while (0); return sp | 0; @@ -388,7 +388,7 @@ function lin5$0(sp) { c(18); c(19); c(20); - HEAP32[sp + 0 >> 2] = 3; + HEAP32[sp + 8 >> 2] = 3; break OL; } while (0); return sp | 0; @@ -410,11 +410,11 @@ function mix$0(sp) { OL : do { c(16); c(17); - HEAP32[sp + 0 >> 2] = 2; HEAP32[sp + 8 >> 2] = 2; + HEAP32[sp + 12 >> 2] = 2; break OL; c(18); - HEAP32[sp + 0 >> 2] = 1; + HEAP32[sp + 8 >> 2] = 1; break OL; while (1) { break; @@ -423,11 +423,11 @@ function mix$0(sp) { break inner; } c(19); - HEAP32[sp + 0 >> 2] = 3; + HEAP32[sp + 8 >> 2] = 3; break OL; c(20); - HEAP32[sp + 0 >> 2] = 4; - HEAP32[sp + 8 >> 2] = 3; + HEAP32[sp + 8 >> 2] = 4; + HEAP32[sp + 12 >> 2] = 3; break OL; } while (0); return sp | 0; @@ -447,8 +447,8 @@ function mix$1(sp) { function vars$0(sp) { sp = sp | 0; var x = 0, y = +0; - y = +HEAPF32[sp + 8 >> 2]; - x = HEAP32[sp + 0 >> 2] | 0; + y = +HEAPF32[sp + 16 >> 2]; + x = HEAP32[sp + 8 >> 2] | 0; c(5 + (x + y)); c(6 + y * x); c(7 + (x + y)); @@ -458,8 +458,8 @@ function vars$0(sp) { function vars$1(sp) { sp = sp | 0; var x = 0, y = +0; - y = +HEAPF32[sp + 8 >> 2]; - x = HEAP32[sp + 0 >> 2] | 0; + y = +HEAPF32[sp + 16 >> 2]; + x = HEAP32[sp + 8 >> 2] | 0; c(1 + (x + y)); c(2 + y * x); c(3 + (x + y)); @@ -469,98 +469,98 @@ function vars$1(sp) { function vars2$0(sp) { sp = sp | 0; var a = 0, b = +0; - b = +HEAPF32[sp + 24 >> 2]; - a = HEAP32[sp + 16 >> 2] | 0; + b = +HEAPF32[sp + 32 >> 2]; + a = HEAP32[sp + 24 >> 2] | 0; a = c(3 + a); b = c(4 + b); a = c(5 + a); b = c(6 + b); - HEAP32[sp + 16 >> 2] = a; - HEAPF32[sp + 24 >> 2] = b; + HEAP32[sp + 24 >> 2] = a; + HEAPF32[sp + 32 >> 2] = b; return sp | 0; } function vars3$0(sp) { sp = sp | 0; var a = 0, y = +0, x = 0; - x = HEAP32[sp + 0 >> 2] | 0; - y = +HEAPF32[sp + 8 >> 2]; - a = HEAP32[sp + 16 >> 2] | 0; + x = HEAP32[sp + 8 >> 2] | 0; + y = +HEAPF32[sp + 16 >> 2]; + a = HEAP32[sp + 24 >> 2] | 0; a = c(4 + y * x); a = c(5 + a); a = c(6 + y * x); a = c(7 + a); - HEAP32[sp + 16 >> 2] = a; + HEAP32[sp + 24 >> 2] = a; return sp | 0; } function vars3$1(sp) { sp = sp | 0; var a = 0, x = 0, y = +0; - y = +HEAPF32[sp + 8 >> 2]; - x = HEAP32[sp + 0 >> 2] | 0; - a = HEAP32[sp + 16 >> 2] | 0; + y = +HEAPF32[sp + 16 >> 2]; + x = HEAP32[sp + 8 >> 2] | 0; + a = HEAP32[sp + 24 >> 2] | 0; a = x + y; a = c(1 + a); a = c(2 + y * x); a = c(3 + a); - HEAP32[sp + 16 >> 2] = a; + HEAP32[sp + 24 >> 2] = a; return sp | 0; } function vars4$0(sp) { sp = sp | 0; var a = 0, x = 0, b = +0; - b = +HEAPF32[sp + 24 >> 2]; - x = HEAP32[sp + 0 >> 2] | 0; - a = HEAP32[sp + 16 >> 2] | 0; + b = +HEAPF32[sp + 32 >> 2]; + x = HEAP32[sp + 8 >> 2] | 0; + a = HEAP32[sp + 24 >> 2] | 0; a = c(4 + a); a = c(5 + a); a = c(6 + a); b = c(7 + a + x); - HEAP32[sp + 16 >> 2] = a; - HEAPF32[sp + 24 >> 2] = b; + HEAP32[sp + 24 >> 2] = a; + HEAPF32[sp + 32 >> 2] = b; return sp | 0; } function vars4$1(sp) { sp = sp | 0; var y = +0, x = 0, a = 0, b = +0; - b = +HEAPF32[sp + 24 >> 2]; - a = HEAP32[sp + 16 >> 2] | 0; - x = HEAP32[sp + 0 >> 2] | 0; - y = +HEAPF32[sp + 8 >> 2]; + b = +HEAPF32[sp + 32 >> 2]; + a = HEAP32[sp + 24 >> 2] | 0; + x = HEAP32[sp + 8 >> 2] | 0; + y = +HEAPF32[sp + 16 >> 2]; b = y * x; a = c(1 + a); a = c(2 + a); a = c(3 + a); - HEAPF32[sp + 24 >> 2] = b; - HEAP32[sp + 16 >> 2] = a; + HEAPF32[sp + 32 >> 2] = b; + HEAP32[sp + 24 >> 2] = a; return sp | 0; } function vars_w_stack$0(sp) { sp = sp | 0; var a = 0, b = +0; - b = +HEAPF32[sp + 40 >> 2]; - a = HEAP32[sp + 32 >> 2] | 0; + b = +HEAPF32[sp + 48 >> 2]; + a = HEAP32[sp + 40 >> 2] | 0; a = c(4 + a); a = c(5 + a); a = c(6 + a); b = c(7 + a); STACKTOP = sp; - HEAP32[sp + 32 >> 2] = a; - HEAPF32[sp + 40 >> 2] = b; + HEAP32[sp + 40 >> 2] = a; + HEAPF32[sp + 48 >> 2] = b; return sp | 0; } function vars_w_stack$1(sp) { sp = sp | 0; var y = +0, x = 0, a = 0, b = +0; - b = +HEAPF32[sp + 40 >> 2]; - a = HEAP32[sp + 32 >> 2] | 0; - x = HEAP32[sp + 16 >> 2] | 0; - y = +HEAPF32[sp + 24 >> 2]; + b = +HEAPF32[sp + 48 >> 2]; + a = HEAP32[sp + 40 >> 2] | 0; + x = HEAP32[sp + 24 >> 2] | 0; + y = +HEAPF32[sp + 32 >> 2]; b = y * x; a = c(1 + a); a = c(2 + a); a = c(3 + a); - HEAPF32[sp + 40 >> 2] = b; - HEAP32[sp + 32 >> 2] = a; + HEAPF32[sp + 48 >> 2] = b; + HEAP32[sp + 40 >> 2] = a; return sp | 0; } |