Re: PL/I nostalgia

Robert A Duff <bobduff@shell01.TheWorld.com>
Sun, 29 Apr 2012 10:16:58 -0400

          From comp.compilers

Related articles
Decades of compiler technology and what do we get? robert@prino.org (Robert AH Prins) (2012-04-22)
Re: PL/I nostalgia, was Decades of compiler technology and what do we gah@ugcs.caltech.edu (glen herrmannsfeldt) (2012-04-23)
Re: PL/I nostalgia robin51@dodo.com.au (robin) (2012-04-25)
Re: PL/I nostalgia gah@ugcs.caltech.edu (glen herrmannsfeldt) (2012-04-24)
Re: PL/I nostalgia robin51@dodo.com.au (robin) (2012-04-28)
Re: PL/I nostalgia gah@ugcs.caltech.edu (glen herrmannsfeldt) (2012-04-28)
Re: PL/I nostalgia bobduff@shell01.TheWorld.com (Robert A Duff) (2012-04-29)
Re: PL/I nostalgia robin51@dodo.com.au (robin) (2012-09-19)
Re: PL/I nostalgia gah@ugcs.caltech.edu (glen herrmannsfeldt) (2012-09-19)
Re: PL/I nostalgia robin51@dodo.com.au (robin) (2012-09-21)
Re: PL/I nostalgia gah@ugcs.caltech.edu (glen herrmannsfeldt) (2012-09-21)
Re: PL/I nostalgia robin51@dodo.com.au (robin) (2012-09-30)
| List of all articles for this month |

From: Robert A Duff <bobduff@shell01.TheWorld.com>
Newsgroups: comp.compilers
Date: Sun, 29 Apr 2012 10:16:58 -0400
Organization: The World Public Access UNIX, Brookline, MA
References: 12-04-070 12-04-077 12-04-081 12-04-082 12-04-084 12-04-085
Keywords: PL/I, code
Posted-Date: 29 Apr 2012 12:19:33 EDT

glen herrmannsfeldt <gah@ugcs.caltech.edu> writes:


> OK, to get an actual compiler question into the discussion,
> are there any compilers that generate non-reentrant code for
> a language that allows recursion when it isn't being used?


Yes, in the small-machine embedded systems world. On a modern 64-bit
machine with efficient addressing based on a stack pointer and/or
frame pointer, I suspect it would be a pessimization.


Note that recursion isn't the only issue -- there's also
multi-threading.


- Bob
[I expect that on modern machines where code is generally
read-only to allow sharing between processes, there's no
advantage to non-recursive code. Back in the 1960s, S/360
code typically had a static save area per routine that it
used for all its calls, and there was a fair amount of
extra complication to save stuff in a stack. -John]





Post a followup to this message

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