[Webkit-unassigned] [Bug 64774] New: DFG JIT sometimes emits spill code even when the respective values are never needed

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jul 18 19:05:47 PDT 2011


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

           Summary: DFG JIT sometimes emits spill code even when the
                    respective values are never needed
           Product: WebKit
           Version: 528+ (Nightly build)
          Platform: All
        OS/Version: All
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: fpizlo at apple.com


The DFG JIT does register allocation on-the-fly during code generation.  While emitting code for a DFG node, the registers needed are first reserved prior to any code being emitted, and are typically only released after.  If the code that is emitted needs to save (and possibly restore) registers (using either the silentSpillAllRegisters or the flushRegisters facilities), then this may contain redundant code that spills and fills values that are dead already, since the relevant registers are only unreserved after the code is emitted.  The DFG JIT should more carefully track which registers die during in the middle of the code for a DFG node, so that any save/restore sequences that are emitted will omit registers that are already dead.

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