From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!aioe.org!news.ecp.fr!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: community-based compiler (was Re: What exactly is the licensing situation with GNAT?) Date: Tue, 18 Nov 2014 16:33:33 -0600 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <87389olqie.fsf@ixod.org> <3516753b-5304-408d-99c8-67f544fdc185@googlegroups.com> <20141114085046.4cb00404@atmarama.ddns.net> <8392b6bd-61ab-43f9-aa6d-92a4b3f17f0d@googlegroups.com> <835808234437691990.804817laguest-archeia.com@nntp.aioe.org> <464563264437706207.500344laguest-archeia.com@nntp.aioe.org> <790775817437972682.294390laguest-archeia.com@nntp.aioe.org> NNTP-Posting-Host: 24-196-82-226.static.mdsn.wi.charter.com X-Trace: loke.gir.dk 1416350015 14392 24.196.82.226 (18 Nov 2014 22:33:35 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Tue, 18 Nov 2014 22:33:35 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news.eternal-september.org comp.lang.ada:23530 Date: 2014-11-18T16:33:33-06:00 List-Id: "Luke A. Guest" wrote in message news:790775817437972682.294390laguest-archeia.com@nntp.aioe.org... > "Randy Brukardt" wrote: > >> That's not really true with Janus/Ada, as many things (types, compilation >> units, subprograms) are stored in static tables. That's a left-over from >> the >> early MS-DOS days, where those tables could be paged to disk or stored in >> "extended" memory rather than taking up limited main memory space. I've >> been >> slowly removing the paging code (it's just a complication that introduces >> bugs), but the static tables remain for the most part. (Some have become >> expandable by allocating them en-mass from the heap.) >> >> There's still some major heap use for managing expression trees and the >> symbol table, but there's a lot that doesn't use it. > > Given the various input sizes of source you cannot statically define the > runtime data. Of course you can. The proportions of data used is proportional to the size of the input source, and is fairly consistent between compilation units, so there isn't much waste for a maximum-sized unit. Perhaps you're objecting to the idea of a maximum-sized unit, but the amount of memory available to the compiler is limited, so there's always a practical limit. (Janus/Ada was designed to host of small, memory-limited machines; it was never really intended to be used on machines with vast amounts of memory. Which is fine, because I've never had a machine with vast amounts of memory. :-) Randy.