[Webkit-unassigned] [Bug 74708] New: Optimize access to block-scoped local variables

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Dec 16 05:21:34 PST 2011


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

           Summary: Optimize access to block-scoped local variables
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: Unspecified
        OS/Version: Unspecified
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: wingo at igalia.com


The patch to be attached has a changelog, thusly:

        This commit changes the bytecompiler to track static scope
        objects, allowing statically scoped (block-scoped) variables to be
        resolved at compile-time.  (Currently, only the exception
        identifier in catch blocks is block-scoped, in ES5.)

        The implementation is complicated by having to consider whether or
        not a function has a scope chain in the activation record or not.
        To get around this, we indicate that a negative depth, returned
        from findScopedProperty, indicates a local, block-scoped variable.
        The logic to check for a scope chain in the activation record or
        not only happens when looking for lexically captured variables --
        those with non-negative depth.

        This will allow block-scoped locals to be optimized by the
        baseline and DFG JITs.  A future patch will add support for ES6
        block locals, behind an #ifdef, using the same mechanism.

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