The default constructor for RenderStyle doesn't initialize its members. Instead it lets them all get default initialized and then uses assignment to set their initial values. This results in extra code because of the DataRef operator= implementation. Also, DataRef's operator= should have the "==" check removed since that extra branch makes things a little slower.
Created attachment 5215 [details] both performance improvements described in the bug text
Created attachment 5216 [details] both performance improvements described in the bug text
Comment on attachment 5215 [details] both performance improvements described in the bug text Another great looking patch. I assume this is a performance win? r=me.
Comment on attachment 5215 [details] both performance improvements described in the bug text oops, wrong one.
Comment on attachment 5216 [details] both performance improvements described in the bug text r=me. It looks like void RenderStyle::cleanup() could just be killed entirely now.
I left the cleanup function in there because Maciej has the commented-out counts in it. I would have removed it entirely if that wasn't there.