Example.  Use of a mutable member for AnimationController:
https://trac.webkit.org/browser/trunk/WebCore/page/Frame.h#L346

Causes us to pull in AnimationController.h:
https://trac.webkit.org/browser/trunk/WebCore/page/Frame.h#L31

Which pulls in additional headers of its own.

Frame.h is included by lots and lots of cpp files, most of which never
need AnimationController.h.  Thus all of those intermediate files
(preprocessor output, assembler output, .o file, etc.) are larger than
necessary, causing longer builds.  Also any time someone edits an
AnimationController.h (or a dependent .h) we end up re-building every
file which includes Frame.h (hundreds of files).

-eric

On Thu, Jun 10, 2010 at 3:56 PM, Maciej Stachowiak <[email protected]> wrote:
>
> On Jun 10, 2010, at 12:04 AM, Eric Seidel wrote:
>
>> This causes a huge header dependency cascade, bloating object files
>> and slowing down builds.  I can't imagine avoiding the pointer
>> indirection is actually a measurable runtime savings (at least in most
>> cases).
>
> Can you give a specific example of a data member where you think OwnPtr would 
> be better?
>
> Regards,
> Maciej
>
>
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

Reply via email to