[ANN] Vmgen 0.6.1 released

anton@mips.complang.tuwien.ac.at (Anton Ertl)
30 Mar 2003 00:45:38 -0500

          From comp.compilers

Related articles
[ANN] Vmgen 0.6.1 released anton@mips.complang.tuwien.ac.at (2003-03-30)
| List of all articles for this month |

From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.compilers
Date: 30 Mar 2003 00:45:38 -0500
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Keywords: tools, architecture
Posted-Date: 30 Mar 2003 00:45:38 EST

Vmgen generates much of the code for efficient virtual machine (VM)
interpreters from simple descriptions of the VM instructions. It
generates code for executing VM instructions (with optional tracing),
for generating VM code, for disassembling VM code, and for profiling
VM instruction sequences. Interpreters created with vmgen usually are
faster than competing interpreters and are typically only a factor of
2-10 slower than the code generateed by native-code compilers.

The Vmgen home page is at

Vmgen is distributed as part of the Gforth package. It is available
from ftp://ftp.gnu.org/gnu/gforth/ and its mirrors (see
http://www.gnu.org/order/ftp.html), and from

User-visible changes between 0.5.9-20020901 and 0.6.0:

Support for upward-growing stacks (see "Stack growth direction" in the
New macro in output: IMM_ARG.
New input flag: include-skipped-insts (currently pointless).
Lazy loading and eager storing of stack items in superinstructiuons;
    this reduces register pressure (useful on 386), but causes compiler
    warnings about unused variables.

User-visible changes between 0.5.9-20020822 and 0.5.9-20020901:

The store optimization is now disabled by default, but can be enabled
by the user. Documentation for this optimization is also new.

Use-visible changes between 0.5.9-20010501 and 0.5.9-20020822:

There is now a manual (in info, HTML, Postscript, or plain text format).

There is the vmgen-ex2 variant of the vmgen-ex example; the new
variant uses a union type instead of lots of casting.

Both variants of the example can now be compiled with an ANSI C
compiler (using switch dispatch and losing quite a bit of
performance); tested with lcc.

There are several changes in the way you have to define macros (see
node/section "Changes" in the manual). I recommend keeping the
gforth-0.5.9-20010501 version until you have completed the changes
(note that you can have several versions of Gforth installed at the
same time).

- anton
M. Anton Ertl

Post a followup to this message

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