CACAO
Macros
md-abi.hpp File Reference

Go to the source code of this file.

Macros

#define REG_RESULT   3 /* to deliver method results */
 
#define REG_RESULT2   4 /* to deliver long method results */
 
#define REG_PV   13 /* procedure vector, must be provided by caller */
 
#define REG_METHODPTR   12 /* pointer to the place from where the procedure */
 
#define REG_ITMP1   11 /* temporary register */
 
#define REG_ITMP2   12 /* temporary register and method pointer */
 
#define REG_ITMP3   16 /* temporary register */
 
#define REG_ITMP1_XPTR   11 /* exception pointer = temporary register 1 */
 
#define REG_ITMP2_XPC   12 /* exception pc = temporary register 2 */
 
#define REG_SP   1 /* stack pointer */
 
#define REG_ZERO   0 /* almost always zero: only in address calc. */
 
#define REG_FRESULT   1 /* to deliver floating point method results */
 
#define REG_FTMP1   16 /* temporary floating point register */
 
#define REG_FTMP2   17 /* temporary floating point register */
 
#define REG_FTMP3   0 /* temporary floating point register */
 
#define REG_IFTMP   0 /* temporary integer and floating point register */
 
#define INT_REG_CNT   32 /* number of integer registers */
 
#define INT_SAV_CNT   10 /* number of int callee saved registers */
 
#define INT_ARG_CNT   8 /* number of int argument registers */
 
#define INT_TMP_CNT   7 /* number of integer temporary registers */
 
#define INT_RES_CNT   7 /* number of integer reserved registers */
 
#define FLT_REG_CNT   32 /* number of float registers */
 
#define FLT_SAV_CNT   10 /* number of float callee saved registers */
 
#define FLT_ARG_CNT   8 /* number of float argument registers */
 
#define FLT_TMP_CNT   11 /* number of float temporary registers */
 
#define FLT_RES_CNT   3 /* number of float reserved registers */
 
#define LA_SIZE   8 /* linkage area size */
 
#define LA_SIZE_ALIGNED   16 /* linkage area size aligned to 16-byte */
 
#define LA_WORD_SIZE   2 /* linkage area size in words: 2 * 4 = 8 */
 
#define LA_LR_OFFSET   4 /* link register offset in linkage area */
 

Macro Definition Documentation

#define FLT_ARG_CNT   8 /* number of float argument registers */

Definition at line 73 of file md-abi.hpp.

#define FLT_REG_CNT   32 /* number of float registers */

Definition at line 71 of file md-abi.hpp.

#define FLT_RES_CNT   3 /* number of float reserved registers */

Definition at line 75 of file md-abi.hpp.

#define FLT_SAV_CNT   10 /* number of float callee saved registers */

Definition at line 72 of file md-abi.hpp.

#define FLT_TMP_CNT   11 /* number of float temporary registers */

Definition at line 74 of file md-abi.hpp.

#define INT_ARG_CNT   8 /* number of int argument registers */

Definition at line 67 of file md-abi.hpp.

#define INT_REG_CNT   32 /* number of integer registers */

Definition at line 65 of file md-abi.hpp.

#define INT_RES_CNT   7 /* number of integer reserved registers */

Definition at line 69 of file md-abi.hpp.

#define INT_SAV_CNT   10 /* number of int callee saved registers */

Definition at line 66 of file md-abi.hpp.

#define INT_TMP_CNT   7 /* number of integer temporary registers */

Definition at line 68 of file md-abi.hpp.

#define LA_LR_OFFSET   4 /* link register offset in linkage area */

Definition at line 84 of file md-abi.hpp.

#define LA_SIZE   8 /* linkage area size */

Definition at line 80 of file md-abi.hpp.

#define LA_SIZE_ALIGNED   16 /* linkage area size aligned to 16-byte */

Definition at line 81 of file md-abi.hpp.

#define LA_WORD_SIZE   2 /* linkage area size in words: 2 * 4 = 8 */

Definition at line 82 of file md-abi.hpp.

#define REG_FRESULT   1 /* to deliver floating point method results */

Definition at line 57 of file md-abi.hpp.

#define REG_FTMP1   16 /* temporary floating point register */

Definition at line 58 of file md-abi.hpp.

#define REG_FTMP2   17 /* temporary floating point register */

Definition at line 59 of file md-abi.hpp.

#define REG_FTMP3   0 /* temporary floating point register */

Definition at line 60 of file md-abi.hpp.

#define REG_IFTMP   0 /* temporary integer and floating point register */

Definition at line 62 of file md-abi.hpp.

#define REG_ITMP1   11 /* temporary register */

Definition at line 45 of file md-abi.hpp.

#define REG_ITMP1_XPTR   11 /* exception pointer = temporary register 1 */

Definition at line 49 of file md-abi.hpp.

#define REG_ITMP2   12 /* temporary register and method pointer */

Definition at line 46 of file md-abi.hpp.

#define REG_ITMP2_XPC   12 /* exception pc = temporary register 2 */

Definition at line 50 of file md-abi.hpp.

#define REG_ITMP3   16 /* temporary register */

Definition at line 47 of file md-abi.hpp.

#define REG_METHODPTR   12 /* pointer to the place from where the procedure */

Definition at line 43 of file md-abi.hpp.

#define REG_PV   13 /* procedure vector, must be provided by caller */

Definition at line 42 of file md-abi.hpp.

#define REG_RESULT   3 /* to deliver method results */

Definition at line 39 of file md-abi.hpp.

#define REG_RESULT2   4 /* to deliver long method results */

Definition at line 40 of file md-abi.hpp.

#define REG_SP   1 /* stack pointer */

Definition at line 52 of file md-abi.hpp.

#define REG_ZERO   0 /* almost always zero: only in address calc. */

Definition at line 53 of file md-abi.hpp.