Bug 69989 - DFG CFA does not filter structures aggressively enough.
Summary: DFG CFA does not filter structures aggressively enough.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-12 19:13 PDT by Filip Pizlo
Modified: 2011-10-12 19:19 PDT (History)
0 users

See Also:


Attachments
the patch (4.98 KB, patch)
2011-10-12 19:15 PDT, Filip Pizlo
no flags Details | Formatted Diff | Diff
the patch - revert some debug stuff (4.54 KB, patch)
2011-10-12 19:16 PDT, Filip Pizlo
oliver: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2011-10-12 19:13:41 PDT
If you have an abstract value like (Array, TOP) and you filter it against Final then you should get (None, []) - i.e. there does not exist a structure for any value within the abstract value's set, since the abstract value's set is empty.  This was causing some annoying ASSERTs.

I fixed this issue and added even more ASSERTs to catch it sooner.  I tested this against a bunch of websites and it seems to work.
Comment 1 Filip Pizlo 2011-10-12 19:15:10 PDT
Created attachment 110793 [details]
the patch
Comment 2 Filip Pizlo 2011-10-12 19:16:16 PDT
Created attachment 110795 [details]
the patch - revert some debug stuff
Comment 3 Filip Pizlo 2011-10-12 19:19:56 PDT
Landed in r97334.