mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 14:32:24 +00:00
16e8dc257e
1) double.truncate() now simply calls toInt(), omitting truncateToDouble() call. 2) double.floor() and ceil() are now intrinsified on arm64 and AOT/x64 and generated using DoubleToInteger instruction. 3) DoubleToInteger instruction is extended to support floor and ceil. On arm64 DoubleToInteger is implemented using fcvtms and fcvtps instructions. On x64 DoubleToInteger is implemented using roundsd under a check if it is supported (with a fallback to a stub and a runtime call). AOT/x64: Before: BenchFloor(RunTime): 318.82148549569655 us. After: BenchFloor(RunTime): 133.29430189936687 us. TEST=ci Closes https://github.com/dart-lang/sdk/issues/46876 Closes https://github.com/dart-lang/sdk/issues/46650 Change-Id: I16ca18faf97954f8e8e25f0b72a2bbfac5bdc672 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212381 Commit-Queue: Alexander Markov <alexmarkov@google.com> Reviewed-by: Slava Egorov <vegorov@google.com> |
||
---|---|---|
.. | ||
bin | ||
lib | ||
api_readme.md | ||
BUILD.gn |