Speaking of Australis, Mozilla's planned new super-sexy interface for Firefox, its continued tardiness has become the big sniggering joke of the web browser blog circuit. It was supposed to land in 25, but that obviously slipped (I'm using 25 beta at work, and it's "regular Firefox"); it doesn't appear to have made it into 26 aurora either, so maybe we'll finally see it in Firefox 27. Maybe. Mozilla isn't really saying and I'm not sure where the hold-up is since most of the performance regressions we care about have been mitigated. Australis is one of those must-reach goals, like having some sort of JIT; whenever it lands, if we can't move forward, that's it for the port. I'm hoping it lands in 27, and then we can do some feasibility studies and roll back to 24 if needed.
In light of 24.0 actually building and linking, regular readers will wonder where the phase 4 announcement is (passes all tests) for PPCBC, our new baseline JavaScript JIT implementation after Mozilla removed methodjit in Firefox 23. Well, there isn't one -- it's still failing three of them. One is stubbed out with a tweak to the compiler itself since I suspect the underlying problem is actually a Mozilla bug I can't track down yet, and the second is that endian issue I've previously mentioned with asm.js which is pointless to fix since those sorts of scripts are usually hopelessly little-endian dependent anyway (methodjit doesn't pass it either). The third one does concern me a bit; it's an issue where we can overflow our JIT branching with really unlikely chains of try/catch blocks. It's not a security issue and the code necessary is terribly pathological, but it is a reliable crash, and I have to think of a way to repair it that won't drag the browser down. I don't think we need it to launch, though.
Once the last few JavaScript issues are shaken down and the widget code is verified to be working again, the last thing is to look at getting jemalloc back if the memory issues we discovered in the 22.1 test release are still present. It really does help (when it works) on multi-CPU systems on 10.4, even though you, my testing audience, found little improvement in single-CPU systems or on 10.5. The drawbacks are at least well understood, but if the memory leak still manifests we'll still have to rely on the default and slower built-in OS X allocator.
This will be tight for a beta, but at least we have two full cycles to get it right since 24 final will not be out until the 24.0.2/26 timeframe, six weeks after our final 17.0.10 release. Watch this space for more.
Because of all the widget work Australis is containing, I'm considering pulling the trigger on not allowing TenFourFox to link against the 10.5 SDK anymore. This has not been well-tested since at least 19 or earlier and it is quite possible it no longer works (Tobias' AuroraFox for 10.5 was actually a separate set of patches with Leopard-specific code, not what TenFourFox uses). You would still be able to build and run TenFourFox on 10.5, of course; you would just have to link it against the 10.4 SDK, which would become the only supported target. This would allow me to simplify a great deal of the code and improve maintainability when we split our widget and skin code off the mainline. If this is going to desperately break someone, speak now; my idea is to make 24-stable the last release series where linking against the 10.5 SDK remains even only theoretically supported.
No comments:
Post a Comment
Due to an increased frequency of spam, comments are now subject to moderation.