|Questions about Bytecode Sean.D.Gillespie@gmail.com (Bison) (2007-04-18)|
|Re: Questions about Bytecode firstname.lastname@example.org (Eric) (2007-04-19)|
|Re: Questions about Bytecode DrDiettrich1@aol.com (Hans-Peter Diettrich) (2007-04-19)|
|Re: Questions about Bytecode cfc@shell01.TheWorld.com (Chris F Clark) (2007-04-19)|
|Re: Questions about Bytecode Sean.D.Gillespie@gmail.com (Bison) (2007-04-20)|
|Re: Questions about Bytecode email@example.com (2007-04-23)|
|Re: Questions about Bytecode firstname.lastname@example.org (Andy Johnson) (2007-04-23)|
|Re: Questions about Bytecode DrDiettrich1@aol.com (Hans-Peter Diettrich) (2007-04-23)|
|[6 later articles]|
|Date:||19 Apr 2007 00:21:59 -0400|
|Posted-Date:||19 Apr 2007 00:21:59 EDT|
On Apr 18, 1:50 pm, "Bison" <Sean.D.Gilles...@gmail.com> wrote:
> Are there any VMs that would be good examples
> (and that is open source)?
There are many open source VMs, such as Jikes, but most of them are
quite complex. I think most VMs use a literal pool just to conserve
resources. But that is becoming less important on modern computers.
The NanoVM microcontroller virtual machine is pretty easy to
understand and is written in C. NanoVM runs NVM coded programs. These
are created by a translator program called NanoVMTool that runs on a
PC. NanoVMTool takes a Java byte code compiled program and down-sizes
it to meet the needs of the tiny NanoVM. NanoVM itself can run a
program on a PC, or on an AVR micrcontroller.
The UCSD p-machine is also somewhat easy to understand, and sources
have recently surfaced for that, along with detailed documentation.
This is a non-OOP model and it extrememly efficient with a memory
constrained environment. It could run programs coded in many
languages, not just Pascal. I remember seeing COBOL and Fortran
support for it. But it pre-dated the popularity of C, so I don't think
C was a supported language.
Return to the
Search the comp.compilers archives again.