Bug 227159

Summary: [DFG] Untyped branches should eliminate checks based on results from the AbstractInterpreter
Product: WebKit Reporter: Robin Morisset <rmorisset>
Component: JavaScriptCoreAssignee: Robin Morisset <rmorisset>
Status: RESOLVED FIXED    
Severity: Normal CC: ews-watchlist, fpizlo, 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
Patch none

Robin Morisset
Reported 2021-06-17 23:09:41 PDT
We currently emit a ton of code for Untyped branches, as we use branchIfTruthy which does not know anything about the abstract interpreter. Even worse: we call branchIfTruthy after emitting some fast paths, and branchIfTruthy replicates these fast paths (Int32 and Booleans).
Attachments
Patch (14.57 KB, patch)
2021-06-17 23:20 PDT, Robin Morisset
no flags
Robin Morisset
Comment 1 2021-06-17 23:20:34 PDT
Filip Pizlo
Comment 2 2021-06-18 10:12:40 PDT
Comment on attachment 431757 [details] Patch Did the FTL have a similar problem?
EWS
Comment 3 2021-06-18 10:17:52 PDT
Committed r279041 (238961@main): <https://commits.webkit.org/238961@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 431757 [details].
Radar WebKit Bug Importer
Comment 4 2021-06-18 10:18:27 PDT
Robin Morisset
Comment 5 2021-06-18 12:46:51 PDT
(In reply to Filip Pizlo from comment #2) > Comment on attachment 431757 [details] > Patch > > Did the FTL have a similar problem? No, it calls boolify() which implements almost exactly the same logic as I added here to the DFG.
Note You need to log in before you can comment on or make changes to this bug.