Sunday, December 25, 2011

Our own Christmas present

After many days of non-stop debugging by Ben, Tobias and yours truly,

% ./jit_test.py --jitflags=mp ../../../obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/js # straight methodjit
[1775| 0|1775] 100% ===============================================>| 257.0s
PASSED ALL
% ./jit_test.py --jitflags=mnp ../../../obj-ff-dbg/dist/TenFourFoxDebug.app/Contents/MacOS/js # JM+TI
[1775| 0|1775] 100% ===============================================>| 270.0s
PASSED ALL


Now, how did Santa fit all that down the chimney? Again, this is an unoptimized JS, so ignore the timings.

The bugs that were repaired to get type inference working are systemic bugs, so they may actually fix the failure cases for straight methodjit. For G3/G4, we are simply going to prevent the optimizer from using a square root instruction for the time being and just use the JS math library routine (and later develop our own optimized assembly version that can be inlined). I'm going to do some more internal conformance testing this week and if this all checks out, hopefully we will have a 9.0.1pre for you to test by New Year's.

And keep Chris out of the eggnog.

2 comments:

  1. 9 is unusable on my powerbook with trace or method or both (idling at 50% even in safe mode)

    Hopefully 9.0.1 will redeem the version

    In the meanwhile very content with 8 (and tracejit)

    Happy Holidays

    ReplyDelete
  2. Safe mode disables JIT (both varieties). If you're observing that, it's not the JIT.

    ReplyDelete

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