On Tue, May 27, 2008 at 08:51:24AM +0200, François Perrad wrote:
> FYI a recent talk 
> http://steve-yegge.blogspot.com/2008/05/dynamic-languages-strike-back.html

Which ties in nicely with the announcement of SquirrelFish yesterday:

    http://webkit.org/blog/189/announcing-squirrelfish/

---snip---

What Is SquirrelFish?

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:

The Structure and Performance of Efficient Interpreters
http://citeseer.ist.psu.edu/cache/papers/cs/32018/http:zSzzSzwww.jilp.orgzSzvol5zSzv5paper12.pdf/ertl03structure.pdf
(Introduces the fundamentals of virtual machine design and explains the 
importance of direct threading)

Virtual Machine Showdown: Stack Versus Registers
http://www.sagecertification.org/events/vee05/full_papers/p153-yunhe.pdf
(Details the benefits of register machines, and the importance of copy 
propagation)

The Implementation of Lua 5.0
http://www.tecgraf.puc-rio.br/~lhf/ftp/doc/jucs05.pdf
(Outlines the implementation of a real-world register-based bytecode engine, 
with a sliding register window calling consign to 

---snip---

I'd guess there's some useful ideas in there.

Tim.

Reply via email to