Bug 141398

Summary: DFG call codegen should resolve the callee operand as late as possible
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 141332    
Attachments:
Description Flags
the patch mark.lam: review+

Description Filip Pizlo 2015-02-09 13:25:26 PST
This will make it easier to structure https://bugs.webkit.org/show_bug.cgi?id=141332.  I want to do this separately to make sure that there aren't any hidden gremlins in the ordering.  Intuitively, this change shouldn't affect performance, although the only hypothetical cases I can think of where codegen would be affected, this change would be a progression.  Right now in trunk we lock down the register for the callee before doing anything else, and so we might spill one of the arguments to do this.  Then we would have to refill the argument into something else.  With this change, we get at the callee last, so the argument would stay in a register.  We might spill and refill the callee in the process with this change, but in any case where such a conflict occured, then without the change we would be spilling and then filling some argument.
Comment 1 Filip Pizlo 2015-02-09 13:28:00 PST
Created attachment 246284 [details]
the patch
Comment 2 Mark Lam 2015-02-09 13:31:04 PST
Comment on attachment 246284 [details]
the patch

r=me
Comment 3 Filip Pizlo 2015-02-09 15:40:42 PST
Landed in http://trac.webkit.org/changeset/179851