[Webkit-unassigned] [Bug 82312] New: DFG OSR exit should not generate an exit for variables of inlinees if the inlinees are not in scope

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Mar 27 02:13:11 PDT 2012


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

           Summary: DFG OSR exit should not generate an exit for variables
                    of inlinees if the inlinees are not in scope
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: fpizlo at apple.com


Currently DFG OSR exit computes a value recovery, and generates recovery code, for every variable within the DFG code block's Graph::m_localVars, which ends up being the high watermark of the stack for all inlinees.  This means that for example in this code:


function foo(a, b) {
    return a + b;
}

function bar(a, b, c) {
    var x = foo(a, b);
    return x + c.f;
}

If we OSR exit at c.f, then the exit will include code to restore local variables within foo(), which is clearly redundant since foo() is out of scope at that point.

Patch forthcoming.

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