Changes between Version 12 and Version 13 of FTLJIT


Ignore:
Timestamp:
Nov 13, 2017 5:07:36 AM (6 years ago)
Author:
Konstantin Tokarev
Comment:

No more LLVM

Legend:

Unmodified
Added
Removed
Modified
  • FTLJIT

    v12 v13  
    1 The FTL JIT is JavaScriptCore's top-tier optimizing compiler.  It's a combination of our DFG compiler for doing high-level optimizations and type inference, and a lowering phase that turns that code into C-like SSA.  Currently it can be configured to use either [wiki:BareBonesBackend B3] or LLVM as the backend:
     1The FTL JIT is JavaScriptCore's top-tier optimizing compiler.  It's a combination of our DFG compiler for doing high-level optimizations and type inference, and a lowering phase that turns that code into C-like SSA.
    22
    3 - The FTL JIT started out as a marriage of the DFG and LLVM, but later LLVM support was phased out.
    4 - We are moving the FTL JIT to use the B3 backend instead of LLVM.  B3 is WebKit's own creation.  WebKit tends to perform better with the B3 backend, and we are transitioning to making this the only available FTL JIT configuration.
     3The FTL JIT started out as a marriage of the DFG and LLVM, but later LLVM backend was replaced with [wiki:BareBonesBackend B3].
    54
    65See https://bugs.webkit.org/show_bug.cgi?id=112840 for the bug that tracked the original FTL JIT work.  This was done as part of our effort to increase our latency-throughput adaptability range, and included other things like our concurrent JIT implementation; all of the tasks involved can be seen