Description[turbofan] Slightly improve truncations for CheckBounds.
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}
Committed: https://chromium.googlesource.com/v8/v8/+/17d932c06b40d1e6617ebbd6cc8d1e8f411f9750
Patch Set 1 #
Dependent Patchsets: Messages
Total messages: 11 (7 generated)
|