views:

346

answers:

3

I'd like to learn more about VM implementation and optimization. Right now I'm contributing (in a small way) with JRuby and am also playing/writing with my own lisp-like language implementation that runs in a VM.

However I'd like to get more information on working with VM's and designing them. Is there a good resource for this type of information besides reading/working with existing code? I'm not opposed to do that, I just wondered if there were other sources I could be looking into.

+1  A: 

Have a look at LLVM and Parrot.

Charlie Martin
+4  A: 

also check The Implementation of Lua 5.0. it's widely regarded as the fastest VM in its class and also one of the cleanest and smallest implementations.

Javier
+2  A: 

Read the work of Anton Ertl. Also David Gregg. Also you might want to read the Smalltalk blue book which has three chapters on the VM. The Smalltalk Green Book is also interesting and is free online.

Less technical but still interesting, if you have access to the ACM Digital Library, is the grand-daddy of all portable VMs, UCSD Pascal.

Fninally, I second the recommendation of The Implementation of Lua 5.0. This is superb work.

Norman Ramsey