[Webkit-unassigned] [Bug 159281] New: Linked bytecode should not have save/resume

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jun 29 16:12:52 PDT 2016


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

            Bug ID: 159281
           Summary: Linked bytecode should not have save/resume
    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

The save/resume opcodes are so unusual that they cause confusion in the bytecode liveness analysis.  In particular, they don't have context-free use/def behavior and their live-in calculation cannot be expressed in terms of use/def.  Normally, the use/def of a bytecode is determined just by that bytecode.  Save/resume's use/def is context-sensitive: you need to look at some surrounding code to determine what they use and def.  Worse, use/def is insufficient to calculate the live-in of resume.  The live-in of resume is invariant: the only thing live-in is the argument token.  This is an unusual rule, and would require resume to be special-cased.

Linked bytecode has many clients: the bytecode liveness analysis, the LLInt, baseline JIT, and DFG parser.  I think that instead of having so many special cases in linked bytecode for generators, we should do a generator conversion before even getting to linked bytecode.  This will mean that linked bytecode won't have to worry about what it means to be a generator.

-- 
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/20160629/2dff9582/attachment.html>


More information about the webkit-unassigned mailing list