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).
Created attachment 431757 [details] Patch
Comment on attachment 431757 [details] Patch Did the FTL have a similar problem?
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].
<rdar://problem/79508395>
(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.