[Info-vax] How much of VMS is still in MACRO-32?
Dave Froble
davef at tsoft-inc.com
Sun May 30 23:19:39 EDT 2021
On 5/30/2021 10:40 PM, John Reagan wrote:
> On Sunday, May 30, 2021 at 4:04:00 PM UTC-4, John Dallman wrote:
>> In article <s90gqj$1b30$1... at gioia.aioe.org>, ar... at vajhoej.dk (Arne Vajhøj)
>> wrote:
>>> Whatever changes necessary to support 64 bit was done 30 years ago
>>> for Alpha.
>> For the current 64-bit APIs, sure, but there are APIs that only take
>> 32-bit addresses. Once I began to get to grips with the MACRO-32
>> compilers, it became plausible that one reason why there aren't 64-bit
>> versions of all APIs is that the interfaces are implemented in MACRO-32.
>>
>> John
> All the Macro compilers (Alpha, Itanium, and x86) have 64-bit builtins beyond the
> VAX instruction set. However, changing a field or argument involves touching every
> single instruction that involves it as the size is part of the instruction.
>
> As an example, PTEs on Alpha and Itanium have their interesting fields in the first
> 32-bits so they've been easily managed with Macro-32 code. On x86, there are flags
> and fields in the upper 32-bits of the quadword. A MOVL #<1 at 53>,(R0) doesn't do
> what you'd hoped it would
>
> Widening arguments can be a little tricky, but all those string descriptors, itemlists, and
> RMS data structures have 32-bit pointers in them. Yes, there are some 64-bit flavors
> of itemlists and descriptors and even some RMS data structures (but even RAB64 didn't
> widen ALL of the pointers) but switching involves touching lots of code again.
>
I'm curious. Do you have any tools that can pinpoint all references to
a particular field or argument? If not, did you attempt to produce such
a tool?
--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef at tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486
More information about the Info-vax
mailing list