--- gforth/doc/vmgen.texi 2003/03/02 13:12:33 1.24 +++ gforth/doc/vmgen.texi 2005/01/24 22:18:34 1.27 @@ -10,7 +10,7 @@ This manual is for Vmgen (version @value{VERSION}, @value{UPDATED}), the virtual machine interpreter generator -Copyright @copyright{} 2002, 03 Free Software Foundation, Inc. +Copyright @copyright{} 2002,2003,2005 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -906,6 +906,12 @@ if (branch_condition) @{ SUPER_CONTINUE; @end example +@item VM_JUMP +@findex VM_JUMP +@code{VM_JUMP(target)} is equivalent to @code{goto *(target)}, but +allows Vmgen to do dynamic superinstructions and replication. You +still need to say @code{SUPER_END}. + @end table Note that Vmgen is not smart about C-level tokenization, comments, @@ -1108,7 +1114,7 @@ n++; Instead, you have to use different names, i.e.: @example -add1 ( n1 -- n1 ) +add1 ( n1 -- n2 ) n2=n1+1; @end example @@ -1461,6 +1467,13 @@ profiling. @item SUPER_CONTINUE This is just a hint to Vmgen and does nothing at the C level. +@findex MAYBE_UNUSED +@item MAYBE_UNUSED +This should be defined as @code{__attribute__((unused))} for gcc-2.7 and +higher. It suppresses the warnings about unused variables in the code +for superinstructions. You need to define this only if you are using +superinstructions. + @findex VM_DEBUG @item VM_DEBUG If this is defined, the tracing code will be compiled in (slower @@ -1638,7 +1651,7 @@ instruction instead of laying down @code The code for peephole optimization is in @file{vmgen-ex/peephole.c}. You can use this file almost verbatim. Vmgen generates -@file{@var{file}-peephole.i} which contains data for the peephoile +@file{@var{file}-peephole.i} which contains data for the peephole optimizer. @findex init_peeptable