ILE C/C++ Compiler Reference
Specifies whether the created object can recognize and work with addresses
that reference teraspace storage locations.
|--+-------------------------------------------+----------------|
| .-*NO--------------------. |
| | .-*NOTSIFC-. | |
'-TERASPACE(--+---*YES----+----------+-+--)-'
'-*TSIFC---'
- *NO
- Default setting. The created object cannot recognize teraspace
storage addresses.
- *YES
- The created object can handle teraspace storage addresses, including
parameters passed from other teraspace-enabled programs and service
programs.
- *NOTSIFC
- The compiler will not use teraspace versions of storage functions, such as
malloc( ) or shmat( ). This is the default if TERASPACE(*YES)
is specified.
- *TSIFC
- The compiler will use teraspace versions of storage functions, such as
malloc( ) or shmat( ), without requiring changes to the program source
code. The compiler defines the __TERASPACE__ macro, and
maps certain storage function names to their teraspace-enabled
equivalents. For example, selecting this compiler option causes the
malloc( ) storage function to be mapped to _C_TS_malloc( ).
The DTAMDL (see page "DTAMDL") and STGMDL (see page "STGMDL") compiler options can be used together with
the TERASPACE compiler option. Valid combinations of these options are
shown in the following tables, along with the effects of selecting those
combinations.
DTAMDL(*P128)
| STGMDL
|
---|
(*SNGLVL)
| (*TERASPACE)
| (*INHERIT)
|
---|
|
- Module/program is designed to use single-level store working
storage.
- Generated code supports execution using:
- single-level store working storage
- single-level store dynamic storage
- Working storage can only be accessed using 16-byte space
pointers.
- Default pointer size is 16 bytes.
|
- Module/program is designed to use teraspace working storage.
- Generated code supports execution using:
- teraspace working storage
- single-level store dynamic storage
- teraspace dynamic storage
- Working storage can be accessed using either:
- process local pointers
- 16-byte space pointers
- Default pointer size is 16 bytes.
|
- Depending on the storage model of the calling program, the module is
designed to use either:
- single-level store working storage
- teraspace working storage
- Depending on the storage model of the calling program, generated code
supports execution using:
- single-level store working storage
- teraspace working storage
- single-level store dynamic storage
- teraspace dynamic storage
- Default pointer size is 16 bytes.
|
TERASPACE(*NO)
| Default setting
| Invalid combination
| Invalid combination
|
TERASPACE(*YES *NOTSIFC)
|
- Generated code also supports execution using teraspace
- Default is to use single-level store version of dynamic storage
interfaces.
|
- Default is to use single-level store version of dynamic storage
interfaces.
|
- Default is to use single-level store version of dynamic storage
interfaces.
|
TERASPACE(*YES *TSIFC)
|
- Generated code also supports execution using teraspace.
- Default is to use teraspace version of dynamic storage interfaces.
- __TERASPACE__ macro is defined.
|
- Default is to use teraspace version of dynamic storage interfaces.
- __TERASPACE__ macro is defined.
|
- Default is to use teraspace version of dynamic storage interfaces.
- __TERASPACE__ macro is defined.
|
DTAMDL(*LLP64)
| STGMDL
|
---|
(*SNGLVL)
| (*TERASPACE)
| (*INHERIT)
|
---|
|
- Module/program is designed to use single-level store working
storage.
- Generated code supports execution using:
- single-level store working storage
- single-level store dynamic storage
- teraspace
- Working storage can only be accessed using 16-byte space
pointers.
- Default pointer size is 8 bytes.
|
- Module/program is designed to use teraspace working storage.
- Generated code supports execution using:
- teraspace working storage
- single-level store dynamic storage
- teraspace dynamic storage
- Working storage can be accessed using either:
- process local pointers
- 16-byte space pointers
- Default pointer size is 8 bytes.
|
- Depending on the storage model of the calling program, the module is
designed to use either:
- single-level store working storage
- teraspace working storage
- Depending on the storage model of the calling program, generated code
supports execution using:
- single-level store working storage
- teraspace working storage
- single-level store dynamic storage
- teraspace dynamic storage
- Working storage can be accessed using either:
- (conditionally) process local pointers
- 16-byte space pointers
- Default pointer size is 8 bytes.
|
TERASPACE(*NO)
| Invalid combination
| Invalid combination
| Invalid combination
|
TERASPACE(*YES *NOTSIFC)
|
- Default is to use single-level storage version of dynamic storage
interfaces.
- __LLP64_IFC__ macro is defined.
|
- Default is to use single-level storage version of dynamic storage
interfaces.
- __LLP64_IFC__ macro is defined.
|
- Default is to use single-level storage version of dynamic storage
interfaces.
- __LLP64_IFC__ macro is defined.
|
TERASPACE(*YES *TSIFC)
|
- Default is to use teraspace version of dynamic storage interfaces.
- __TERASPACE__ and __LLP64_IFC__ macros are
defined.
| Recommended settings for most effective use of teraspace
- Default is to use teraspace version of dynamic storage interfaces.
- __TERASPACE__ and __LLP64_IFC__ macros are
defined.
|
- Default is to use teraspace version of dynamic storage interfaces.
- __TERASPACE__ and __LLP64_IFC__ macros are
defined.
|
To make the most effective use of teraspace, you should specify the
following combination of options:
TERASPACE(*YES *TSIFC) STGMDL(*TERASPACE) DTAMDL(*LLP64)
For more information about teraspace storage, see Using Teraspace
in WebSphere Development Studio: ILE C/C++
Programmer's Guide, SC09-2712-05, and Teraspace and single-level store in ILE Concepts, SC41-5606-06.
[ Top of Page | Previous Page | Next Page | Table of Contents ]
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.