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
