On Thu, Sep 2, 2010 at 8:51 AM, Chris Marrin <cmar...@apple.com> wrote: > > On Sep 1, 2010, at 7:20 PM, Kenneth Russell wrote: > >> I would be happy to not add another Arena client, but the primary >> reason I need an arena is not just for performance but to avoid having >> to keep track of all of the objects I need to delete. >> >> Is there any consensus yet on how to proceed with >> https://bugs.webkit.org/show_bug.cgi?id=45059 ? I'm concerned about >> taking on large-scale restructuring with potential performance impact >> as a prerequisite for my landing any initial code. I could revert my >> PODArena class to use its own memory allocation rather than that in >> Arena.h. > > I just posted that it seems like your RB tree could be replaced by > std::multimap. And, given comments from others, it seems like the right thing > to do with Arena is to put PODArena into the gpu directory like you were > originally going to do, but to not use Arena.h (suck it's functionality into > PODArena). Alternately, you could try Jeremy's idea and ref count your > objects. If you use std::multimap, elements can be of type RefPtr<something>, > so you can avoid all memory management issues.
I haven't seen that reply yet, but replacing my red-black tree with std::multimap is not a solution. My red-black tree is specifically designed to be augmentable, and the IntervalTree built on it is a core data structure used in the path processing code. -Ken _______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev