version 1.11, 2003/11/03 20:39:03
|
version 1.14, 2003/12/31 16:26:13
|
Line 1
|
Line 1
|
|
\ 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 |
\ 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 + |
super1 = lit + |
super2 = lit call |
\ super2 = lit call |
super3 = lit @ |
super3 = lit @ |
super4 = lit @ call |
\ super4 = lit @ call |
super5 = @ call |
\ super5 = @ call |
super6 = lit ! |
super6 = lit ! |
super7 = lit lit |
\ super7 = lit lit |
super8 = dup lit |
\ super8 = dup lit |
super9 = ! lit |
\ super9 = ! lit |
super10 = lit ! lit |
\ super10 = lit ! lit |
super11 = ! ;s |
super11 = ! ;s |
super12 = lit + @ |
super12 = lit + @ |
super13 = 0= ?branch |
\ super13 = 0= ?branch |
super14 = dup call |
\ super14 = dup call |
super15 = useraddr @ |
super15 = useraddr @ |
super16 = + @ |
super16 = + @ |
super17 = lit @ ?branch |
\ super17 = lit @ ?branch |
super18 = lit ! ;s |
super18 = lit ! ;s |
super19 = lit @ and |
super19 = lit @ and |
super20 = = ?branch |
\ super20 = = ?branch |
super21 = lit lit ! |
\ super21 = lit lit ! |
super22 = @ ?branch |
\ super22 = @ ?branch |
super23 = useraddr ! |
super23 = useraddr ! |
super24 = dup ?branch |
\ super24 = dup ?branch |
super25 = @ ;s |
super25 = @ ;s |
super26 = lit @ + |
super26 = lit @ + |
super27 = dup @ |
super27 = dup @ |