class Foo extends Object { constructor(c1, c2) { if (c1) super(); let arrow = () => { if (c2) this.foo = 20; else this.foo = 40; }; noInline(arrow); arrow(); } } noInline(Foo); for (let i = 0; i < 1000; ++i) new Foo(true, !!(i%2)); let threw = false; try { new Foo(false, true); } catch { threw = true; } finally { if (!threw) throw new Error("Bad") }