function foo() { return arguments.length; } function bar(...args) { var a = [42]; if (isFinalTier()) a = args; return {ftl: isFinalTier(), result: foo(...a)}; } function baz() { return bar(1, 2, 3, 4); } noInline(baz); for (var i = 0; i < 100000; ++i) { var result = baz(); if (result.ftl) { if (result.result != 4) throw "Error: bad result in loop in DFG: " + result.result; } else { if (result.result != 1) throw "Error: bad result in loop before DFG: " + result.result; } }