Re: Bytecode compilers and virtual machines

andrew@cee.hw.ac.uk (Andrew Dinn)
Thu, 18 Aug 1994 10:30:01 GMT

          From comp.compilers

Related articles
Bytecode compilers and virtual machines smcl@sytex.com (1994-08-12)
Re: Bytecode compilers and virtual machines andrew@cee.hw.ac.uk (1994-08-18)
| List of all articles for this month |
Newsgroups: comp.compilers
From: andrew@cee.hw.ac.uk (Andrew Dinn)
Keywords: interpreter
Organization: Dept of Computing and Electrical Engineering, Heriot-Watt University
References: 94-08-088
Date: Thu, 18 Aug 1994 10:30:01 GMT

Scott McLoughlin (smcl@sytex.com) wrote:
: I am seeking literature on bytecode compilation to
: a virtual machine instruction set.


Prolog:
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.


Lisp:
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.


Concurrent Prolog:


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 :-).




Andrew Dinn
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.