|Bytecode compilers and virtual machines firstname.lastname@example.org (1994-08-12)|
|Re: Bytecode compilers and virtual machines email@example.com (1994-08-18)|
|From:||firstname.lastname@example.org (Andrew Dinn)|
|Organization:||Dept of Computing and Electrical Engineering, Heriot-Watt University|
|Date:||Thu, 18 Aug 1994 10:30:01 GMT|
Scott McLoughlin (email@example.com) wrote:
: I am seeking literature on bytecode compilation to
: a virtual machine instruction set.
Hassan Ait-Kaci's book on the Prolog virtual machine
`Warren's Abstract Machine: A Tutorial Reconstruction'
is a good introduction to Prolog compilation to byte-code.
There was a microcoder's guide for the Xerox Lisp machine floating
around PARC in the mid 80's which gave some explanation of the
byte-code it used. The Interlisp-D and Xerox Common Lisp manuals give
a more cursory treatment. Gabriel's book on Lisp benchmarking (can't
remember the title off the top of my head) discusses the way the Xerox
Lisp VM was microcoded to support garbage collection.
The KL1 virtual machine (available from ICOT) has opcodes which
support on the fly garbage collection. I don't have references for
this work but it is written up in the literature and presumably ICOT
can supply details. The Strand88 VM is written up as an Imperial
College Technical Report which may still be available from them. It
lists full details of the VM bytecode organisation with some rationale
wrt compilation strategy and parallel execution & GC requirements.
Most notorious of all, the Flat Concurrent Prolog VM is described in
great detail in a patent owned by Ehud Shapiro (although I suspect the
only rationale you will derive from it concerns protection against
loss of tenure :-).
Return to the
Search the comp.compilers archives again.