-
Ng Zhi An authored
We were hitting an implementation defined behavior in this instruction: - v is clamped to uint8_t::min and uint8_t::max - then we static_cast<int8_t>(v) - any values that don't fit in int8_t (> 127) hits and implementation defined behavior We reuse base::saturated_cast here instead to avoid this undefined behavior. Drive-by cleanup of test cases to make the signed/unsigned cases more explicity. Bug: v8:11372 Change-Id: I4e92cdfb685d74bd5436ba25f1c00db49a231221 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2659501 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#72491}
2e9b0e90