Bernd's point is, in a certain sense, well taken.  Moreover, the
constraint that a table not exceed 2 Gib in size is, for now at least,
self-enforcing.  The Binder will not, currently, produce a program
object that is more trhan 1 Gib in size; and the 16-Mib constraint on
the size of a traditional load module is of course much more severe.

My objection to it is of another kind.  Relative addressing using the
data type offset is of course easy enough to do in PL/I, but PL/I is
the only [at all widely used] statement-level language that does
provide such support,. and the expedient of using it to save four
bytes in the storage representation of a small number of addresses
does not seem to me to be an appropriate design compromise.  (Offsets
remain useful in other kinds of entities because, as Bernd all but
points out, they are invariant not just under storage moves but under
I/O too.  I use them, for example, in storing segments of
binary-search trees in external data sets.)

Another argument, an impure one, for the use of AMODE(64) for such
tables is that it underlines the ineluctable requirement that
executables that access them be AMODE(64).

John Gilmore, Ashland, MA 01721 - USA

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to