Bug 226914

Summary: DFGPredictionPropagation should be flow-sensitive
Product: WebKit Reporter: Robin Morisset <rmorisset>
Component: JavaScriptCoreAssignee: Robin Morisset <rmorisset>
Status: ASSIGNED ---    
Severity: Normal CC: ews-watchlist, keith_miller, mark.lam, msaboff, saam, tzagallo, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
WIP
none
WIP
none
WIP
ews-feeder: commit-queue-
WIP_nearlyDone
ews-feeder: commit-queue-
Patch
none
Patch none

Description Robin Morisset 2021-06-11 00:15:03 PDT
According to Phil, better predictions should help a lot with some of the hottest functions in the jquery subtest of Speedometer2.
Comment 1 Robin Morisset 2021-06-11 00:15:44 PDT
Created attachment 431182 [details]
WIP

for EWS testing
Comment 2 Robin Morisset 2021-06-11 23:38:06 PDT
Created attachment 431251 [details]
WIP

Nearly done, only needs some thorough benchmarking + testing and a Changelog.
Comment 3 Robin Morisset 2021-06-12 08:12:24 PDT
Created attachment 431257 [details]
WIP

Fixed a bug: I thought that Symbols could only be equal to Symbols, and forgot that Object.toPrimitive can be called and turn one into a Symbol during equality.
Comment 4 Robin Morisset 2021-06-14 18:59:57 PDT
Created attachment 431392 [details]
WIP_nearlyDone
Comment 5 Robin Morisset 2021-06-15 18:23:54 PDT
Created attachment 431507 [details]
Patch

I'm waiting for performance numbers from the A/B bots before asking for reviews, but apart from that this patch should be complete.
Comment 6 Radar WebKit Bug Importer 2021-06-18 00:15:36 PDT
<rdar://problem/79492202>
Comment 7 Robin Morisset 2021-06-28 10:45:17 PDT
Created attachment 432409 [details]
Patch

Roughly neutral overall, it is a progression on some subtests, most notably on ai-astar (14%), but is a regression on mandrel (12% on first iteration) and a smaller one (1 to 2%) on async-fs and coffeescript-wtb.
Coarsening the numerical predictions fixed a massive segmentation regression, but seems to have reduced the size of the wins as well.