-
Frank Tang authored
This is a reland of commit a165e82e The reason of revert is SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../../src/objects/js-temporal-objects.cc:3837:22 which is the line "nanoseconds_mv = std::round((seconds_mv - std::floor(seconds_mv)) * 1e9);" where seconds_mv is a double and nanoseconds_mv is a int32_t In this reland, we change the type of nanoseconds_mv to double to avoid the ubsan error. Original change's description: > [Temporal] Use double/int32_t instead of int64_t for duration parsing > > Use double and int32_t instead of int64_t in duration parsing result > so we can parse very large duration fields as infinity and throw RangeError in later stages. The three fractional parts can hold up value from 0 to 999,999,999 so we use int32_t to hold it. Other part could be infinity so we use double to hold it. Also rearrange the order of the three int32_t in the struct ParsedISO8601Duration after all the double > > Bug: v8:11544 > Change-Id: I7e5b02f7c7bbb60997f1419f016aed61dd3e0d6c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3840761 > Reviewed-by: Shu-yu Guo <syg@chromium.org> > Commit-Queue: Frank Tang <ftang@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82754} Bug: v8:11544 Change-Id: If8b72cb4912d8b4fc4c286fc856ea59df5cf0bb7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3858576Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Frank Tang <ftang@chromium.org> Cr-Commit-Position: refs/heads/main@{#83090}
14d9b9a2
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
api | Loading commit data... | |
asmjs | ||
ast | ||
base | ||
baseline | ||
bigint | ||
builtins | ||
codegen | ||
common | ||
compiler | ||
compiler-dispatcher | ||
d8 | ||
date | ||
debug | ||
deoptimizer | ||
diagnostics | ||
execution | ||
extensions | ||
flags | ||
handles | ||
heap | ||
ic | ||
init | ||
inspector | ||
interpreter | ||
json | ||
libplatform | ||
libsampler | ||
logging | ||
maglev | ||
numbers | ||
objects | ||
parsing | ||
profiler | ||
protobuf | ||
regexp | ||
roots | ||
runtime | ||
sandbox | ||
sanitizer | ||
snapshot | ||
strings | ||
tasks | ||
temporal | ||
third_party | ||
torque | ||
tracing | ||
trap-handler | ||
utils | ||
wasm | ||
web-snapshot | ||
zone | ||
DEPS | ||
DIR_METADATA | ||
OWNERS |