[turbofan] Use cheaper Float64 hole checks.
Holes in double arrays are encoded using a signaling NaN bit pattern. Previously when checking for Float64 holes we did an expensive bit check always, but most values aren't even NaNs in reality. So we changed the CheckFloat64Hole operator to first check if the value is a NaN at all and only if so, perform the concrete bit check (in deferred code). This improves the array copying test case mentioned in the bug from copyPacked: 123 ms. copyHoley: 157 ms. to copyPacked: 122 ms. copyHoley: 125 ms. so there's almost no penalty for double holey arrays anymore in case of copying arrays. This change seems to yield an overall ~1% on the Kraken benchmark. Bug: v8:8264 Change-Id: Id7393867ec96fdc080e24d326039f80a9d7b6646 Reviewed-on: https://chromium-review.googlesource.com/c/1261519Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#56380}
Showing
Please
register
or
sign in
to comment