Bug 136927

Summary: A Phi over object materializations should be sinkable
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: NEW    
Severity: Normal CC: barraclough, ggaren, mark.lam, mhahnenb, mmirman, msaboff, nrotem, oliver, sam
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 136330    
Bug Blocks:    

Filip Pizlo
Reported 2014-09-18 12:01:38 PDT
...
Attachments
Filip Pizlo
Comment 1 2014-09-18 16:35:46 PDT
Probably the easiest way to do this is: 1) The sink pruner should pretend that Upsilon doesn't materialize; instead it should propagate the sink candidate down to the Phi. So, if the Phi path causes an escape and there are no other paths for the sinkable to take, then we won't sink it. But if the Phi path doesn't cause an escape then we will sink. 2) Have an iteration in the fixpoint that transforms Phi(Materialize, Materialize, ...) into Materialize(Phi, Phi, ...). Together this will have the effect we want.
Note You need to log in before you can comment on or make changes to this bug.