RFR: 8357913: Add `@Stable` to BigInteger and BigDecimal [v2]
Shaojin Wen
swen at openjdk.org
Fri May 30 22:23:52 UTC 2025
On Fri, 30 May 2025 21:36:52 GMT, ExE Boss <duke at openjdk.org> wrote:
>> Shaojin Wen has updated the pull request incrementally with one additional commit since the last revision:
>>
>> bug fix, from @minborg
>
> src/java.base/share/classes/java/math/BigInteger.java line 192:
>
>> 190: * zero-length mag array.
>> 191: */
>> 192: @Stable
>
> `BigInteger.mag` gets written to a few times during computation in `BigInteger.largePrime(…)`: <https://github.com/openjdk/jdk/blob/db340e54f83cf7bf72abb94c9cf9cdac007ed38a/src/java.base/share/classes/java/math/BigInteger.java#L886-L887><https://github.com/openjdk/jdk/blob/db340e54f83cf7bf72abb94c9cf9cdac007ed38a/src/java.base/share/classes/java/math/BigInteger.java#L895-L898>
BigInteger is an object that is considered immutable, but its field mag is actually changed. This is incredible and should be fixed here. It is easy to make mistakes.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25437#discussion_r2116798328
More information about the core-libs-dev
mailing list