RFR: 8345012: os::build_agent_function_name potentially wastes a byte when allocating the buffer [v4]

Aleksey Shipilev shade at openjdk.org
Thu Nov 28 19:29:38 UTC 2024


On Thu, 28 Nov 2024 12:35:15 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> This is a minor issue noticed in the review of JEP 479. The calculations of the buffer length always do `+2` to allow for an optional underscore plus the terminator. A solution was suggested in that review (which I initially used) but I've instead opted for a solution where `name_len` always reflects the actual length of the lib name - otherwise we need to subtract the 1 again when doing the `strncat`. I also made the need for the underscore explicit. 
>> 
>> As the same code is used in os_posix.cpp both versions were made consistent. The only difference between them is the Windows version has to check for a drive specifier. I toyed with combining them into a shared version with a Windows-specific chunk, but opted for the simpler change. I can revisit that if people have strong opinions.
>> 
>> Testing
>> - tiers 1-4
>> 
>> Thanks
>
> David Holmes has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Move to shared code and apply @shipilev suggestions

Looks fine by me. If you want to completely overkill this, consider adding a gtest :)

src/hotspot/share/runtime/os.cpp line 2499:

> 2497:   const char *start;
> 2498: 
> 2499: 

Nit: double new-line?

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

Marked as reviewed by shade (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/22404#pullrequestreview-2468732699
PR Review Comment: https://git.openjdk.org/jdk/pull/22404#discussion_r1862610586


More information about the hotspot-runtime-dev mailing list