[Info-vax] Pascal query
H Vlems
hvlems at freenet.de
Sun Dec 6 16:52:13 EST 2009
On Dec 4, 5:31 pm, "John Reagan" <johnrrea... at earthlink.net> wrote:
> "Ade" <adrian.birk... at blueyonder.co.uk> wrote in message
>
> news:8g9Sm.35746$iT5.28666 at newsfe12.ams2...
>
> > Hi,
>
> > I've had to use Pascal to shift some data around from one set of common
> > memory images on a Vax to the new ones on an Itanium. Anyway, I wrote a
> > quick program to dump the contents into a file which could then be
> > compiled on the Itanium and run to populate the data structures. This
> > program just would not compile. All it consists of is a (hell of a) lot
> > variable:=value; statements. I kept getting insufficient virtual memory
> > errors so I played with the quotas and the page file until I hit a 20gb
> > pagefile and a process pagefile quota of 20,000,000. I then split the
> > results into much smaller chunks to get them to compile.
>
> > There's probably around 1.2 million assignment statements altogether. Can
> > anyone suggest why the program wouldn't compile?
>
> The Pascal compiler (like all the GEM-based compilers) are 32-bit programs.
> They do not use P2 space. We have too many embedded 32-bit pointers in data
> structures all over the frontends and GEM to safely make changes.
>
> That said, if you have a VERY large program, the compiler will simply run
> out of P0 address space. The size of the pagefiles or the pagefile quota
> won't help. When P0 runs out, we're done.
>
> We do make big efforts to reuse heap storage as the compiler is finished
> with it, but we have to keep all the pending instructions in memory so we
> can peephole optimize them, bundle them, write the ELF file, etc. We looked
> at doing it in "chunks" but even that was going to disturb lots of code.
> Since most programs don't hit the limit, the risk of breaking everybody for
> the reward of letting a few very large programs compile, didn't seem like a
> good thing.
>
> Did it ever compile on Alpha? Anyway, the program simply requires more
> memory to compile than is available in P0 space. Breaking them up into
> smaller modules is the correct solution.
>
> John
Just out of curiosity, does the OP have an alternative?
If there's very little program logic and lots of assignments, would
Macro be an option?
Hans
More information about the Info-vax
mailing list