Message-ID: <233@iham1.UUCP>
Date: Wed, 10-Oct-84 19:23:27 EDT
Article-I.D.: iham1.233
Posted: Wed Oct 10 19:23:27 1984
Date-Received: Fri, 12-Oct-84 08:04:01 EDT
Organization: AT&T Bell Labs, Naperville, IL
Lines: 35
An article appeared in a recent issue of BYTE presenting a case for changing
the way FORTH handles its threading. Ordinarily, FORTH's resident words are
written in assembler and the user defined words are threaded using these
resident words and other user defined words. At the end of any particular
word, a return pointer to the preceding word is stored. The article said that
this technique was used to keep FORTH small.
A faster way to handle returns from any particular word would be to use the
return procedure built into the microprocessor. Rather than going through the
bother of storing the pointers, the author argued that treating every word as
a subroutine would provide faster execution. He then gave some comparisons
between the usual pointer returns and the subroutine/macro routines that he
advocated.
I have the opportunity to obtain the assembly source code for the FORTH that
has been implemented by Texas Instruments on their TI 99/4A. If there is
indeed a significant performance improvement to be realized, a nice project
for me might involve modifying the returns according to this guy's proposal.
My question concerns the value of the article's argument.
Is there a significant performance improvement to be had by treating FORTH
words as subroutines? Has anyone in netland considered this possibility? Are
there presently some implementations of FORTH that already treat its words as
subroutines (and uses the subroutine return native to the micro)? Replies
will be read if either posted to this newsgroup or sent to me directly.
Thank you.
--
Patrick Wyant
AT&T Bell Laboratories (Naperville, IL)
*!iham1!gjphw