Monday, December 19, 2011

9.0 now release

9.0 is now in the release channel and available to users. As stated in the previous blog entry, methodjit is not on by default for the unwashed masses, just the regex compilation with tracejit which so far has proven to be very fast and safe.

So far there have been no reported crashes with methodjit, but I have received at least two reports of significant slowdowns on selected sites. We are tracking these in issue 119. Please only report sites there that are clearly and reproducibly being degraded by methodjit (i.e., you turn off methodjit and the problem goes away; you turn methodjit back on and the site drags back down again), not general slow issues or slowness from some other cause. It would also help to isolate a script as the specific cause using NoScript or similar tools in case we have to minimize a test case.

Type inference is still being difficult, but the MIPS port does not require anything extra of significance for it to work and MIPS is "big RISC" like us, so it's clearly something I've done wrong I haven't found yet. Right now I'm investigating stub calls, since they are by design non-ABI-compliant, and the extant code may be just clever enough to get it working in some places but not others. It is also possible that these two problems may be related.

I have also made the executive decision that we will not advance to 10 until we have both type inference and the basic methodjit working with no showstopper failures (i.e., no reproducible crashes or long hangs that are not reproducible in stock Firefox, and composite benchmarks that are not significantly worse than tracejit). We will issue interim 9 releases until then, because odds are good tracejit will be in serious disrepair in 10, even though it still exists. When I have these two issues nailed out, there will be a 9.0.1pre for you loyal beta users to try.


  1. Thank you very much. You have faster released than Mozilla (Firefox 9.0) :D

    It works on my Mac Mini G4 with 10.5.8 Leopard. And it runs on my Power Mac G5 with 10.5.8 Leopard and 10.4.11 Tiger.

    And it works on 10.5.8 Intel and 10.6.8 Intel with Rosetta, too.

    On my 10.3.9 Panther runs Classilla 9.2.3 :)

  2. Have noticed an overall 15-30% reduction in speed with methodjit enabled. On two occasions, new tabs opened, but the actual tab didn't appear for over a minute. (which works fine under tracejit) became very slow, with constant unresponsive-script warnings, and went from taking a few seconds to load to a few minutes. Also the ajax-autocomplete in the search bar completely quit working. Returned to normal when methodjit was disabled.

    Tested on Digital Audio Dual-533, 1GB RAM, OSX 10.4.11.

  3. 9.1 would be a better version number.

  4. thanks for releasing tenfourfox 9! It also with flashreplace makes videos playable on my 400Mhz PowerMac G4 and my dual 450Mhz G4 in which i use the quicktime method within the flashreplace and the videos are super smooth!

  5. @art, 15-30% everywhere indicates a serious problem and one I can't replicate. If you're really observing that, I probably can't fix it.

    @zubr, yes. However, we are slaves to Mozilla's version numbering as long as we are at source parity with rapid release, so we need to plan as if the next release in 9 would be 9.0.1.

  6. German langpack installer for TFF 9.0:

  7. My Tenfourfox 9 experiences with Tracejit+Methodjit after one week:

    After much "pounding" as requested by Cameron, I was only able to find one script that doesn't work well with MJ (issue 119). This can easily be blocked with Adblock or Noscript for the time being. I found no crash bugs (only one single crash so far, but non-reproducible). The browser hasn't crashed at all during the last six days (with both TJ and MJ enabled), even though I was kicking it pretty mercilessly. This is much better than I had expected.

    To be honest: I don't think that JS benchmarks like Sunspider or Kraken are anywhere near realistic. Here, their results are even contrary to each other: Sunspider shows MJ clearly ahead of TJ (and the combination of both even better), whereas TJ is twice as fast as MJ in Kraken (see my test results in "9.0 RC available with secret sauce"). I can only suspect that they're testing different things, and that none of them gets the mixture quite right of what's really on the web.

    The best (in my opinion) "reality test", Peacekeeper, shows no difference between TJ and TJ+MJ, and with MJ alone (and without type inference) it's only slightly slower. This pretty much reflects my browsing experience: Facebook's new Timeline is a good speed test, and I don't notice much of a difference in loading and scrolling no matter what jit configuration I use. The same goes for the Amazon start page and other complicated websites.

    Now on to some more glogg. Merry Christmas!


Due to an increased frequency of spam, comments are now subject to moderation.