Over the weekend, Apple's WebKit group announced SquirrelFish Extreme. The “major new retooling of the SquirrelFish JavaScript engine” has made it to Safari before Apple could even release a final version of the web browser's fourth incarnation, AppleInsider is reporting.
SquirrelFish is a register-based, direct-threaded, high-level bytecode engine, with a sliding register window calling convention. It slowly generates bytecodes from a syntax tree, using a simple one-pass compiler with built-in copy propagation. AppleInsider reveals that the latest enhancements in SquirrelFish Extreme include "bytecode optimizations, polymorphic inline caching, a lightweight 'context threaded' JIT compiler, and a new regular expression engine that uses our JIT infrastructure," according to a Surfin' Safari post by Maciej Stachowiak.
SunSpider's benchmarks also showed that the new SquirrelFish Extreme is "nearly twice as fast as the original SquirrelFish, and over 10 times the speed you saw in Safari 3.0, less than a year ago. We are pretty pleased with this improvement, but we believe there is more performance still to come," Stachowiak added.
Alongside the release of a new beta build for OS X 10.5.5 in August, Apple also issued a new preview version of Safari 4 to developers. Three separate developer previews were released (Leopard, Tiger and Windows versions). Starting then, Safari 4 would supposedly have the ability to save webpages as "Web Applications," much like Fluid, a Leopard app that creates Site Specific Browsers. At the time Apple seeded developers with the first preview version of Safari 4, users were said to have the ability to choose how new windows would open. It was later confirmed that a Safari 4.0 incorporates many of the latest enhancements found in WebKit. Safari 4 already supports a slew of new HTML 5 features, like the ability to send messages between documents, storage of data either locally or just for the user's session, canvas pixel manipulation and more.