Ken's PODRedBlackTree patch has made me go back and take a closer look at 
WebKit's Arena "class". Turns out it's not a class at all, just some structs 
and macros. That seems very un-WebKit-like to me. Ken's patch also has a 
PODArena class, which uses Arena in its implementation. Sam suggests that 
PODRedBlackTree should really go into WTF, which means PODArena and Arena would 
need to go there as well.

It seems like Arena really needs to be brought into the 21st century and made a 
proper class. Maybe now is the right time to:

1) Make Arena a class

2) Integrate Ken's PODArena functionality into this new Arena class (or maybe 
just make Ken's PODArena the new Arena class).

3) Move the new Arena class to WTF

4) Put PODRedBlackTree in WTF

It looks like RenderArena is currently the only client of Arena.h, so this 
change shouldn't be too hard. Of course, looking at RenderArena, it's a little 
odd, too. It is not renderer specific at all. It's just an Arena that recycles 
freed objects. Maybe we should move that functionality into the new Arena 
class. But RenderArena is used all over the place, so maybe that's going one 
step too far down this road?


webkit-dev mailing list

Reply via email to