Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!cmcl2!beta!hc!ames!scubed!ncr-sd!greg From: greg@ncr-sd.SanDiego.NCR.COM (Greg Noel) Newsgroups: comp.lang.c Subject: Re: MSC and stack manipulation Message-ID: <1809@ncr-sd.SanDiego.NCR.COM> Date: Fri, 9-Oct-87 17:37:13 EDT Article-I.D.: ncr-sd.1809 Posted: Fri Oct 9 17:37:13 1987 Date-Received: Sun, 11-Oct-87 16:44:43 EDT References: <325@picuxa.UUCP> Reply-To: greg@ncr-sd.SanDiego.NCR.COM (Greg Noel) Organization: NCR Corporation, Rancho Bernardo Lines: 17 Keywords: MSC Nobody seems to have risen to this, so I'll speculate a possibility. In article <325@picuxa.UUCP> gp@picuxa.UUCP (Greg Pasquariello X1190) writes: >.... Therefor the next push will put the value >of the register (whatever it may be) two bytes below the previous push >thus leaving a gap in the stack of two bytes. The PDP-11 compiler did this. The observation was that there were a lot of one- and two-argument functions being called. Leaving a gap essentially pre-allocated the space for one argument, making the calling sequence shorter -- the stack adjustment upon return from a one-argument function is no longer required. Also, on the PDP-11, the two-argument case was also optimized, since a shorter (one word) instruction could clean up the stack pointer. MSC may be doing something similar. -- -- Greg Noel, NCR Rancho Bernardo Greg.Noel@SanDiego.NCR.COM