Language Environment supports
64-bit addressing for applications written in C, C++, or Language Environment-conforming Assembler.
In the 64-bit addressing mode (AMODE 64) Language Environment supports
addresses that are 64 bits in length, which allows access to data
in virtual storage up to 16 exabytes. Hence applications that work
with large databases or large volumes of data can consolidate data
in one address space. There are a few things to note:
- An AMODE 64 Language Environment® application supports XPLINK linkage only and the
C runtime environment is always initialized. A new library, CELQLIB,
is shipped for AMODE 64 support, while the existing libraries continue
to be shipped and supported.
- Preinitialized environments are supported via CELQPIPI.
- The user stack and heap, along with most of Language Environment storage
is above the 2 GB bar.
- There is a new anchor for AMODE 64 applications so register 12
no longer needs to be reserved for the address of the CAA.
- The only means of communication between AMODE 64 and AMODE 24
or AMODE 31 applications is through mechanisms that can communicate
across processes or address spaces. However, Language Environment applications
that use AMODE 64 can run with existing applications that use AMODE
24 or AMODE 31 on the same physical z/OS® system.
- Where necessary, there are new Language Environment runtime
options to support AMODE 64 applications. The new runtime options
primarily support the new stack and heap storage located above the
bar. Some of the existing options are no longer available.