At the beginning of this release cycle we enabled FTL using LLVM with the idea of finally having FTL support since 2.12. At the same time Apple JSC developers were working on a new backend for FTL, B3 to replace the LLVM. This has many advantages, but from the maintenance point of view it means we don't need to depend on LLVM anymore (note that we don't just link to LLVM, we have a shared library linking to LLVM that JSC loads with dlopen at runtime only when needed). I think most of the distros have already prepared their packages for the LLVM machinery. We didn't expect B3 to be ready during this cycle, but Apple surprised us announcing they had enabled it by default in Mac port. So, we are late in the release cycle but still in time for switching to B3, specially if it's really stable. At the moment all JSC tests pass, but we all know tests are not enough to consider JSC stable, we need real use testing. So, I would say we basically have the following possibilities:
a) Keep LLVM and branch for 2.12 right before enabling B3 in trunk. b) Disable FTL for 2.12 and delay it to 2.14 with B3 c) Switch to B3 Problem with a) is that we are introducing a new dependency for just one cycle, although most of the distros have already adapted their packages and it's an optional dep after all. Advantage is that we have a whole cycle to test B3. This is also the advantage of b). And c) is the best solution, we have FTL drastically improving the JavaScript performance, and without the LLVM dependency, but it's also the most risky one. My proposal is to try with c): 1. Switch to B3 in trunk ASAP. 2. Set up a bot that runs Octane, Speedometer, JetStream and Kraken in a real browser. 3. Make an unstable release with B3 right before branching. 4.a If the release is super unstable, branch for 2.12 and disable FTL in the branch. 4.b If the release works reasonable well, branch for 2.12 and keep merging B3 fixes and improvements in the branch. 5. Right before the hard code freeze we have the last opportunity to keep B3 or disable FTL in case of 4.b, but hopefully we don't need to wait until the very last moment to decide. So yes, I'm discarding any option to keep LLVM. -- Carlos Garcia Campos http://pgp.rediris.es:11371/pks/lookup?op=get&search=0xF3D322D0EC4582C3
signature.asc
Description: This is a digitally signed message part
_______________________________________________ webkit-gtk mailing list [email protected] https://lists.webkit.org/mailman/listinfo/webkit-gtk
