Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: gah4 Newsgroups: comp.compilers Subject: Re: ancient PL/I, was fledgling assembler programmer Date: Fri, 24 Mar 2023 22:44:49 -0700 (PDT) Organization: Compilers Central Sender: johnl@iecc.com Approved: comp.compilers@iecc.com Message-ID: <23-03-014@comp.compilers> References: <23-03-001@comp.compilers> <23-03-002@comp.compilers> <23-03-003@comp.compilers> <23-03-007@comp.compilers> <23-03-008@comp.compilers> <23-03-012@comp.compilers> <23-03-013@comp.compilers> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="72169"; mail-complaints-to="abuse@iecc.com" Keywords: storage, comment Posted-Date: 25 Mar 2023 03:09:26 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com In-Reply-To: <23-03-013@comp.compilers> Xref: csiph.com comp.compilers:3416 On Friday, March 24, 2023 at 9:13:05 PM UTC-7, Dennis Boone wrote: (after I wrote) > > OK, the IBM PL/I (F) compiler, for what many consider a bloated > > language, is designed to run (maybe not well) in 64K. > > At the end of every compilation it tells how much memory was > > used, how much available, and how much to keep the symbol table > > in memory. > It's... 30-some passes, iirc? > [Well, phases or overlays but yes, IBM was really good at slicing compilers > into pieces they could overlay. -John] It is what IBM calls, I believe, dynamic overlay. Each module specifically requests others to be loaded into memory. If there is enough memory, they can stay, otherwise they are removed. And there are a few disk files to be used, when it is actually a separate pass. The only one I actually know, is if the preprocessor is used, it writes a disk file with the preprocessor output. And as noted, if it is really short on memory, the symbol table goes out to disk. Fortran H, on the other hand, uses the overlay system generated by the linkage editor. When running on virtual storage system, it is usual to run the compiler through the linkage editor to remove the overlay structure. (One of the few linkers that knows how to read its own output.) Normally it is about 300K, without overlay closer to 450K. [Never heard of dynamic overlays on S/360. -John]