Annotation of gforth/peeprules.vmg, revision 1.11
1.8 anton 1: \ taken from David Gregg's EuroForth 2001 paper; omitted some sequences
1.7 anton 2: super1 = lit +
3: super2 = lit call
4: super3 = lit @
1.8 anton 5: super4 = lit @ call
6: super5 = @ call
7: super6 = lit !
8: super7 = lit lit
9: super8 = dup lit
10: super9 = ! lit
11: super10 = lit ! lit
12: super11 = ! ;s
13: super12 = lit + @
14: super13 = 0= ?branch
15: super14 = dup call
16: super15 = useraddr @
17: super16 = + @
18: super17 = lit @ ?branch
19: super18 = lit ! ;s
20: super19 = lit @ and
21: super20 = = ?branch
22: super21 = lit lit !
23: super22 = @ ?branch
24: super23 = useraddr !
25: super24 = dup ?branch
26: super25 = @ ;s
27: super26 = lit @ +
28: super27 = dup @
1.9 anton 29:
1.11 ! anton 30: \F 0 [if]
1.9 anton 31:
1.10 anton 32: \ \ \E prim-states ;s \ 2950159
33: \ \E prim-states lit \ 2802835
34: \ \ \E prim-states call \ 2558373
35: \ \E prim-states @ \ 2244351
36: \ \E branch-states ?branch \ 1134432
37: \ \E prim-states lit@ \ 1051813
38: \ \E prim-states swap \ 737988
1.11 ! anton 39: \ \ \E S0 S2 state-prim swap
! 40: \ \ \E S1 S2 state-prim swap
! 41: \ \ \E S2 S3 state-prim swap
! 42: \ \ \E S3 S2 state-prim swap
1.10 anton 43: \ \E prim-states c@ \ 651406
44: \ \E prim-states = \ 590006
45: \ \E prim-states 0= \ 584487
46: \ \E prim-states dup \ 566855
47: \ \E S0 S1 state-prim dup
48: \ \E prim-states + \ 566003
49: \ \E prim-states i \ 502908
50: \ \E prim-states +! \ 448925
51: \ \ \E prim-states branch \ 409561
52: \ \ \E prim-states (loop) \ 379646
53: \ \ \E prim-states lp! \ 326743
54: \ \E prim-states and \ 309427
55: \ \E prim-states useraddr \ 303254
56: \ \E prim-states over \ 283556
57: \ \E S0 S1 state-prim over
1.11 ! anton 58: \ \ \E S1 S2 state-prim over
! 59: \ \ \E S2 S1 state-prim over
! 60: \ \ \E S3 S2 state-prim over
1.10 anton 61: \ \E prim-states negate \ 257417
62: \ \E prim-states cells \ 254644
63: \ \E prim-states rot \ 220273
1.11 ! anton 64: \ \ \E S3 S1 state-prim rot
! 65: \ \ \E S2 S3 state-prim rot
! 66: \ \ \E S1 S3 state-prim rot
! 67: \ \ \E S0 S3 state-prim rot
1.10 anton 68: \ \E prim-states ! \ 218672
69: \ \E prim-states 2dup \ 211315
1.11 ! anton 70: \ \E S0 S1 state-prim 2dup
! 71: \ \ \E S0 S2 state-prim 2dup
! 72: \ \ \E S1 S3 state-prim 2dup
! 73: \ \ \E S2 S2 state-prim 2dup
! 74: \ \ \E S3 S1 state-prim 2dup
1.10 anton 75: \ \ \E branch-states lit-perform \ 188331
76: \ \E prim-states <> \ 179502
77: \ \E prim-states c! \ 179332
78: \ \E prim-states lit+ \ 179156
79: \ \E prim-states drop \ 173995
80: \ \E S0 S0 state-prim drop
81: \ \E prim-states lshift \ 164671
82: \ \E prim-states /mod \ 164670
83: \ \E prim-states >r \ 145247
84: \ \E prim-states r> \ 133792
85: \ \ \E branch-states does-exec \ 120944
86: \ \E prim-states cell+ \ 116183
87: \ \E prim-states lp+!# \ 106697 \ --
88: \ \E prim-states - \ 106245
89: \ \E prim-states unloop \ 98938 \ --
90: \ \E prim-states lp+ \ 87190 \ --
91: \ \E prim-states >= \ 80994
92: \ \E prim-states tuck \ 78696
1.11 ! anton 93: \ \ \E S2 S2 state-prim tuck
1.10 anton 94: \ \E prim-states /string \ 78595
95: \ \E prim-states char+ \ 77542
96: \ \ \E prim-states ?dup \ 76850
97: \ \E prim-states @local0 \ 75322
98: \ \E prim-states min \ 75264
99: \ \ \E prim-states compare \ 65603
100: \ \E branch-states (u+do) \ 63823
101: \ \ \E prim-states (read-line) \ 63823
102: \ \E prim-states 2>r \ 62646
103: \ \E prim-states 2r> \ 62644
104: \ \E prim-states 2r@ \ 61338
105: \ \E prim-states 2@ \ 61067
106: \ \E prim-states nip \ 54961
107: \ \E S1 S1 state-prim nip
108: \ \E S0 S1 state-prim nip
109: \ \E prim-states within \ 51075
110: \ \E prim-states 1- \ 47441
111: \ \E branch-states execute \ 46674
112: \ \E prim-states lp- \ 45385
113: \ \E branch-states perform \ 38756
114: \ \E prim-states xor \ 35599
115: \ \E prim-states @local# \ 34586
116: \ \ \E prim-states pick \ 32015
117: \ \E prim-states u> \ 29373
118: \ \E prim-states -rot \ 26211
1.11 ! anton 119: \ \ \E S3 S2 state-prim -rot
! 120: \ \ \E S1 S3 state-prim -rot
1.10 anton 121: \ \E prim-states 2drop \ 25418
122: \ \E S0 S0 state-prim 2drop
123: \ \E S1 S0 state-prim 2drop
124: \ \ \E prim-states (tablelfind) \ 22243
125: \ \E prim-states or \ 21587
126: \ \E prim-states @local2 \ 20859
127: \ \E branch-states (+loop) \ 20006
128: \ \E prim-states 1+ \ 17944
129: \ \E prim-states rdrop \ 17902
130: \ \E branch-states (?do) \ 17348
131: \ \E prim-states max \ 16948
132: \ \E prim-states 2* \ 15606
133: \ \ \E prim-states filename-match \ 15003
134: \ \ \E prim-states (listlfind) \ 13074
135: \ \ \E prim-states sp@ \ 12741
136: \ \ \E prim-states fp@ \ 12384
137: \ \ \E prim-states um/mod \ 12288
138: \ \E prim-states 2! \ 11904
139: \ \ \E prim-states fill \ 10781
140: \ \ \E prim-states (parse-white) \ 10624
141: \ \E branch-states (do) \ 10516
142: \ \ \E prim-states (hashkey1) \ 10239
143: \ \E prim-states u< \ 9602
144: \ \ \E prim-states write-file \ 8973
145: \ \E prim-states count \ 8873
146: \ \ \E prim-states rp@ \ 8410
147: \ \E prim-states 0< \ 8380
148: \ \E prim-states < \ 7741
149: \ \E prim-states @local1 \ 7458
150: \ \ \E prim-states move \ 7050
151: \ \E prim-states u>= \ 6138
152: \ \E branch-states (+do) \ 5863
153: \ \ \E prim-states va-return-double \ 5517
154: \ \E prim-states um* \ 5342
155: \ \E prim-states toupper \ 3517
156: \ \ \E prim-states f@local1 \ 2907
157: \ \ \E prim-states rp! \ 2859
158: \ \ \E prim-states ?dup-?branch \ 2829
159: \ \E prim-states d+ \ 2671
160: \ \ \E prim-states ftuck \ 2636
161: \ \ \E prim-states read-file \ 2623
162: \ \ \E prim-states ms \ 2454
163: \ \ \E prim-states (s+loop) \ 2429
164: \ \ \E prim-states allocate \ 1869
165: \ \E prim-states * \ 1520
166: \ \E prim-states 0<> \ 925
167: \ \ \E prim-states noop \ 715
168: \ \E prim-states aligned \ 714
169: \ \E prim-states u<= \ 684
170: \ \E prim-states i' \ 684
171: \ \E prim-states > \ 411
172: \ \ \E prim-states (hashlfind) \ 397
173: \ \E prim-states 2swap \ 336
1.11 ! anton 174: \ \ \E S0 S3 state-prim 2swap
! 175: \ \ \E S1 S3 state-prim 2swap
1.10 anton 176: \ \E prim-states laddr# \ 335
177: \ \ \E prim-states faxpy \ 286
178: \ \ \E prim-states (next) \ 272
179: \ \ \E prim-states (-loop)-lp+!# \ 248
180: \ \E prim-states <= \ 199
181: \ \E prim-states invert \ 170
182: \ \E branch-states (-do) \ 169
183: \ \E prim-states 2over \ 165
1.11 ! anton 184: \ \ \E S0 S2 state-prim 2over
! 185: \ \ \E S1 S3 state-prim 2over
1.10 anton 186: \ \E prim-states under+ \ 154
187: \ \E prim-states dnegate \ 128
188: \ \E prim-states u<> \ 128
189: \ \E prim-states 0> \ 122
190: \ \ \E prim-states (loop)-lp+!# \ 118
191: \ \E prim-states j \ 117
192: \ \E prim-states float+ \ 78
193: \ \ \E prim-states (for) \ 68
194: \ \E prim-states 2rdrop \ 60 \ --
195: \ \ \E prim-states f! \ 14
196: \ \E prim-states >l \ 14
197: \ \ \E prim-states close-file \ 5
198: \ \ \E prim-states call-c \ 4
199: \ \ \E prim-states reposition-file \ 3
200: \ \E prim-states / \ 3
201: \ \ \E prim-states resize-file \ 2
202: \ \ \E prim-states free \ 2
203: \ \E prim-states 2/ \ 2
204: \ \ \E prim-states up! \ 1
205: \ \ \E prim-states stdin \ 1
206: \ \ \E prim-states key?-file \ 1
207: \ \ \E prim-states flush-icache \ 1
208: \ \ \E prim-states cmove \ 1
209: \ \ \E prim-states (system) \ 1
1.9 anton 210:
1.10 anton 211: \ \E ' noop is output-nextp0
212: \ \E ' noop is output-nextp1
1.9 anton 213:
1.10 anton 214: \ \E gen-transitions noop
1.9 anton 215:
1.11 ! anton 216: \F [ENDIF]
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>