[Webkit-unassigned] [Bug 58687] New: KeepAlive is called everytime JS is executed but is not always necessary

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Apr 15 13:22:05 PDT 2011


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

           Summary: KeepAlive is called everytime JS is executed but is
                    not always necessary
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P3
         Component: WebCore Misc.
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: gregsimon at chromium.org


In the v8 bindings (V8Proxy) the Frame is kept alive every time JS is executed in case the JS code itself causes the Frame to be deleted. The Frame::keepAlive is not a free call; it schedules an async timer to fire at a later date to balance the ref() made initially in Frame::keepAlive. On loading gmail.google.com for example, > 100 async timers are scheduled.

This bug suggests an optimization to only call Frame::keepAlive when it is necessary-- when the protector ref in the proxy is the last reference held to the Frame object, which appears to be the exception not the rule.

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