On Mon, 26 May 2025 17:08:45 GMT, Aleksey Shipilev <sh...@openjdk.org> wrote:

> SonarCloud complains that since 
> [JDK-8356080](https://bugs.openjdk.org/browse/JDK-8356080) we are allocating 
> and using `Boolean` boxes in `ReverseOrderListView`. This change `boolean` -> 
> `Boolean` was made in 
> [JDK-8356080](https://bugs.openjdk.org/browse/JDK-8356080) to allow `@Stable` 
> folding of boolean field. But it is very awkward to trade in the object 
> allocation on common path to allow optional constant folding.
> 
> We can flatten this field to `byte` and check the specific non-zero values. 
> The field is final, so it is never actually in `0` state.
> 
> Additional testing:
>  - [x] Linux x86_64 server fastdebug, `java/util`

How is this an allocation? I examined `javap -c -p -v 
java.util.ReverseOrderListView` and confirmed this compiles to 
`Boolean.valueOf` in class files, which involves no new allocation.

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

PR Comment: https://git.openjdk.org/jdk/pull/25456#issuecomment-2910469082

Reply via email to