CACAO
|
Go to the source code of this file.
Macros | |
#define | REG_RESULT 0 /* to deliver method results */ |
#define | REG_RESULT2 1 /* to deliver long method results */ |
#define | REG_PV 12 /* intra-procedure-call scratch register */ |
#define | REG_SP 13 /* stack pointer */ |
#define | REG_LR 14 /* link register */ |
#define | REG_PC 15 /* program counter */ |
#define | REG_METHODPTR 11 /* special register to fetch procedure vector */ |
#define | REG_ITMP1 10 /* temporary register */ |
#define | REG_ITMP2 11 /* temporary register and method pointer */ |
#define | REG_ITMP3 9 /* temporary register */ |
#define | REG_ITMP1_XPTR 10 /* exception pointer = temporary register 1 */ |
#define | REG_ITMP2_XPC 11 /* exception pc = temporary register 2 */ |
#define | REG_A0 0 /* define some argument registers */ |
#define | REG_A1 1 |
#define | REG_A2 2 |
#define | REG_A3 3 |
#define | REG_SPLIT 16 /* dummy register to mark a split of longs and */ |
#define | BITMASK_ARGS 0x0f /* bitmask for LDM/STM to save method arguments */ |
#define | BITMASK_RESULT 0x03 /* bitmask for LDM/STM to save method results */ |
#define | REG_FRESULT 0 /* to deliver floating point method results */ |
#define | REG_FTMP1 6 /* temporary floating point register */ |
#define | REG_FTMP2 7 /* temporary floating point register */ |
#define | BACKFILL_OFFSET 16 |
#define | INT_REG_CNT 16 /* number of integer registers */ |
#define | INT_TMP_CNT 0 /* number of integer registers */ |
#define | INT_SAV_CNT 5 /* number of int callee saved registers */ |
#define | INT_ARG_CNT 4 /* number of int argument registers */ |
#define | INT_RES_CNT 7 /* number of reserved integer registers */ |
#define | FLT_REG_CNT 8 /* number of float registers */ |
#define | FLT_TMP_CNT 6 /* number of flt temp registers */ |
#define | FLT_SAV_CNT 0 /* number of flt callee saved registers */ |
#define | FLT_ARG_CNT 0 /* number of flt argument registers */ |
#define | FLT_RES_CNT 2 /* number of reserved float registers */ |
#define | REG_ITMP12_PACKED PACK_REGS(REG_ITMP2, REG_ITMP1) |
#define | REG_ITMP23_PACKED PACK_REGS(REG_ITMP3, REG_ITMP2) |
#define | REG_RESULT_PACKED PACK_REGS(REG_RESULT2, REG_RESULT) |
#define | REG_A0_A1_PACKED PACK_REGS(REG_A1, REG_A0) |
#define | REG_A2_A3_PACKED PACK_REGS(REG_A3, REG_A2) |
#define | REG_ITMP12_TYPED(t) ((IS_2_WORD_TYPE(t)) ? REG_ITMP12_PACKED : REG_ITMP1) |
#define | REG_RESULT_TYPED(t) ((IS_2_WORD_TYPE(t)) ? REG_RESULT_PACKED : REG_RESULT) |
#define BACKFILL_OFFSET 16 |
Definition at line 83 of file md-abi.hpp.
#define BITMASK_ARGS 0x0f /* bitmask for LDM/STM to save method arguments */ |
Definition at line 62 of file md-abi.hpp.
#define BITMASK_RESULT 0x03 /* bitmask for LDM/STM to save method results */ |
Definition at line 63 of file md-abi.hpp.
#define FLT_ARG_CNT 0 /* number of flt argument registers */ |
Definition at line 106 of file md-abi.hpp.
#define FLT_REG_CNT 8 /* number of float registers */ |
Definition at line 103 of file md-abi.hpp.
#define FLT_RES_CNT 2 /* number of reserved float registers */ |
Definition at line 107 of file md-abi.hpp.
#define FLT_SAV_CNT 0 /* number of flt callee saved registers */ |
Definition at line 105 of file md-abi.hpp.
#define FLT_TMP_CNT 6 /* number of flt temp registers */ |
Definition at line 104 of file md-abi.hpp.
#define INT_ARG_CNT 4 /* number of int argument registers */ |
Definition at line 92 of file md-abi.hpp.
#define INT_REG_CNT 16 /* number of integer registers */ |
Definition at line 89 of file md-abi.hpp.
#define INT_RES_CNT 7 /* number of reserved integer registers */ |
Definition at line 93 of file md-abi.hpp.
#define INT_SAV_CNT 5 /* number of int callee saved registers */ |
Definition at line 91 of file md-abi.hpp.
#define INT_TMP_CNT 0 /* number of integer registers */ |
Definition at line 90 of file md-abi.hpp.
#define REG_A0 0 /* define some argument registers */ |
Definition at line 53 of file md-abi.hpp.
Definition at line 135 of file md-abi.hpp.
#define REG_A1 1 |
Definition at line 54 of file md-abi.hpp.
#define REG_A2 2 |
Definition at line 55 of file md-abi.hpp.
Definition at line 136 of file md-abi.hpp.
#define REG_A3 3 |
Definition at line 56 of file md-abi.hpp.
#define REG_FRESULT 0 /* to deliver floating point method results */ |
Definition at line 68 of file md-abi.hpp.
#define REG_FTMP1 6 /* temporary floating point register */ |
Definition at line 69 of file md-abi.hpp.
#define REG_FTMP2 7 /* temporary floating point register */ |
Definition at line 70 of file md-abi.hpp.
#define REG_ITMP1 10 /* temporary register */ |
Definition at line 46 of file md-abi.hpp.
Definition at line 131 of file md-abi.hpp.
#define REG_ITMP12_TYPED | ( | t | ) | ((IS_2_WORD_TYPE(t)) ? REG_ITMP12_PACKED : REG_ITMP1) |
Definition at line 140 of file md-abi.hpp.
#define REG_ITMP1_XPTR 10 /* exception pointer = temporary register 1 */ |
Definition at line 50 of file md-abi.hpp.
#define REG_ITMP2 11 /* temporary register and method pointer */ |
Definition at line 47 of file md-abi.hpp.
Definition at line 132 of file md-abi.hpp.
Definition at line 51 of file md-abi.hpp.
#define REG_ITMP3 9 /* temporary register */ |
Definition at line 48 of file md-abi.hpp.
#define REG_LR 14 /* link register */ |
Definition at line 41 of file md-abi.hpp.
#define REG_METHODPTR 11 /* special register to fetch procedure vector */ |
Definition at line 44 of file md-abi.hpp.
#define REG_PC 15 /* program counter */ |
Definition at line 42 of file md-abi.hpp.
#define REG_PV 12 /* intra-procedure-call scratch register */ |
Definition at line 39 of file md-abi.hpp.
#define REG_RESULT 0 /* to deliver method results */ |
Definition at line 36 of file md-abi.hpp.
#define REG_RESULT2 1 /* to deliver long method results */ |
Definition at line 37 of file md-abi.hpp.
#define REG_RESULT_PACKED PACK_REGS(REG_RESULT2, REG_RESULT) |
Definition at line 133 of file md-abi.hpp.
#define REG_RESULT_TYPED | ( | t | ) | ((IS_2_WORD_TYPE(t)) ? REG_RESULT_PACKED : REG_RESULT) |
Definition at line 141 of file md-abi.hpp.
#define REG_SP 13 /* stack pointer */ |
Definition at line 40 of file md-abi.hpp.
#define REG_SPLIT 16 /* dummy register to mark a split of longs and */ |
Definition at line 58 of file md-abi.hpp.