Re: Generated code depends on amount of memory

bstecher@qnx.com (Brian Stecher)
31 May 2005 21:36:48 -0400

          From comp.compilers

Related articles
Generated code depends on amount of memory derek@NOSPAMknosof.co.uk (Derek M Jones) (2005-05-28)
Re: Generated code depends on amount of memory bstecher@qnx.com (2005-05-31)
Re: Generated code depends on amount of memory bobduff@shell01.TheWorld.com (Robert A Duff) (2005-05-31)
| List of all articles for this month |

From: bstecher@qnx.com (Brian Stecher)
Newsgroups: comp.compilers
Date: 31 May 2005 21:36:48 -0400
Organization: Bell Sympatico
References: 05-05-223
Keywords: code, practice

Derek M Jones <derek@NOSPAMknosof.co.uk> wrote:
>I have heard about a compiler that takes account of the amount of
>memory available in the machine it is being executed on when deciding
>how much optimization to do (i.e., more memory gives it more room to
>do more optimizations).


The Watcom C/C++/F77 compilers did that (they all shared a common back
end).


It would look at the amount of memory that was free on the system when
it started and decide to do certain optimization passes or not
depending on the amount free. In other places it would start a phase
and back out if a memory allocation failed. The original host system
for the compilers was MS-DOS, so lack of memory was always a big
concern. There was an environment variable that people could set
(WCGMEMORY if I remember properly) to make the compiler believe that
there was a given amount of memory no matter what - to ensure
repeatable results for those people that needed that.


Watcom got bought by Powersoft, which got bought by Sybase, which
then got out of the compiler business. They open sourced the code,
so you can see for yourself at http://www.openwatcom.org.


--
Brian Stecher (bstecher@qnx.com) QNX Software Systems, Ltd.
phone: +1 (613) 591-0931 (voice) 175 Terence Matthews Cr.
              +1 (613) 591-3579 (fax) Kanata, Ontario, Canada K2M 1W8


Post a followup to this message

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