aboutsummaryrefslogtreecommitdiff
path: root/tools/test-js-optimizer-asm-outline1-output.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-07-16 17:42:40 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-07-16 17:42:40 -0700
commitf5f36712af0284244f60c109623938841b846948 (patch)
tree84e1010beae493dd564027c05898a1dd16b7d329 /tools/test-js-optimizer-asm-outline1-output.js
parent4260723fdf4c436a7999c9b3eefb8cd0e8b1208a (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.js39
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);
+}