public inbox for [email protected]
help / color / mirror / Atom feedFrom: Daniel Gustafsson <[email protected]>
To: Tom Lane <[email protected]>
Cc: [email protected]
Subject: Re: jsonapi: scary new warnings with LTO enabled
Date: Thu, 17 Apr 2025 00:18:23 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<[email protected]>
<[email protected]>
> On 17 Apr 2025, at 00:12, Tom Lane <[email protected]> wrote:
>
> Daniel Gustafsson <[email protected]> writes:
>>> On 16 Apr 2025, at 23:42, Tom Lane <[email protected]> wrote:
>>> I'm not sure
>>> how other than giving up on stack allocation of JsonLexContexts,
>>> though, especially if we consider the jsonapi API frozen. But seeing
>>> that there are only three such call sites and none of them seem in the
>>> least performance-critical, maybe we should just do that?
>
>> I can't see any other option really, and there is no performance angle really
>> so that should be safe. Since I committed at least one of these, let me know
>> if you want me to tackle it.
>
> The only alternative I can see that might stop the warning is if we
> can find a way to make it clearer to the optimizer that the FREE()
> isn't reached. But I'm not sure about a trustworthy way to make that
> happen. Maybe it'd work to change the signature of freeJsonLexContext
> (or perhaps better, add a separate entry point) so that the caller is
> passing a bool constant that controls whether to free the struct.
> We could have an Assert that compares that to the state of the
> JSONLEX_FREE_STRUCT flag to catch mistakes. This seems kind of messy
> though.
Yeah, that seems messy enough that someone down the line will go "why on earth"
and we'll have to revisit this discussion. It can probably be made to work but
I doubt it will be worth it compared to allocating on the heap.
--
Daniel Gustafsson
view thread (13+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected]
Subject: Re: jsonapi: scary new warnings with LTO enabled
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox