Here's what should happen: the existence of TearOffArguments should have no effect on the conclusion reached by arguments simplification. Optimally, arguments simplification should eliminate the TearOffArguments opcode in those cases where it eliminates arguments creation. But that's not necessary for correctness. Currently, arguments simplification completely ignores TearOffArguments because it neglects to consider accesses to the unmodified arguments register. By some manner of dumb luck, this ends up "just working" because TearOffArguments is the only opcode that would explicitly read the unmodified arguments register. Of course, it works in a sub-optimal way, because the TearOffArguments op ends up still being emitted. This code should be rationalized and made to work in a sensible way.
Created attachment 145506 [details] the patch
Comment on attachment 145506 [details] the patch r=me
Landed in http://trac.webkit.org/changeset/119444