[webkit-dev] Fix for Vector::m_inlineBuffer alignment?
mjs at apple.com
Sun Sep 7 04:54:27 PDT 2008
On Sep 4, 2008, at 1:20 AM, Paul Pedriana wrote:
> Well the proposed solution in
> <https://bugs.webkit.org/show_bug.cgi?id=16925> doesn't work, as VC++
> doesn't accept that syntax. And the solutions in
> <https://bugs.webkit.org/show_bug.cgi?id=19775> whereby a uint32_t or
> uint64_t buffer are made don't work for larger types and use more
> than necessary. They might be useful as a fallback for compilers that
> don't support alignment directives, though the primary implementations
> of every compiler that I work with (GCC, VC++, CodeWarrior, EDG, SN,
> IBM) support it.
The buffer should definitely remain char to avoid strict aliasing
problems. However, I think the most portable way to ensure alignment
is to union the buffer with a one-element array of the template
parameter type T.
> I'll make a patch and attach it to
> <https://bugs.webkit.org/show_bug.cgi?id=16925>, if that's OK.
>> On Sep 4, 2008, at 2:05 AM, Paul Pedriana wrote:
>>> // FIXME: Nothing guarantees this buffer is appropriately
>>> aligned to
>>> hold objects of type T.
>>> char m_inlineBuffer[m_inlineBufferSize];
>> We have a bug for this:
>> <https://bugs.webkit.org/show_bug.cgi?id=16925>. Also,
>> There are several patches and suggestions in these bugs, which wait
>> for someone to submit them as clean patches.
>> - WBR, Alexey Proskuryakov
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
More information about the webkit-dev