Routine layout

The following table shows the five types of entry points that Language Environment recognizes as Language Environment-conforming routines. The fifth type is an example of a nonconforming entry point that would be recognized by the member language.

Entry point type is… If…
Language Environment-conforming The entry point plus 4 is X'00C3C5C5'. For details, see Figure 1.
Language Environment-conforming FASTLINK The entry point plus 4 is X'01C3C5C5'. FASTLINK linkage conventions are used. For details, see Figure 2.
Language Environment-conforming XPLINK The entry point minus 16 is X'00C300C500C500F1'. XPLINK linkage conventions are used. For details, see Figure 1.
C/370™ The entry point plus 5 is X'CE'.
CEESTART CSECT The entry point plus 28 is CL8'CEESTART'.
Nonconforming The entry point is none of the above. Nonconforming entry points are for routines that follow the linking convention in which the name is at the beginning of the routine. X'47F0Fxxx' is the instruction to branch around the routine name.

FASTLINK supports an optimized linkage convention that reduces the total number of instructions for prolog and epilog sequences. XPLINK provides optimal performance for a certain class of applications. The layout entry for standard routines is shown in Figure 1 and the layout entry for FASTLINK routines is shown in Figure 2. The layout entry for standard and FASTLINK routines is defined by the field at offset X'04'; X'00' represents standard layouts and X'01' represents FASTLINK layouts.

Figure 1. Layout entry of Language Environment-conforming routines – standard
Layout entry of -conforming routines – standard
Figure 2. Layout entry of Language Environment-conforming routines – FASTLINK
Layout entry of -conforming routines – FASTLINK
Figure 3 shows the entry point layout and Program Prolog Area-1 (PPA1) for C/370 routines; see Prolog information blocks for more information about the PPA1 format.
Figure 3. Layout entry of C/370-conforming routines
Layout entry of C/370-conforming routines