mcdaniel@decwrl.UUCP (12/31/83)
From: mcdaniel (Gene McDaniel) Regarding the use of a stack, and the use of memory: A while ago I performed a series of experiments to determine the frequency that various Mesa instructions were executed. Mesa is a stack oriented system developed at Xerox PARC and Xerox SDD. Even though Mesa runs on a stack machine, about 50% of all instructions referenced the memory directly. Mesa's stack is used for expression evaluation, and the active storage that belongs to a procedure (the procedure frame) is allocated from a heap. Stack references occur only after the stack has been loaded from memory or after another instruction has left a value on the stack. More extensive use of the stack would change the distribution of references between memory and the stack, but that still depends upon how much of the stack can fit in the high speed registers, and how var-style references work. There's (considerably) more information about Mesa, including my paper on instruction frequencies, published in Symposium on Architectural Support for Programming Languages and Operating systems, March, 1982, Palo Alto, CA Gene McDaniel ...!decwrl!mcdaniel