[Webkit-unassigned] [Bug 151128] New: Air::allocateStack is way too optimistic about Def semantics

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Nov 10 20:23:20 PST 2015


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

            Bug ID: 151128
           Summary: Air::allocateStack is way too optimistic about Def
                    semantics
    Classification: Unclassified
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: All
                OS: All
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: fpizlo at apple.com

Air::allocateStack assumes that a Def of a StackSlot means that the StackSlot is not live before that instruction.  But this is only true if the instruction Def's the full size of the StackSlot.  This is hard to tell because currently, a Def in Air means that it could write anywhere from 1 to 8 bytes.

There are a lot of possible solutions.

For starters, B3 StackSlots are unlikely to benefit from being allocated based on liveness.  We could simply create a new notion stack slot that has the Use/Def semantics we want.  For example, we could say that the "Anonymous" stack slot kind actually means that any store to the stack slot changes all bytes in the StackSlot.  This would only require a documentation change.

Alternatively, we could incorporate forward flow into the notion of liveness: a Def is only a Def if just prior to it, none of the bytes in the StackSlot have had a value stored into them.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20151111/01cdef5d/attachment.html>


More information about the webkit-unassigned mailing list