description("Tests that inlining many basic blocks does not trigger a bad assertion."); function stuff(x) { debug(x); // This needs to be a side-effect. } function foo(a, b) { if (a) { stuff(a); return; } else { stuff(b); return; } } function fuzz(a, b) { if (a + b) foo(a, b); if (a / b) foo(b, a); foo(a, b); } function baz(a, b) { stuff(a); if (a * b) fuzz(a, b); if (a - b) fuzz(a, b); fuzz(b, a); } function bar(a, b) { stuff(a * b + a); if (a + b) baz(a, b); stuff(a - b); } for (var i = 0; i < 1000; ++i) bar(i, i + 1);