aboutsummaryrefslogtreecommitdiff
path: root/tools/test-js-optimizer-asm-outline1-output.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-07-16 16:46:06 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-07-16 16:46:06 -0700
commitb4d483354945aeec630231c0bf69d7c21c23baf0 (patch)
treee1282e56b5bcd551ba4afc271bd884fd5435928f /tools/test-js-optimizer-asm-outline1-output.js
parentf2f45b8499559181ae0a0b1b5e198a480b77e76f (diff)
test for outlining a return
Diffstat (limited to 'tools/test-js-optimizer-asm-outline1-output.js')
-rw-r--r--tools/test-js-optimizer-asm-outline1-output.js45
1 files changed, 45 insertions, 0 deletions
diff --git a/tools/test-js-optimizer-asm-outline1-output.js b/tools/test-js-optimizer-asm-outline1-output.js
index 2c684622..0949865a 100644
--- a/tools/test-js-optimizer-asm-outline1-output.js
+++ b/tools/test-js-optimizer-asm-outline1-output.js
@@ -16,6 +16,27 @@ function lin2() {
lin2$0(sp);
}
}
+function lin3() {
+ while (1) {
+ c(1);
+ c(2);
+ c(3);
+ c(4);
+ c(5);
+ lin3$1(sp);
+ lin3$0(sp);
+ if (HEAP32[sp + 0 >> 2] == 5) {
+ return;
+ }
+ if (HEAP32[sp + 0 >> 2] == 6) {
+ return HEAP32[sp + 8 >> 2];
+ }
+ if (HEAP32[sp + 0 >> 2] == 7) {
+ return HEAPF32[sp + 8 >> 2];
+ }
+ }
+ return 20;
+}
function lin$0(sp) {
sp = sp | 0;
c(13);
@@ -60,4 +81,28 @@ function lin2$1(sp) {
c(11);
c(12);
}
+function lin3$0(sp) {
+ sp = sp | 0;
+ OL : do {
+ c(14);
+ c(15);
+ c(16);
+ c(17);
+ c(18);
+ c(19);
+ c(20);
+ HEAP32[sp + 8 >> 2] = 10, HEAP32[sp + 0 >> 2] = 6, break OL;
+ } while (0);
+}
+function lin3$1(sp) {
+ sp = sp | 0;
+ c(6);
+ c(7);
+ c(8);
+ c(9);
+ c(10);
+ c(11);
+ c(12);
+ c(13);
+}