Subject: Re: bug#65491: [PATCH] Improve performance allocating vectors

From: Stefan Monnier <[email-masked]>
Date: Sun, 17 Sep 2023 22:27:43 -0400

>> Even converting them back to their original pointer (which is what we do
>> with tag/untag pairs) is documented to be well-defined if you compile
>> using GCC.
> Only if the consequent pointer designates the same object as the initial
> pointer (of which I see no scrutable definition within GCC's
> documentation.)

IIUC the "if" here is talking about the fact that if the object is
deallocated between the two casts, then you're on your own, of course.

>> In contrast the pointer arithmetic on NULL pointers appears to be
>> something which compilers have started to (ab)use as an assumption for
>> their optimizations.  Hence the need to update our code.
> Hmm?  Where in this thread was that fact established?

IIUC Mattias bumped into this after he made a few "innocent looking"
changes to the vector allocation code.

        Stefan