RFR: 8310232: java.time.Clock$TickClock.millis() fails in runtime when tick is 1 microsecond [v2]
Roger Riggs
rriggs at openjdk.org
Wed Jun 28 14:16:10 UTC 2023
On Wed, 28 Jun 2023 10:12:18 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> Naoto Sato has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
>>
>> - Merge branch 'master' into JDK-8310232-TickClock-ArithExp
>> - Removed bugid from the test class description
>> - refactor return statement
>> - 8310232: java.time.Clock$TickClock.millis() fails in runtime when tick is 1 microsecond
>
> src/java.base/share/classes/java/time/Clock.java line 762:
>
>> 760: public long millis() {
>> 761: long millis = baseClock.millis();
>> 762: return tickNanos < 1000_000L ? millis : millis - Math.floorMod(millis, tickNanos / 1000_000L);
>
> Cleaner precedence:
>
> Suggestion:
>
> long trunc = (tickNanos >= 1000_000L) ? Math.floorMod(millis, tickNanos / 1000_000L) : 0;
> return millis - trunc;
Either is fine, the current version avoids any extra operations if no (further) truncation is needed.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14657#discussion_r1245282851
More information about the core-libs-dev
mailing list