So I was profiling the testcase for bug 352367 on the reflow branch, and about
5% of total time is spent in in (not under!) nsRuleNode::GetStyleData. Another
4.5% of the time is spent in (not under) nsStyleContext::GetStyleData. The
total time spent under nsStyleContext::GetStyleData is about 10%, of course.
About half the calls to nsStyleContext::GetStyleData come from
nsFrame::IntrinsicWidthOffsets, called by
nsLayoutUtils::IntrinsicForContainer. Ultimately, this gets back to
GetWidthInfo() (under which about 20% of the total load time is spent).
I have to wonder whether we could do anything to reduce this. Especially given
that we're fetching the same structs in GetMinWidth and GetPrefWidth... It
basically looks like we're calling nsFrame::IntrinsicWidthOffsets at least 3
times for each table cell...