--- gforth/peeprules.vmg 2003/11/03 20:39:03 1.11 +++ gforth/peeprules.vmg 2003/12/31 16:26:13 1.14 @@ -1,28 +1,51 @@ +\ Gforth superinstructions and stack caching replicas + +\ Copyright (C) 2003 Free Software Foundation, Inc. + +\ This file is part of Gforth. + +\ Gforth is free software; you can redistribute it and/or +\ modify it under the terms of the GNU General Public License +\ as published by the Free Software Foundation; either version 2 +\ of the License, or (at your option) any later version. + +\ This program is distributed in the hope that it will be useful, +\ but WITHOUT ANY WARRANTY; without even the implied warranty of +\ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +\ GNU General Public License for more details. + +\ You should have received a copy of the GNU General Public License +\ along with this program; if not, write to the Free Software +\ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. + \ taken from David Gregg's EuroForth 2001 paper; omitted some sequences +\ eliminated for gforth-native: +\ 1) sequences containing call +\ 2) sequences with immediate arguments not in the first position super1 = lit + -super2 = lit call +\ super2 = lit call super3 = lit @ -super4 = lit @ call -super5 = @ call +\ super4 = lit @ call +\ super5 = @ call super6 = lit ! -super7 = lit lit -super8 = dup lit -super9 = ! lit -super10 = lit ! lit +\ super7 = lit lit +\ super8 = dup lit +\ super9 = ! lit +\ super10 = lit ! lit super11 = ! ;s super12 = lit + @ -super13 = 0= ?branch -super14 = dup call +\ super13 = 0= ?branch +\ super14 = dup call super15 = useraddr @ super16 = + @ -super17 = lit @ ?branch +\ super17 = lit @ ?branch super18 = lit ! ;s super19 = lit @ and -super20 = = ?branch -super21 = lit lit ! -super22 = @ ?branch +\ super20 = = ?branch +\ super21 = lit lit ! +\ super22 = @ ?branch super23 = useraddr ! -super24 = dup ?branch +\ super24 = dup ?branch super25 = @ ;s super26 = lit @ + super27 = dup @