On Fri, 11 May 2018 23:24:51 +0200, Bernd Oppolzer <bernd.oppol...@t-online.de> 
wrote:

>> Note that he achieved this by allocating 4 GiB
>> above the 4 GiB bar, in order to get 2 GiB. While
>> this technique certainly has its merits, it would
>> be easier to write the compiler if IBM simply
>> provided an IARV64 GETSTOR USE2GBTO4GB.
>> Although that wouldn't guarantee a full 2 GiB
>> like he was able to get with his technique.
>
>I don't think that he gets only 2 GiB;

He said that he allocated 4 GiB, with the purpose
of getting a guaranteed 2 GiB that can be aligned
in a manner that addresses with the high bit of a
32 bit register can actually point to valid addresses.

You seem to be proposing a full 4 GiB continent.
That should also work, and may be a superior
way of doing things so long as, as you mentioned,
you can change the compiler to do whatever
you want.

>Back to your original question: a program generated in this
>compatible way could IMO grow up to 4 GB in size, when run in AMODE 64;
>this way you have what you want: a program which can be up to 4 GB in size,
>runs in AMODE 64 and has 4 byte pointers. But no change from IBM is needed.

Yes, I agree that it is possible to construct a
defacto AM64 32-bit program by making the
compiler generate an unusual z/OS-specific
module. But I am after compatibility with
MVS 3.8j so would like a GETMAIN LOC=32
(the LOC=32 will be ignored on MVS 3.8j).

BFN. Paul.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to