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]
Comment on attachment 431757 [details]
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].
(In reply to Filip Pizlo from comment #2)
> Comment on attachment 431757 [details]
> 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.