Re: The C Stack in interpreters - why?

glen herrmannsfeldt <gah@ugcs.caltech.edu>
15 May 2005 15:41:44 -0400

          From comp.compilers

Related articles
[4 earlier articles]
Re: The C Stack in interpreters - why? nmm1@cus.cam.ac.uk (2005-05-14)
Re: The C Stack in interpreters - why? anton@mips.complang.tuwien.ac.at (2005-05-14)
Re: The C Stack in interpreters - why? haberg@math.su.se (2005-05-14)
Re: The C Stack in interpreters - why? nmm1@cus.cam.ac.uk (2005-05-14)
Re: The C Stack in interpreters - why? Marko.Makela@HUT.FI (Marko =?ISO-8859-1?Q?M=E4kel=E4?=) (2005-05-14)
Re: The C Stack in interpreters - why? marcov@stack.nl (Marco van de Voort) (2005-05-14)
Re: The C Stack in interpreters - why? gah@ugcs.caltech.edu (glen herrmannsfeldt) (2005-05-15)
Re: The C Stack in interpreters - why? gene@abhost.us (Gene Wirchenko) (2005-05-15)
Re: The C Stack in interpreters - why? nmm1@cus.cam.ac.uk (2005-05-15)
Re: The C Stack in interpreters - why? gneuner2@comcast.net (George Neuner) (2005-05-16)
Re: The C Stack in interpreters - why? nmm1@cus.cam.ac.uk (2005-05-16)
Re: The C Stack in interpreters - why? scooter.phd@gmail.com (scooter.phd@gmail.com) (2005-05-18)
| List of all articles for this month |

From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Newsgroups: comp.compilers
Date: 15 May 2005 15:41:44 -0400
Organization: Compilers Central
References: 05-05-072 05-05-073 05-05-084
Keywords: C, architecture, comment
Posted-Date: 15 May 2005 15:41:44 EDT

(snip)


> [Are there really systems with a hardware stack that C doesn't use?
> I've never seen one. -John]


How about ESA/390, with the PC and BAKR instructions?


All the compilers I know of use BALR, BASR, or BASSM, and if
they didn't they wouldn't be able to call languages that did.


(For those who don't know ESA/390, the standard OS/390 linkage is a
linked list, logically but not physically a stack.)


-- glen
[Sheesh. The ESA/390 stack is a hack intended for programs in
different protection domains to call each other in a way that's
lighter weight than a full operating system run-program call. All
normal languages still use BASR or, on zSeries BRAS or BRASL. Having
squinted at a bunch of on-line manuals, it appears that you can tell
the C and C++ compilers to do hardware stack calls with a #pragma or
in C++ extern "OS" { int foo(); }. So there. -John]


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.