[Webkit-unassigned] [Bug 83268] New: [Meta][Performance] Major DOM tree traversal should be de-virtualized as possible

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Apr 5 04:59:32 PDT 2012


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

           Summary: [Meta][Performance] Major DOM tree traversal should be
                    de-virtualized as possible
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: HTML DOM
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: morrita at google.com
                CC: rniwa at webkit.org, apavlov at chromium.org,
                    kling at webkit.org
        Depends on: 82701


There are many virtual methods which does DOM tree traversal and node-specific actions.
But some of there method has only a few overrides other than one for tree traversal its self.
Such methods includes insertedIntoDocument, insertedIntoTree, removedFromDocument, removedFromTree, willRemove, attach and detach.

It looks possible to de-virtualize (and even inline) these method by
- pull tree traversal out from ContainerNode/Element
- Employ a node flags to declare the existence of overrides
- inline methods for major DOM classes (that include Text and Element)

Since a large part of DOM nodes don't have node-specific overrides other than major classes above, 
These inlining will gain certain performance win.

I'll start from easier ones and see how it work.

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