On Fri, 28 Nov 2025 12:26:50 GMT, Tobias Hartmann <[email protected]> wrote:
>> I agree it's busy, but I like explicit braces, rust-style. Especially with
>> `#ifdef` in the middle, it looks easy to do something wrong with un-braced
>> blocks. I'm not so shocked by the current style but another option I see
>> would be
>>
>> if (DEBUG_ONLY(save_fake_rfp_lr) NOT_DEBUG(false)) {
>> mov_immediate64(rscratch1, ((uint64_t)badRegWordVal) << 32 |
>> (uint64_t)badRegWordVal);
>> stp(rscratch1, rscratch1, Address(sp, framesize - 2 * wordSize));
>> } else {
>> stp(rfp, lr, Address(sp, framesize - 2 * wordSize));
>> }
>>
>> I am very confident gcc will remove the branch entirely in non-debug.
>
> Regarding Manuel's proposal: I don't think omitting brackets is a good idea.
> Alternative:
>
> } else
> #endif
> {
> stp ...
> }
I've done what I proposed. I think it looks nice. Does anyone strongly prefer
#ifdef ASSERT
if (save_fake_rfp_lr) {
mov_immediate64(rscratch1, ((uint64_t)badRegWordVal) << 32 |
(uint64_t)badRegWordVal);
stp(rscratch1, rscratch1, Address(sp, framesize - 2 * wordSize));
} else
#endif
{
stp(rfp, lr, Address(sp, framesize - 2 * wordSize));
}
?
-------------
PR Review Comment:
https://git.openjdk.org/valhalla/pull/1764#discussion_r2571799515