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. Thanks, Roland On Fri, Jun 19, 2009 at 4:50 PM, David Hyatt <[email protected]> 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 > ([email protected]) > >
_______________________________________________ webkit-dev mailing list [email protected] http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

