function assert(b) { if (!b) throw new Error("Bad"); } function foo(a, b, c) { let x = a + b + c; return [a, b, c, x]; } noInline(foo); Object.defineProperty(Object.prototype, "10000", {get() { return 20; }}); for (let i = 0; i < 10000; ++i) { let a = 10.5; let b = 1.1; let c = 1.2; let x = a + b + c; let result = foo(a, b, c); assert(result.length === 4); assert(result[0] === a); assert(result[1] === b); assert(result[2] === c); assert(result[3] === x); }