[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