[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: basic parrot questions
On Mon, Dec 03, 2001 at 08:31:00AM -0800, Terrence Brannon wrote:
> Also, I thought Parrot was not "stack-based" If that is the case
> then why does Overview.pod say this:
>
> "Registers will be stored in register frames, which can be pushed and
> popped onto the register stack. For instance, a subroutine or a block
> might need its own register frame."
This describes the operation of a register based architecture. That is,
the current state of the registers (register frame) are pushed and popped
as necessary (typically upon function invocation).
A stack architecture does not have general purpose registers that
are individually addressable. The Forth "VM" (implemented in
silicon by i-forget-whom) contains a stack of ~16 data and ~16 code
operands, and no registers. There is no way to address the individual
contents of the stacks, save the topmost element (or two) of the stack.
Z.