[Webkit-unassigned] [Bug 31308] New: No caching of V8 proxies for NodeList objects; reduces Dromaeo score

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Nov 10 12:47:34 PST 2009


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

           Summary: No caching of V8 proxies for NodeList objects; reduces
                    Dromaeo score
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Enhancement
          Priority: P3
         Component: WebCore Misc.
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: snej at chromium.org


V8DOMWrapper caches V8 proxy objects for most native DOM objects, but it
doesn't do so for NodeLists. This means that every time a JS function like
getElementsByTagName is called, a new JS object has to be created for the
return value. This has a pretty noticeable effect in the Dromaeo DOM Query test
— I used Shark to sample it on OS X and it's spending 1/3 of its time in
V8DOMWrapper::convertToV8Object, most of which is spent in instantiateV8Object.
There's a lot of GC going on too.

I _think_ it would be straightforward to extend V8DOMWrapper to cache
NodeLists; but I'm not familiar with the details of how the caching is done.

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