On 13 Oct 2001, Brian Wheeler wrote:

> Here's a small change to push* which copies the last context
> automatically.  I was thinking about Dan's "clone" opcode, when I
> realized that most of the time you're going to want the values, and if
> you don't, you can always issue a clear.  It passes all of the make
> tests, and it allows recursive programs to be written, such as the
> factorial below.
> 
> Dan, what do you think?

I'm not sure. I think having push, clear, and clone over just clone and
clear is a win in those cases where you don't want to bother with old
values. If you're getting a new chunk of registers whose contents are
going to be ignored, why pay the price to clear 'em?

On the other hand, it *does* reduce the function and opcode count, and
that's not a bad thing. I'm not sure at the moment, but I think I'd like
to stick with the push/clone/clear model for the moment.

I am, though, seriously thinking of a separate set of registers just for
subroutine parameter passing, but I don't have the ramifications worked
out just yet.

                                        Dan

Reply via email to