On Wed, 17 Oct 2018 15:37:12 -0500, Allan Kielstra wrote: >It is only available in 31-bit. > >An interesting question to ask is: if it were available in 64-bit but mixing >and matching 31- and 64-bit modules was not possible (i.e., you would have to >recompile all modules in an application), would that be interesting? Or is it >the case that it is vital to be able to selectively compile modules (in 64-bit >mode) and mix and match?
Thank you for asking. While I was a COBOL programmer for several years, I have not worked in that role for decades. AMODE(64) COBOL could be a valuable tool for for applications that could benefit from very large tables. In many cases, such a conversion could be made by changing a relatively small number of modules if they could easily interoperate between AMODE(31) and AMODE(64) modules. The decision that was made that LE would support AMODE(64) only using XPLINK-64 made such interoperability difficult and expensive. XPLINK was invented to solve a particular problem, that C has a propensity for creating very small subroutines. XPLINK reduces the overhead in calling such subroutines somewhat. At the same time, it makes it rather expensive to call programs that use standard linkage. In addition, XPLINK-64 was designed in a way that makes it incompatible with 31-bit XPLINK. COBOL programs typically do a considerable amount of I/O to data sets, often using GET and PUT, which require standard linkage. If COBOL were to implement AMODE(64) in such a way that the standard FxSA save areas were used, it could more easily allow the interoperability of AMODE(64) with AMODE(31) programs without such additional overhead. PL/I already supports AMODE(64) to some extent, but only for applications that are entirely AMODE(64). The reason is XPLINK-64. As far as I know, it has not been adopted in any significant way, if at all. -- Tom Marchant ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
