RFR: 8334599: Improve code from JDK-8302671 [v3]

Thomas Stuefe stuefe at openjdk.org
Wed Jul 17 17:34:30 UTC 2024


On Thu, 11 Jul 2024 08:41:28 GMT, Julian Waters <jwaters at openjdk.org> wrote:

>> In [JDK-8302671](https://bugs.openjdk.org/browse/JDK-8302671) I fixed a memmove decay bug by rewriting a sizeof on an array to an explicit size of 256, but this is a bit of a band aid fix. It's come to my attention that in C++, one can pass an array by reference, which causes sizeof to work correctly on an array and has the added bonus of enforcing an array of that size on the arguments passed to that method. I've reverted my change from 8302671 and instead explicitly made kstate an array reference so that sizeof works on the array as expected, and that the array size can be explicitly set in the array brackets
>> 
>> Verification: https://godbolt.org/z/Ezj76eWWY and GitHub Actions
>
> Julian Waters has updated the pull request incrementally with two additional commits since the last revision:
> 
>  - Revert Formatting in awt_Component.cpp
>  - Update src/java.desktop/windows/native/libawt/windows/awt_Component.cpp
>    
>    Co-authored-by: Alexey Ivanov <alexey.ivanov at oracle.com>

Okay.

(Please don't go now and change all occurrences of `foo(pointer, size)` to something like `foo( [&] [size] )` :-) I dislike the increased cognitive load of this form, and prefer the classic pointer+size combo )

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

Marked as reviewed by stuefe (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/19798#pullrequestreview-2183561466


More information about the client-libs-dev mailing list