02
Jun
08

SquirrelFish!

What is a “squirrelfish”? Why, this is a squirrelfish!

I’m sure there must be an interesting story as to where that came from, but “SquirrelFish” is the code name of the new WebKit JavaScript interpreter that was just announced. A 1.6 performance improvement over WebKit 3.1, they claim, and over four-fold from WebKit 3.0. And, no doubt, whatever performance improvements are in the WebKit nightlies now will make it to the iPhone sooner or later … and probably sooner.

There’s a good bit of background info in the announcement post which is probably worth reading if you’re the sort that has any more interest in interpreter implementation than the absolute minimum you could squeeze through your required degree courses without avoiding. And even if you are one of those sorts, there’s some pointers to contemporary introductory material that’s probably worth a gander just for general breadth of knowledge. So here’s the money quotes there:

SquirrelFish is a register-based, direct-threaded, high-level bytecode engine, with a sliding register window calling convention. It lazily generates bytecodes from a syntax tree, using a simple one-pass compiler with built-in copy propagation.

SquirrelFish owes a lot of its design to some of the latest research in the field of efficient virtual machines, including research done by Professor M. Anton Ertl, et al, Professor David Gregg, et al, and the developers of the Lua programming language.

Some great introductory reading on these topics includes:

Read and enjoy!


0 Responses to “SquirrelFish!”


  1. No Comments

Leave a Reply