Bug 136927 - A Phi over object materializations should be sinkable
Summary: A Phi over object materializations should be sinkable
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on: 136330
Blocks:
  Show dependency treegraph
 
Reported: 2014-09-18 12:01 PDT by Filip Pizlo
Modified: 2014-09-18 16:35 PDT (History)
9 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2014-09-18 12:01:38 PDT
...
Comment 1 Filip Pizlo 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.