Reference Guide

70 Chapter 4
Assembler Directives and Pseudo-Operations
.CALLINFO Directive
For PA-RISC 32-bit mode, the frame area is offset from
the Stack Pointer by 48 bytes because the frame
marker contains 32 bytes and the fixed argument list
contains 16 bytes, when both of these areas are
present.
For PA-RISC 2.0W (64-bit mode), the frame area is
offset from the Stack Pointer by 80 bytes because the
frame marker contains 16 bytes and the fixed
argument list contains 64 bytes.
However, the Assembler does not allocate space for the
frame marker and fixed argument list if the procedure
does not call any other routines (see the NO_CALLS
parameter).
If the total frame size for a procedure exceeds 8191
bytes, the Assembler uses %r3 to locate the previous
frame marker when it encounters an .ENTER or
.LEAVE pseudo-operation. Under these circumstances,
changing the value of %r3 can cause serious
consequences.
HPUX_INT Specifies that this procedure is an interrupt procedure.
This is necessary for the stack unwind mechanism.
MILLICODE Indicates to the unwind mechanism that this is a
millicode routine and it should follow the millicode
calling conventions.
NO_UNWIND This is to be used only in the context of stand-alone
code or any procedure that does not need to be reliably
unwound.
RP_IN_R31 Indicates that the return pointer has been moved to
register %r31 in order to make local millicode calls.
This parameter is only valid for the PA-RISC 2.0W
(64-bit mode).
SAVE_MRP Indicates that this millicode procedure saves the
Millicode Return Pointer (MRP) in its frame marker at
(SP-20).
SAVE_RP Specifies that the frame marker of the previous routine
stores the value of the Return Pointer (RP). The
Assembler automatically saves the Return Pointer
when it encounters an .ENTER pseudo-operation, and