version 1.15, 2004/01/19 10:11:26
|
version 1.20, 2007/12/31 18:40:24
|
Line 1
|
Line 1
|
\ Gforth superinstructions and stack caching replicas |
\ Gforth superinstructions and stack caching replicas |
|
|
\ Copyright (C) 2003 Free Software Foundation, Inc. |
\ Copyright (C) 2003,2004,2005 Free Software Foundation, Inc. |
|
|
\ This file is part of Gforth. |
\ This file is part of Gforth. |
|
|
\ Gforth is free software; you can redistribute it and/or |
\ Gforth is free software; you can redistribute it and/or |
\ modify it under the terms of the GNU General Public License |
\ modify it under the terms of the GNU General Public License |
\ as published by the Free Software Foundation; either version 2 |
\ as published by the Free Software Foundation, either version 3 |
\ of the License, or (at your option) any later version. |
\ of the License, or (at your option) any later version. |
|
|
\ This program is distributed in the hope that it will be useful, |
\ This program is distributed in the hope that it will be useful, |
Line 15
|
Line 15
|
\ GNU General Public License for more details. |
\ GNU General Public License for more details. |
|
|
\ You should have received a copy of the GNU General Public License |
\ You should have received a copy of the GNU General Public License |
\ along with this program; if not, write to the Free Software |
\ along with this program. If not, see http://www.gnu.org/licenses/. |
\ 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: |
\ eliminated for gforth-native: |
Line 63 super27 = dup @
|
Line 62 super27 = dup @
|
\E branch-states ?branch \ 1134432 |
\E branch-states ?branch \ 1134432 |
\E prim-states lit@ \ 1051813 |
\E prim-states lit@ \ 1051813 |
\E prim-states swap \ 737988 |
\E prim-states swap \ 737988 |
\ \E S0 S2 state-prim swap |
\E S0 S2 state-prim swap |
\ \E S1 S2 state-prim swap |
\E S1 S2 state-prim swap |
\ \E S2 S3 state-prim swap |
\E S2 S3 state-prim swap |
\ \E S3 S2 state-prim swap |
\E S3 S2 state-prim swap |
\E prim-states c@ \ 651406 |
\E prim-states c@ \ 651406 |
\E prim-states = \ 590006 |
\E prim-states = \ 590006 |
\E prim-states 0= \ 584487 |
\E prim-states 0= \ 584487 |
\E prim-states dup \ 566855 |
\E prim-states dup \ 566855 |
\E S0 S1 state-prim dup |
\E S0 S1 state-prim dup |
|
\E S1 S1 state-prim dup |
\E prim-states + \ 566003 |
\E prim-states + \ 566003 |
\E prim-states i \ 502908 |
\E prim-states i \ 502908 |
\E prim-states +! \ 448925 |
\E prim-states +! \ 448925 |
Line 82 super27 = dup @
|
Line 82 super27 = dup @
|
\E prim-states useraddr \ 303254 |
\E prim-states useraddr \ 303254 |
\E prim-states over \ 283556 |
\E prim-states over \ 283556 |
\E S0 S1 state-prim over |
\E S0 S1 state-prim over |
\ \E S1 S2 state-prim over |
\E S1 S2 state-prim over |
\ \E S2 S1 state-prim over |
\E S2 S1 state-prim over |
\ \E S3 S2 state-prim over |
\E S3 S2 state-prim over |
\E prim-states negate \ 257417 |
\E prim-states negate \ 257417 |
\E prim-states cells \ 254644 |
\E prim-states cells \ 254644 |
\E prim-states rot \ 220273 |
\E prim-states rot \ 220273 |
\ \E S3 S1 state-prim rot |
\E S3 S1 state-prim rot |
\ \E S2 S3 state-prim rot |
\E S2 S3 state-prim rot |
\ \E S1 S3 state-prim rot |
\E S1 S3 state-prim rot |
\ \E S0 S3 state-prim rot |
\E S0 S3 state-prim rot |
|
\E S4 S2 state-prim rot |
|
\E S5 S3 state-prim rot |
\E prim-states ! \ 218672 |
\E prim-states ! \ 218672 |
\E prim-states 2dup \ 211315 |
\E prim-states 2dup \ 211315 |
\E S0 S1 state-prim 2dup |
\E S0 S1 state-prim 2dup |
\ \E S0 S2 state-prim 2dup |
\E S0 S2 state-prim 2dup |
\ \E S1 S3 state-prim 2dup |
\E S1 S3 state-prim 2dup |
\ \E S2 S2 state-prim 2dup |
\E S2 S2 state-prim 2dup |
\ \E S3 S1 state-prim 2dup |
\E S3 S1 state-prim 2dup |
|
\E S4 S4 state-prim 2dup |
|
\E S4 S2 state-prim 2dup |
\ \E branch-states lit-perform \ 188331 |
\ \E branch-states lit-perform \ 188331 |
\E prim-states <> \ 179502 |
\E prim-states <> \ 179502 |
\E prim-states c! \ 179332 |
\E prim-states c! \ 179332 |
Line 117 super27 = dup @
|
Line 121 super27 = dup @
|
\E prim-states lp+ \ 87190 \ -- |
\E prim-states lp+ \ 87190 \ -- |
\E prim-states >= \ 80994 |
\E prim-states >= \ 80994 |
\E prim-states tuck \ 78696 |
\E prim-states tuck \ 78696 |
\ \E S2 S2 state-prim tuck |
\E S2 S2 state-prim tuck |
|
\E S3 S3 state-prim tuck |
\E prim-states /string \ 78595 |
\E prim-states /string \ 78595 |
\E prim-states char+ \ 77542 |
\E prim-states char+ \ 77542 |
\ \E prim-states ?dup \ 76850 |
\E prim-states ?dup \ 76850 |
\E prim-states @local0 \ 75322 |
\E prim-states @local0 \ 75322 |
\E prim-states min \ 75264 |
\E prim-states min \ 75264 |
\ \E prim-states compare \ 65603 |
\ \E prim-states compare \ 65603 |
Line 133 super27 = dup @
|
Line 138 super27 = dup @
|
\E prim-states nip \ 54961 |
\E prim-states nip \ 54961 |
\E S1 S1 state-prim nip |
\E S1 S1 state-prim nip |
\E S0 S1 state-prim nip |
\E S0 S1 state-prim nip |
|
\E S2 S2 state-prim nip |
\E prim-states within \ 51075 |
\E prim-states within \ 51075 |
\E prim-states 1- \ 47441 |
\E prim-states 1- \ 47441 |
\E branch-states execute \ 46674 |
\E branch-states execute \ 46674 |
Line 143 super27 = dup @
|
Line 149 super27 = dup @
|
\ \E prim-states pick \ 32015 |
\ \E prim-states pick \ 32015 |
\E prim-states u> \ 29373 |
\E prim-states u> \ 29373 |
\E prim-states -rot \ 26211 |
\E prim-states -rot \ 26211 |
\ \E S3 S2 state-prim -rot |
\E S3 S2 state-prim -rot |
\ \E S1 S3 state-prim -rot |
\E S1 S3 state-prim -rot |
|
\E S4 S3 state-prim -rot |
|
\E S2 S4 state-prim -rot |
|
\E S3 S5 state-prim -rot |
\E prim-states 2drop \ 25418 |
\E prim-states 2drop \ 25418 |
\E S0 S0 state-prim 2drop |
\E S0 S0 state-prim 2drop |
\E S1 S0 state-prim 2drop |
\E S1 S0 state-prim 2drop |
Line 179 super27 = dup @
|
Line 188 super27 = dup @
|
\E branch-states (+do) \ 5863 |
\E branch-states (+do) \ 5863 |
\ \E prim-states va-return-double \ 5517 |
\ \E prim-states va-return-double \ 5517 |
\E prim-states um* \ 5342 |
\E prim-states um* \ 5342 |
\E prim-states toupper \ 3517 |
\ \E prim-states toupper \ 3517 |
\ \E prim-states f@local1 \ 2907 |
\ \E prim-states f@local1 \ 2907 |
\ \E prim-states rp! \ 2859 |
\ \E prim-states rp! \ 2859 |
\ \E prim-states ?dup-?branch \ 2829 |
\ \E prim-states ?dup-?branch \ 2829 |
Line 198 super27 = dup @
|
Line 207 super27 = dup @
|
\E prim-states > \ 411 |
\E prim-states > \ 411 |
\ \E prim-states (hashlfind) \ 397 |
\ \E prim-states (hashlfind) \ 397 |
\E prim-states 2swap \ 336 |
\E prim-states 2swap \ 336 |
\ \E S0 S3 state-prim 2swap |
\E S0 S3 state-prim 2swap |
\ \E S1 S3 state-prim 2swap |
\E S1 S3 state-prim 2swap |
|
\E S2 S4 state-prim 2swap |
|
\E S4 S2 state-prim 2swap |
\E prim-states laddr# \ 335 |
\E prim-states laddr# \ 335 |
\ \E prim-states faxpy \ 286 |
\ \E prim-states faxpy \ 286 |
\ \E prim-states (next) \ 272 |
\ \E prim-states (next) \ 272 |
Line 208 super27 = dup @
|
Line 219 super27 = dup @
|
\E prim-states invert \ 170 |
\E prim-states invert \ 170 |
\E branch-states (-do) \ 169 |
\E branch-states (-do) \ 169 |
\E prim-states 2over \ 165 |
\E prim-states 2over \ 165 |
\ \E S0 S2 state-prim 2over |
\E S0 S2 state-prim 2over |
\ \E S1 S3 state-prim 2over |
\E S1 S3 state-prim 2over |
|
\E S2 S4 state-prim 2over |
|
\E S3 S5 state-prim 2over |
|
\E S4 S2 state-prim 2over |
|
\E S5 S3 state-prim 2over |
|
\E S6 S4 state-prim 2over |
\E prim-states under+ \ 154 |
\E prim-states under+ \ 154 |
\E prim-states dnegate \ 128 |
\E prim-states dnegate \ 128 |
\E prim-states u<> \ 128 |
\E prim-states u<> \ 128 |