Thanks for the overview, Carlos. I agree with all of your reasoning and like your plan a lot.
--Martin On Mon, Feb 1, 2016 at 10:59 PM, Carlos Garcia Campos <[email protected]> wrote: > 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 > > > _______________________________________________ > webkit-gtk mailing list > [email protected] > https://lists.webkit.org/mailman/listinfo/webkit-gtk > _______________________________________________ webkit-gtk mailing list [email protected] https://lists.webkit.org/mailman/listinfo/webkit-gtk
