[webkit-dev] Using C++ constant pointers (type_name * const) in WebKit
Ryosuke Niwa
rniwa at webkit.org
Mon Nov 28 14:19:15 PST 2011
On Mon, Nov 28, 2011 at 1:38 PM, David Kilzer <ddkilzer at webkit.org> wrote:
> In a discussion on Bug 71921<https://bugs.webkit.org/show_bug.cgi?id=71921>,
> Antti, Darin Adler and I started a discussion about using C++ constant
> pointers in WebKit. Does the WebKit community have a consensus opinion on
> the matter?
>
> * Pros
> - Documents use of variable.
> - Prevents misuse of variable in a later patch (by a different author)
> through enforcement of pointer const-ness.
> - May help compiler optimize code. (We weren't sure whether modern
> compilers do this on their own or not.)
>
Don't think so. As far as I know, C++ compilers ignore "const" for the
purpose of code optimization because we can always re-cast it to non-const
variable. On the other hand, modern optimizing compilers might do SSA-based
constant<http://en.wikipedia.org/wiki/Sparse_conditional_constant_propagation>
propagation <http://gcc.gnu.org/news/ssa-ccp.html> regardless of constness
of a variable.
* Cons
> - Darin Adler doesn't ever recall fixing a bug in WebKit where a
> constant pointer would have helped.
> - Slightly more verbose syntax for constant pointers to a constant
> string (const char * const pointer;) or even a constant pointer to a
> mutable string (char * const pointer;).
>
I'd argue against using constant pointers simply because I don't think the
existing WebKit code uses it, and I don't see much benefit in comparison to
pointers or references to const objects.
- Ryosuke
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20111128/b4383540/attachment.html>
More information about the webkit-dev
mailing list