[Webkit-unassigned] [Bug 38557] r58526 introduced a ~30% regression on Dromaeo JS lib

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu May 6 09:51:43 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=38557





--- Comment #7 from anton muhin <antonm at chromium.org>  2010-05-06 09:51:41 PST ---
(In reply to comment #6)
> (In reply to comment #4)
> > -    node->markCachedNodeLists(markStack, *Heap::heap(this)->globalData());
> > +    // node->markCachedNodeLists(markStack, *Heap::heap(this)->globalData());
> 
> To get maximum speed on this line of code, we need to make sure we do the
> minimum amount of work on nodes without outstanding node lists. Finding the
> heap for "this" so we can get the global data pointer is one example of
> unwanted work. Also, we need to inline much of the checking for node lists,
> including at least the rare data bit check and possibly also the rare data hash
> table lookup and then the subsequent check for the cached node lists pointer
> inside the rare data structure.
> 
> At the moment, I believe we do have the rare data bit check inlined, so the
> issue may be the overhead in getting the global data pointer.
> 
> If worse comes to worst we might have to devote a bit in the Node to indicating
> whether we have any cached node lists.

Agree, and thanks a lot for your suggestions.  Will investigate various
approaches.  I inlined by your suggestion a fast check for presence of rare
data, but will start with inlining the check for presence of cached node lists.
 Let's hope it's not a node with tons on node lists cached on it.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list