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

Reply via email to