function f(x, y) { x.y = y; }; function g(x) { return x.y + 42; } noInline(f); noInline(g); var x = {}; var y = {}; f(x, 42); f(y, {}); while (!numberOfDFGCompiles(g)) { optimizeNextInvocation(g); if (typeof g(x) !== 'number') throw 'failed warming up'; } if (typeof g(y) !== 'string') throw 'failed after compilation';