• 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
number-modulus.js 5.61 KB