RESOLVED FIXED 86059
DFG should allow inlining in case of certain arity mismatches
https://bugs.webkit.org/show_bug.cgi?id=86059
Summary DFG should allow inlining in case of certain arity mismatches
Filip Pizlo
Reported 2012-05-09 23:06:12 PDT
Currently we disallow inlining in case of arity mismatch. This made sense when we were passing arguments in the wrong order, since arity mismatch calls required some call frame ninja work, and it seemed like adding this to the inliner would be sufficiently complex that avoiding it would reduce the bug tail. But now that we're passing arguments in the right order, inlining calls that pass too many arguments is trivial. There simply isn't anything standing in the way of us doing this. The value recoveries in the inline call frame already do the right things (they track the arguments passed, not the parameters expected). The argument flushing does the right things (it places the arguments where they should be and makes sure that they are really stored to the stack). The rest of the inlining machinery already computes the stack offset correctly. So while it's still the case that arity mismatches where too few arguments are passed are hard to inline, the ones that involve too many args are trivial and we should just inline those.
Attachments
the patch (2.60 KB, patch)
2012-05-09 23:07 PDT, Filip Pizlo
ggaren: review+
Filip Pizlo
Comment 1 2012-05-09 23:07:58 PDT
Created attachment 141089 [details] the patch
Geoffrey Garen
Comment 2 2012-05-09 23:38:43 PDT
Comment on attachment 141089 [details] the patch r=me
Filip Pizlo
Comment 3 2012-05-10 00:52:52 PDT
Filip Pizlo
Comment 4 2012-05-23 00:54:57 PDT
Filip Pizlo
Comment 5 2012-05-23 00:55:07 PDT
Note You need to log in before you can comment on or make changes to this bug.