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.