[webkit-dev] RenderArena: Teaching an old dog new tricks
Maciej Stachowiak
mjs at apple.com
Wed Nov 14 17:59:40 PST 2012
On Nov 14, 2012, at 3:19 PM, Chris Evans <cevans at chromium.org> wrote:
> On Tue, Nov 13, 2012 at 11:14 PM, Ryosuke Niwa <rniwa at webkit.org> wrote:
> On Tue, Nov 13, 2012 at 10:23 PM, Eric Seidel <eric at webkit.org> wrote:
> RenderArena was a perf optimization for the rendering tree, which
> hyatt imported from Mozilla 10 years ago:
> http://trac.webkit.org/changeset/2635
>
> The prevailing lore has long been that RenderArena is no longer
> useful, ugly, and should be killed!
> http://www.mail-archive.com/webkit-dev@lists.webkit.org/msg12681.html
>
> The (unfortunate?) reality is that we've failed to do so, despite
> trying several times.
> http://www.mail-archive.com/webkit-dev@lists.webkit.org/msg12682.html
>
> I don't think we have failed. The messages posted on the thread don't indicate anyone has tried to delete the render arena recently. I support any attempts to remove it.
>
> A first step might be to make it a platform define. For the Chromium platform we'd leave the define "on" -- there are some nice security properties we get from having the RenderObjects in their own spot. I'm happy to go in to more details if you want, but it's similar (although not identical) to the blog post linked by Brendan regarding Firefox.
>
> Not all WebKit consumers need weight things the same way as the Chromium port of course, but at least for us, the security win outweighs any quirks of RenderArena.
Adding ifdefs around fundamental behavior like this to make it port-specific seems like a bad idea. Splintering core architecture makes things harder because it leads us to not really be working on the same project. Changes get made with one set of assumptions that might be invalid under another. Things have to be recoded twice. That is why I would prefer we come to consensus on core architectural questions like this instead of taking the "let's just add an ifdef" road.
I don't think anyone is calling for imminent removal of RenderArena, so going the ifdef road seems particularly premature in this case.
Let's instead talk about costs and benefits, possible ways to achieve those, and what we can agree together is a sane technical direction for the project as a whole.
Regards,
Maciej
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20121114/e8730425/attachment-0001.html>
More information about the webkit-dev
mailing list