Path: utzoo!utgpu!water!watmath!clyde!bellcore!rutgers!ucsd!ucbvax!amdcad!news From: news@amdcad.AMD.COM (Network News) Newsgroups: comp.lang.c Subject: Re: alloca(), #if, and other controversial things... Message-ID: <22725@amdcad.AMD.COM> Date: 24 Aug 88 16:38:22 GMT References: <8808171410.AA05337@ucbvax.Berkeley.EDU> <1259@garth.UUCP> <1257@mcgill-vision.UUCP> <5281@killer.DALLAS.TX.US> Reply-To: tim@delirun.amd.com (Tim Olson) Organization: Advanced Micro Devices, Inc., Sunnyvale CA Lines: 18 Summary: Expires: Sender: Followup-To: In article <5281@killer.DALLAS.TX.US> chasm@killer.DALLAS.TX.US (Charles Marslett) writes: | So recursive routines used two stacks, non- | recursive ones used one and in no case were automatic variables actually | used on the stack. | | I might also ask, "Do sliding frame RISC machines have any C compilers that | work similarly?" Or do they shuffle the frame to and from the memory stack | without reference to structure? The Am29000 calling convention uses two stacks -- the memory stack and the register stack. Local scalar variables, return addresses, and the first 16 words of parameters are stored on the register stack, the top of which is cached on chip in the register file. Non-scalar (large arrays & structs) data is stored on the memory stack. -- Tim Olson Advanced Micro Devices (tim@delirun.amd.com)