RFR: 8355992: Add unsignedMultiplyExact and *powExact methods to Math and StrictMath [v2]

Joe Darcy darcy at openjdk.org
Tue May 6 00:04:19 UTC 2025


On Fri, 2 May 2025 17:49:54 GMT, Raffaello Giulietti <rgiulietti at openjdk.org> wrote:

> Yes, I'm familiar with both this Java code and the intrinsic code.
> 
> Compare this with the much simpler proposed code. The checked multiplication `unsignedMultiplyExact` apparently performs two 64x64->64 multiplications, but on some architectures it might end up in a single 64x64->128 multiplication and one check. So the proposed code performs 6 such multiplications if the method returns + 5 ordinary multiplications in the worst case.
> 
> As a general rule, the simpler the code, the better the outcome of the optimizing compiler.
> 
> Again, to me there's no point in failing fast at the expense of the successful case.

Yes; we can always try to make simpler code faster if the need or interest arises.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/25003#discussion_r2074441059


More information about the core-libs-dev mailing list