ILE C/C++ Compiler Reference

TERASPACE

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 ]