[Info-vax] Moving away from OpenVMS

John Reagan johnrreagan at earthlink.net
Thu May 24 02:02:15 EDT 2012



"Bob Koehler"  wrote in message 
news:BdP6xyUFC4sj at eisner.encompasserve.org...

In article <SOOdnWdNnfJGayHSnZ2dnUVZ_t2dnZ2d at insightbb.com>, "John Reagan" 
<johnrreagan at earthlink.net> writes:
>
> Again, don't forget that you need BLISS and C just for the OS and you'll
> want all the rest of the compilers for the customer base.  GEM's old x86
> target was 32-bit only, just did the things that Visual Fortran required,
> and generated Windows object files and Windows debugging info.  All of 
> that
> would need fixing.  And switching to some other code generator (gcc, LLVM,
> open64) might work but I'd have to think about it.

   > I don't see generating compilers for IA32 as any more difficult than
   > generating compilers for Alpha or IA64.  There are plenty of examples
   > of code generators for IA32 (and IA32-64).

Never said it was impossible, just work to do.

> As I've mention before, the smaller register set (as compared to Itanium 
> and
> Alpha) causes more rework for facilities like RMS that currently use lots 
> of
> GLOBAL REGISTERs to pass around implicit arguments between routines.

   > GLOBAL REGISTERS can be replaced with ordinary variables.  VAXen didn't
   > have all those registers and it survived.  There may be a minor
   > performance hit.

Uh, those BLISS GLOBAL REGISTER declarations have been in RMS' BLISS code 
forever.  They are there in the VAX code stream.   We use GLOBAL REGISTERs 
in the Pascal frontend on all three architectures (VAX, Alpha, and Itanium).

And you can certainly try to recode the BLISS GLOBAL REGISTERs with explicit 
loads and stores to static variables.  You'll touch lots of modules and take 
care getting the "registers" put back when unwinding.  You might be able to 
get the BLISS compiler to help out with automatic loads/stores but I'm not 
sure it can do it all (especially when you are mixing BLISS' GLOBAL 
REGISTERs with Macro-32 input/output arguments, you need both compilers to 
help).  I actually looked at eliminating the GLOBAL REGISTERs from the 
Pascal frontend.  After several hours, I came to my senses, put the rock 
back down, and backed away slowly.

John 




More information about the Info-vax mailing list