[webkit-gtk] FTL-JIT LLVM

Michael Catanzaro mcatanzaro at igalia.com
Fri Nov 25 18:25:54 PST 2016

On Fri, 2016-11-25 at 23:06 +0100, Manuel Selva wrote:
> 1- What is the last version of Webkit including a JavaScript engine
> with 
> 4 tiers and based on LLVM ?


There was not actually ever any stable release that used LLVM. The LLVM
dependency was added during the 2.12 development cycle but removed
before the 2.12.0 release because the LLVM FTL backend was obsoleted by
the B3 (bare bones backend) earlier than we expected. B3 handles the
subset of LLVM intermediate representation needed by JavaScriptCore
much faster than LLVM can, as LLVM needs more features than
JavaScriptCore does. (I don't know more than this; you can ask the JSC
developers on webkit-dev@ if you're interested.)

I'm curious why you're interested in the old LLVM version as I don't
think it offers any advantages over B3, but to answer your question:
the first release with FTL JIT enabled was WebKitGTK+ 2.11.2, and the
last release before LLVM was replaced with B3 was WebKitGTK+ 2.11.4.
Obviously the release in between was 2.11.3, so that's three total
releases that used LLVM. Keep in mind that all of those releases were
unstable development snapshots of trunk and not intended for end users.
They all required LLVM 3.7.

I'm not sure if the LLVM version of FTL was ever actually deployed for
end users, but if so it would surely have been done by the macOS port.

Hope that helps,


More information about the webkit-gtk mailing list