| //@ requireOptions("--forceGCSlowPaths=true") |
| // We require --forceGCSlowPaths=true to force OOM error in FTL MakeRope to happen in a lazy slow path. |
| throw new Error("Bad assertion"); |
| function a() { return "a"; } |
| function b() { return "b"; } |
| function c() { return "c"; } |
| function d() { return "d"; } |
| function e() { return "e"; } |
| function f() { return "f"; } |
| function g() { return "g"; } |
| let exponentialBlowup = false; |
| function foo(fun, left, right) { |
| expString = expString + expString; |
| function blah() { return "blah"; } |
| for (let i = 0; i < 100000; i++) { |
| assert(foo(blah, "b", "a") === "blahba"); |
| exponentialBlowup = true; |
| assert(foo(blah, "a", "b") === "blahab"); |