aboutsummaryrefslogtreecommitdiff
path: root/tools/test-js-optimizer-si.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/test-js-optimizer-si.js')
-rw-r--r--tools/test-js-optimizer-si.js85
1 files changed, 75 insertions, 10 deletions
diff --git a/tools/test-js-optimizer-si.js b/tools/test-js-optimizer-si.js
index 78683d6c..9bb82da4 100644
--- a/tools/test-js-optimizer-si.js
+++ b/tools/test-js-optimizer-si.js
@@ -130,12 +130,12 @@ function a() {
if (y) {
f();
} else {
- label = 5;
+ label = 51;
}
} else {
- label = 5;
+ label = 51;
}
- if ((label|0) == 5) {
+ if ((label|0) == 51) {
label = 0;
a();
}
@@ -143,12 +143,12 @@ function a() {
if (y) {
f();
} else {
- label = 5;
+ label = 52;
}
} else {
- label = 5;
+ label = 52;
}
- if ((label|0) == 6) {
+ if ((label|0) == 62) {
label = 0;
a();
}
@@ -156,12 +156,25 @@ function a() {
if (y) {
f();
} else {
- label = 5;
+ label = 53;
}
} else {
- label = 5;
+ label = 53;
}
- if ((label|0) == 5) {
+ if ((label|0) == 53) {
+ a();
+ }
+ if (x) {
+ if (y) {
+ label = 54; // extra label setting, cannot fuse here
+ } else {
+ label = 54;
+ }
+ } else {
+ label = 54;
+ }
+ if ((label|0) == 54) {
+ label = 0;
a();
}
}
@@ -176,4 +189,56 @@ function b() {
a();
}
}
-// EMSCRIPTEN_GENERATED_FUNCTIONS: ["a", "b"]
+function c() {
+ label = x; // dynamic assign to label, suppresses label removal
+ if (x) {
+ if (y) {
+ f();
+ } else {
+ label = 151;
+ }
+ } else {
+ label = 151;
+ }
+ if ((label|0) == 151) {
+ label = 0;
+ a();
+ }
+}
+function d() {
+ if (x) {
+ if (y) {
+ f();
+ } else {
+ label = 251;
+ }
+ } else {
+ label = 251;
+ }
+ if ((label|0) == 251) {
+ label = 0;
+ a();
+ }
+ if ((label|0) == 251) { // extra check of label, suppresses label removal
+ a();
+ }
+}
+function e() {
+ if (x) {
+ if (y) {
+ f();
+ } else {
+ label = 351;
+ }
+ } else {
+ label = 351;
+ }
+ if ((label|0) == 351) {
+ label = 0;
+ a();
+ }
+ if ((label|0) == x) { // dynamic check of label, suppresses label removal
+ a();
+ }
+}
+// EMSCRIPTEN_GENERATED_FUNCTIONS: ["a", "b", "c", "d"]