• bmeurer's avatar
    [turbofan] Slightly improve truncations for CheckBounds. · 17d932c0
    bmeurer authored
    For CheckBounds(index,length) we know that the length must be in
    Unsigned31 range. Thus there's no observable difference for index
    values in the range [-2^31,-1] and the range [2^31,2^32-1], both
    are considered out-of-bounds; also it's safe to truncate -0 to 0
    wrt. CheckBounds. Thus we can safely pass Word32 truncation if the
    index is in Integral32 \/ MinusZero. Usually this generates the same
    code, but some index computations can benefit from the Word32 truncation
    and avoid going to double because the result would be outside the valid
    Signed32 or Unsigned32 ranges.
    
    R=jarin@chromium.org
    BUG=v8:5267
    
    Review-Url: https://codereview.chromium.org/2760213003
    Cr-Commit-Position: refs/heads/master@{#43969}
    17d932c0
types.h 22.1 KB