Commit Graph

5 Commits

Author SHA1 Message Date
Boris Zbarsky
e326fee695 Bug 696233. Switch the nth-index cache to having a single hashtable per selector type (from end vs from start and of-type vs not-of-type). Gives somewhat better cache locality on some workloads and makes entry addition much cheaper because we no longer need to initialize all the new memory when the hashtable store is resized; we just initialize the parts of it we need as we need them. r=smaug 2011-10-26 15:34:20 -04:00
Boris Zbarsky
0c9af0f1e3 Bug 662489. Reorganize the code flow for determining nth-index values. r=smaug
There are two changes here.  The first is that the aCheckEdgeOnly case is factored out into a separate branch so as to avoid branching on aCheckEdgeOnly inside the sibling loop.  This also allows us to reuse the IndexDetermined code for both aIsFromEnd and !aIsFromEnd cases.  In particular, when aIsFromEnd we start by walking backwards and hoping for a cached index on a previous sibling and only walking forwards if that fails.  For short child lists there's not that much of a difference, but for long ones this is a win.
2011-10-26 15:33:40 -04:00
Michael Wu
0fe7772ece Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00
Boris Zbarsky
2b5c3495bf Bug 667520. Fix nth index cache to work correctly when nth-child selectors are only applied to some elements of a child list. r=dbaron 2011-06-28 11:19:18 -04:00
Boris Zbarsky
d32a9f80e9 Bug 598832 part 5. Move caching of nth-index stuff to the TreeMatchContext. r=dbaron 2011-03-29 13:29:21 -04:00