[Info-vax] Process memory settings

Arne Vajhøj arne at vajhoej.dk
Thu Aug 13 18:38:52 EDT 2009


John Reagan wrote:
> "Arne Vajhøj" <arne at vajhoej.dk> wrote in message 
> news:4a837af8$0$305$14726298 at news.sunsite.dk...
>> John Reagan wrote:
>>> All the compilers are 32-bit applications.  If they run out of P0/P1, 
>>> you're done.  You can bump pagefile quota all you want, but it won't 
>>> magically make the compilers start using 64-bit pointers and 64-bit 
>>> address space.
>>>
>>> [Yes, we did look at making the change, the trying to track down the 
>>> number of pointers to expand; fields to change; etc. was way too risky.]
>> Make the changes in a branch with a switch to control 32 vs 64 bit mode.
>>
>> Release that branch as a special beta version for 2-3 years and let
>> the beta users find the bugs one by one.
> 
> Doesn't make it easier.  Still have to expand all the pointer fields in the 
> backend, most of the pointers in the frontends, etc.  Don't forget, it isn't 
> all in C, but some in BLISS-32, some in BLISS-64 /ASSUME=SIGNED_LONG (which 
> gives you 64-bit expressions but REF and %BPADDR are still 32-bits).
> 
> Having a switch to turn it on/off is a red herring.  If we could find all 
> the places, we'd make it 64-bits all the time.  Why waste the space in the 
> structures?  It isn't like we don't trust LIB$GET_VM_64.  That works.  It is 
> just the amount of code changes, pointer expressions, etc. ripples through 
> the entire code base.  We did look to see if there was a single (or few) 
> data structures that could be moved into 64-bit space.  However, you then 
> have to find everybody who points to those and expand embedded pointers, 
> etc.

The point of the switch is not to make it easier.

The point of the switch is to have 2 compilers in 1. A 32 bit that is
stable as a rock. And a 64 bit that over times evolve from
experimental to rock stable.

> I've only seen 1 or 2 cases were we've run out of 32-bit address space (and 
> we haven't even confirmed if THIS is one of them).  The amount of time (and 
> risk) to change the compilers is not worth it.  Plus, it would increase the 
> memory usage for EVERYBODY since all the embedded pointers are now 64-bits 
> wide eventhough you wouldn't need to use more than a GB of memory.

With two modes it would only increase memory significantly for those
choosing the 64 bit mode (let us ignore switch handling code and the
size of the EXE - that is not much).

It may only be a few now. But what about in 10 or in 20 years?

Arne




More information about the Info-vax mailing list