We can mostly handle this statically, removing a branch.
Created attachment 228050 [details] patch
https://trac.webkit.org/r166407