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!gegeweb.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: Mon, 17 Nov 2014 18:52:23 -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> NNTP-Posting-Host: 24-196-82-226.static.mdsn.wi.charter.com X-Trace: loke.gir.dk 1416271944 6566 24.196.82.226 (18 Nov 2014 00:52:24 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Tue, 18 Nov 2014 00:52:24 +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:23494 Date: 2014-11-17T18:52:23-06:00 List-Id: "Luke A. Guest" wrote in message news:464563264437706207.500344laguest-archeia.com@nntp.aioe.org... > Shark8 wrote: >> On 14-Nov-14 14:07, Luke A. Guest wrote: >>> Jesus! That would be hell. A compiler without dynamic memory? Really? No >>> thanks. >> >> Ah, right; I'd forgotten about that restriction -- I was thinking more >> along the lines of the prover-/verifier-tools -- though aren't there >> large chunks where you don't need dynamic memory? > > Not really no. An entire compiler pretty much uses the heap exclusively, > you'd be hard pressed to build a compiler using ore allocated memory or > just static amounts in general. 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. Randy.