Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Whats the best way to learn about VM implementation besides actually hacking code?

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.

like image 773
Zac Brown MSFT Avatar asked Apr 03 '09 01:04

Zac Brown MSFT


3 Answers

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.

like image 144
Javier Avatar answered Oct 23 '22 03:10

Javier


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.

like image 21
Norman Ramsey Avatar answered Oct 23 '22 03:10

Norman Ramsey


Have a look at LLVM and Parrot.

like image 31
Charlie Martin Avatar answered Oct 23 '22 04:10

Charlie Martin