[webkit-dev] InlineBox::m_isSVG

Roland Steiner rolandsteiner at google.com
Sun Jun 21 21:18:59 PDT 2009

Hi Dave,

as I will probably need to special-case height() for ruby InlineBox objects
in the same way as is done for SVG boxes (still ironing out the details,
though), making height() virtual was exactly my intent. I would have thought
that the performance cost of a virtual call to height() would be offset by
being able to remove the isSVG() condition inside (and later a potential
isRuby() condition as well).

Now if there are actual performance reasons for that bit and/or for having
height() be non-virtual, then I may need to find another solution.



On Fri, Jun 19, 2009 at 4:50 PM, David Hyatt <hyatt at apple.com> wrote:

> On Jun 18, 2009, at 9:38 PM, Eric Seidel wrote:
>  Agreed.  That should just be a virtual call.  I don't see any reason
>> for that to need to be a bit on the baseclass.  I do not think that
>> changing ti to be a virtual call would cause a noticeable performance
>> change.
>> -eric
> You can test and see, but that bit was added as part of devirtualizing
> height().  Originally when I virtualized height() on InlineBoxes it caused
> about a 1% perf regression, so I tried to devirtualize as much as I could in
> order to fix the problem.  If you make isSVG() virtual again, then you will
> cause height() to make a virtual function call every time again, and will
> probably re-introduce at least part of the perf regression.
> It's not clear to me why the bit being there is relevant to Ruby?
> dave
> (hyatt at apple.com)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20090622/3175f043/attachment.html>

More information about the webkit-dev mailing list