[Webkit-unassigned] [Bug 61268] REGRESSION (r45620): Node list caches never deleted

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon May 23 13:16:38 PDT 2011


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





--- Comment #4 from Darin Adler <darin at apple.com>  2011-05-23 13:16:38 PST ---
(From update of attachment 94468)
View in context: https://bugs.webkit.org/attachment.cgi?id=94468&action=review

How did you test? A while ago Ojan(?) added a harness that could be used for performance tests to prove operations didn’t have an O(n^2) component or something along those lines. Did you check into adding a test using that machinery? I’d like to see at least a manual test.

> Source/WebCore/dom/Node.cpp:1041
> +void Node::clearNodeListsIfPossible()

I think this name is confusing. While the function is called “clear node lists”, it does’t actually clear any node lists. In fact it only does work at all when there are no node lists!

> Source/WebCore/dom/Node.cpp:1047
> +    NodeRareData* data = rareData();
> +    if (!data->nodeLists()->isEmpty())
> +        return;

Might be nice to inline this part of the function so the common case doesn’t require another level of function call overhead. But maybe not.

> Source/WebCore/dom/Node.cpp:2540
> +            m_childNodeListCaches.clear();

Can this cause another kind of churn as the caches object is deleted and recreated?

-- 
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