[Webkit-unassigned] [Bug 141174] New: VirtualRegister should not be used to track heap variables, and heap variables shouldn't end up in the stack frame

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Feb 2 14:36:54 PST 2015


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

            Bug ID: 141174
           Summary: VirtualRegister should not be used to track heap
                    variables, and heap variables shouldn't end up in the
                    stack frame
    Classification: Unclassified
           Product: WebKit
           Version: 528+ (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

I'm going to introduce a new term: "heap variable".  This is a variable that is anywhere but on the stack (i.e. local).  It may be global or it may be captured.  Hence the hierarchy of variables is:

Variable:
    Local Variable: it's on the stack according to bytecode
    Heap Variable: it's not a Local Variable
        Captured Variable: it's in some function's activation, may be my own activation
        Global Variable: it's in some global object

We currently use VirtualRegister to effectively track heap variables because of some history.  The use of the VirtualRegister class for this purpose makes it difficult to then remove the hole we have in the stack that corresponds to local variables that got captured.  Once we ensure that VirtualRegister is no longer used for heap variables, we'll be able to remove the hole.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20150202/164c76e6/attachment-0002.html>


More information about the webkit-unassigned mailing list