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