Bug 87929

Summary: DFG CSE should be able to eliminate unnecessary flushes of arguments and captured variables
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Attachments:
Description Flags
work in progress
none
more
none
moar
none
bigger patch = better patch... ?...
none
the patch ggaren: review+

Filip Pizlo
Reported 2012-05-30 23:44:09 PDT
We currently flush SetLocals to captured variables and arguments to inline functions. But this is not necessary, if the code between the SetLocal and the Flush is speculated to not be clobbering.
Attachments
work in progress (11.81 KB, patch)
2012-05-30 23:47 PDT, Filip Pizlo
no flags
more (22.86 KB, patch)
2012-06-01 23:05 PDT, Filip Pizlo
no flags
moar (27.65 KB, patch)
2012-06-01 23:49 PDT, Filip Pizlo
no flags
bigger patch = better patch... ?... (37.81 KB, patch)
2012-06-02 02:01 PDT, Filip Pizlo
no flags
the patch (47.14 KB, patch)
2012-06-02 15:15 PDT, Filip Pizlo
ggaren: review+
Filip Pizlo
Comment 1 2012-05-30 23:47:50 PDT
Created attachment 144997 [details] work in progress It appears to do things, but needs a lot more testing. Putting up for EWS.
Filip Pizlo
Comment 2 2012-06-01 23:05:53 PDT
Created attachment 145429 [details] more Making progress. But it still crashes on some of my more awesome tests.
Filip Pizlo
Comment 3 2012-06-01 23:49:50 PDT
Filip Pizlo
Comment 4 2012-06-02 02:01:58 PDT
Created attachment 145439 [details] bigger patch = better patch... ?...
Filip Pizlo
Comment 5 2012-06-02 14:03:57 PDT
Comment on attachment 145439 [details] bigger patch = better patch... ?... This appears to pass all of the tests on 64-bit. Now I need to port it to 32-bit.
Filip Pizlo
Comment 6 2012-06-02 15:15:56 PDT
Created attachment 145460 [details] the patch Both 64-bit and 32-bit work.
Geoffrey Garen
Comment 7 2012-06-02 15:46:57 PDT
Comment on attachment 145460 [details] the patch r=me
Filip Pizlo
Comment 8 2012-06-02 15:59:34 PDT
Note You need to log in before you can comment on or make changes to this bug.