[Info-vax] Creating an open source version of VMS, was: Re: OpenVMS Hobbyist Notification

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Thu Mar 12 13:27:32 EDT 2020


On 2020-03-12 14:51:16 +0000, John Reagan said:

> While Macro-32 a small part of the reason why things staying mostly 
> 32-bits on Alpha, it was more about descriptors (which have a 32-bit 
> pointer in them), itemlists (which are FULL of 32-bit pointers), etc.  
> That was more responsible for forcing stacks and static data to be in 
> 32-bit address space.
> 
> It also avoided having to push 64-bit operations into all the compilers 
> at once.  For example, what should Fortran's %LOC return?  Would you 
> need a %LOC64 also?
> 
> So even without a single-line of Macro-32, I think Alpha still would 
> have ended up with 32-bit stack, 32-bit static data, etc. unless you 
> would want to invalidate all existing descriptors and itemlists and 
> force all code to be updated to use new wider descriptors and 
> itemlists.  However, that would have made VEST a much harder operation 
> to get binary translated VAX code to use native Alpha services.

The 32-/64-bit addressing design was the right decision at the time.
That the design worked as well as it's done, and allowed code 
coexistence was and is valuable.
But we're now ~25 years past Eagle/Theta/V7.0.
Different times. Different tradeoffs. Different hardware. Different 
expectations.
If the existing API morass ever gets resolved, flat 64-bit would be preferred.
Because the whole what-does-it-return and which-call-can-I-use and the 
size_t/ptrdiff_t mess we ended up with from Eagle/Theta/V7.0 is, well, 
a mess.
Yes, that means dragging some apps forward.
It also means an opportunity to age out the most problematic of the old APIs.
And it means leaving the old stuff building and running in 32-bit and 
32-/64-bit legacy-compatibility mode and for the foreseeable future.
But any replacement really needs to be further forward than flat 64-bit 
using previous-millennium API designs and coding practices.
Which gets into discussions of compiler and API overhauls and other 
topics for new 64-bit code.
As for itemlists and descriptors. Good ideas ~40 years ago. Now, not so much.
All of which have been discussed before.
And y'all at VSI have far larger projects.
Some of which are made more complex by 32-/64-bit, as y'all well know.


-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list