[Webkit-unassigned] [Bug 168685] New: Implement a mega-disassembler that'll be used in the FTL

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Feb 21 15:52:10 PST 2017


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

            Bug ID: 168685
           Summary: Implement a mega-disassembler that'll be used in the
                    FTL
    Classification: Unclassified
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: JavaScriptCore
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: sbarati at apple.com
                CC: benjamin at webkit.org, fpizlo at apple.com,
                    ggaren at apple.com, gskachkov at gmail.com,
                    jfbastien at apple.com, keith_miller at apple.com,
                    mark.lam at apple.com, msaboff at apple.com,
                    ticaiolima at gmail.com, utatane.tea at gmail.com

Here is Phil's rough sketch:
```
Say we have:

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

And say that it translates to this BC:

[   0] op_enter
[   1] op_add loc0, arg0, arg1
[   6] op_ret

And say that it's all predicted ints without overflows.

So here's the megadisasm:


                0x100000000  pushq %ebp
                 ... prologue
    0: JSConstant(...)
    1: JSConstant(...)
    ... more prologue
[   0] op_enter
    0: JSConstant(...)
    MovHint(...)
    ... more DFG prologue
[   1] op_add loc0, arg0, arg1
    2: GetStack(arg0)
        Int32 @42 = Load(@13, stuff)
            Move stuff(%rbp), %things
                movl stuff(%rbp), %things
    3: GetStack(arg1)
        Int32 @43 = Load(@13, otherstuff)
            Move otherstuff(%rbp), %otherthings
                movl otherstuff(%rbp), %otherthings
    4: ArithAdd(Int32: @2, Int32:@3)
        Int32 @44 = CheckAdd(@2, @3, ...)
            Patch &BranchAdd32, ...
                addl ...
                jo ...
... and so on
```

This would be super cool.

-- 
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/20170221/d650b95b/attachment-0001.html>


More information about the webkit-unassigned mailing list