aboutsummaryrefslogtreecommitdiff
path: root/tools/test-js-optimizer-asm-outline1.js
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2013-08-23 16:53:46 -0700
committerAlon Zakai <alonzakai@gmail.com>2013-08-23 16:53:46 -0700
commit51278aa1eb63648b883d93102bc7126e8fb123b1 (patch)
tree56f9d7169a2e95dd14ce6c2b85ed326ef0402f1d /tools/test-js-optimizer-asm-outline1.js
parent4bd1de0f658092f0094cfc37e7887a595dbbc300 (diff)
testcase for flattening of switches with cases that need to be kept together
Diffstat (limited to 'tools/test-js-optimizer-asm-outline1.js')
-rw-r--r--tools/test-js-optimizer-asm-outline1.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/tools/test-js-optimizer-asm-outline1.js b/tools/test-js-optimizer-asm-outline1.js
index 311cb206..3c454182 100644
--- a/tools/test-js-optimizer-asm-outline1.js
+++ b/tools/test-js-optimizer-asm-outline1.js
@@ -259,5 +259,53 @@ function chain() {
print(99);
}
}
+function switchh() {
+ switch (x) {
+ case 0: {
+ f(0);
+ g();
+ break;
+ }
+ case 1: {
+ f(1);
+ g();
+ break;
+ }
+ case 2: {
+ f(2);
+ g();
+ break;
+ }
+ case 21: // gotta keem em unseparated
+ case 22:
+ case 23:
+ case 24:
+ case 25:
+ case 26:
+ case 27:
+ case 28:
+ case 29:
+ case 3: { // these too
+ f(3);
+ g();
+ break;
+ }
+ case 4: {
+ f(4);
+ g();
+ }
+ case 5: {
+ f(5);
+ g();
+ }
+ case 6: {
+ f(6);
+ g();
+ }
+ default: {
+ print(9);
+ }
+ }
+}
// EMSCRIPTEN_GENERATED_FUNCTIONS
// EXTRA_INFO: { "sizeToOutline": 30, "allowCostlyOutlines": 1 }