• Benedikt Meurer's avatar
    [turbofan] Avoid unnecessary bit materialization in CheckedInt32Mod. · 7cd2cacf
    Benedikt Meurer authored
    The slow-path of CheckedInt32Mod(x,y) when x is found to be negative
    still had the power of two right hand side optimization, and thus would
    perform a dynamic check on y. Now the same dynamic check was done for
    the fast-path, and the word operations for this check were pure, leading
    to weird bit materialization in TurboFan (due to sea of nodes). But
    there's not really a point to be clever for the slow-path, so we just
    insert the Uint32Mod operation directly here, which completely avoids
    the problem.
    
    This improves the Kraken/audio-oscillator test from around 73ms to 69ms.
    
    Bug: v8:8069
    Change-Id: Ie8ea667136c95df2bd8c5ba56ebbc6bd2442ff23
    Reviewed-on: https://chromium-review.googlesource.com/c/1259063Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#56370}
    7cd2cacf
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...