[OpenBIOS] Local variable support
Segher Boessenkool
segher at kernel.crashing.org
Sat Aug 25 15:32:01 CEST 2012
> Actually after I little research, this isn't the right approach
> after all - apparently the variables are stored on the return
> stack: http://www.softsynth.com/pforth/pf_ref.php#Local%20Variables%
> 20{%20foo%20--}.
Putting locals on the return stack is only one implementation
strategy: many more are possible. Apple's OF uses a separate
stack (well, sort-of a stack, anyway) for it. If you plan to
use locals a lot (very very bad plan in Forth code, IMNSHO), a
separate stack is most likely the cheapest way to do it (in code
space, code time, developer time, and developer sanity). One
reason to use locals a lot is when you compile e.g. C code to
FCode; it is almost never convenient to use locals in well-designed
Forth code.
The advantages of putting the locals on an existing stack all
boil down to it being an existing stack: you do not have to set
up a stack for it, to size that stack, to handle it in CATCH/THROW,
etc.
Segher
More information about the OpenBIOS
mailing list