CACAO
Macros
md-abi.hpp File Reference

Go to the source code of this file.

Macros

#define R0   0
 
#define R1   1
 
#define R2   2
 
#define R3   3
 
#define R4   4
 
#define R5   5
 
#define R6   6
 
#define R7   7
 
#define R8   8
 
#define R9   9
 
#define R10   10
 
#define R11   11
 
#define R12   12
 
#define R13   13
 
#define R14   14
 
#define R15   15
 
#define F0   0
 
#define F1   1
 
#define F2   2
 
#define F3   3
 
#define F4   4
 
#define F5   5
 
#define F6   6
 
#define F7   7
 
#define F8   8
 
#define F9   9
 
#define F10   10
 
#define F11   11
 
#define F12   12
 
#define F13   13
 
#define F14   14
 
#define F15   15
 
#define REG_RESULT   R2 /* to deliver method results */
 
#define REG_RESULT2   R3
 
#define REG_ITMP1   R1 /* temporary register */
 
#define REG_ITMP2   R14 /* temporary register and method pointer */
 
#define REG_ITMP3   R0 /* temporary register */
 
#define IS_REG_ITMP(x)   (((x) == REG_ITMP1) || ((x) == REG_ITMP2) || ((x) == REG_ITMP3))
 
#define REG_ITMP12_PACKED   PACK_REGS(REG_ITMP2, REG_ITMP1)
 
#define REG_ITMP23_PACKED   PACK_REGS(REG_ITMP3, REG_ITMP2)
 
#define REG_ITMP13_PACKED   PACK_REGS(REG_ITMP3, REG_ITMP1)
 
#define REG_ITMP31_PACKED   PACK_REGS(REG_ITMP1, REG_ITMP3)
 
#define REG_RESULT_PACKED   PACK_REGS(REG_RESULT2, REG_RESULT)
 
#define REG_METHODPTR   REG_ITMP1/* pointer to the place from where the */
 
#define REG_NULL   -1 /* used for reg_of_var where d is not needed */
 
#define REG_ITMP1_XPTR   REG_ITMP3/* exception pointer = temporary register 3 */
 
#define REG_ITMP2_XPC   REG_ITMP1/* exception pc = temporary register 1 */
 
#define REG_SP   R15 /* stack pointer */
 
#define REG_RA   R14 /* same as itmp3 */
 
#define REG_PV   R13
 
#define REG_A0   R2 /* define some argument registers */
 
#define REG_A1   R3
 
#define REG_A2   R4
 
#define REG_A3   R5
 
#define REG_A4   R6
 
#define REG_FA0   F0
 
#define REG_FA1   F2
 
#define REG_FRESULT   F0 /* to deliver floating point method results */
 
#define REG_FTMP1   F4 /* temporary floating point register */
 
#define REG_FTMP2   F6 /* temporary floating point register */
 
#define INT_REG_CNT   16 /* number of integer registers */
 
#define INT_SAV_CNT   6 /* number of integer callee saved registers */
 
#define INT_ARG_CNT   5 /* number of integer argument registers */
 
#define INT_TMP_CNT   0 /* number of integer temporary registers */
 
#define INT_RES_CNT   5 /* number of integer reserved registers */
 
#define FLT_REG_CNT   16 /* number of float registers */
 
#define FLT_SAV_CNT   0 /* number of float callee saved registers */
 
#define FLT_ARG_CNT   2 /* number of float argument registers */
 
#define FLT_TMP_CNT   12 /* number of float temporary registers */
 
#define FLT_RES_CNT   2 /* number of float reserved registers */
 

Macro Definition Documentation

#define F0   0

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

#define F1   1

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

#define F10   10

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

#define F11   11

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

#define F12   12

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

#define F13   13

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

#define F14   14

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

#define F15   15

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

#define F2   2

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

#define F3   3

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

#define F4   4

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

#define F5   5

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

#define F6   6

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

#define F7   7

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

#define F8   8

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

#define F9   9

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

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

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

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

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

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

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

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

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

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

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

#define INT_ARG_CNT   5 /* number of integer argument registers */

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

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

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

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

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

#define INT_SAV_CNT   6 /* number of integer callee saved registers */

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

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

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

#define IS_REG_ITMP (   x)    (((x) == REG_ITMP1) || ((x) == REG_ITMP2) || ((x) == REG_ITMP3))

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

#define R0   0

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

#define R1   1

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

#define R10   10

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

#define R11   11

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

#define R12   12

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

#define R13   13

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

#define R14   14

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

#define R15   15

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

#define R2   2

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

#define R3   3

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

#define R4   4

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

#define R5   5

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

#define R6   6

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

#define R7   7

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

#define R8   8

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

#define R9   9

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

#define REG_A0   R2 /* define some argument registers */

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

#define REG_A1   R3

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

#define REG_A2   R4

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

#define REG_A3   R5

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

#define REG_A4   R6

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

#define REG_FA0   F0

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

#define REG_FA1   F2

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

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

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

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

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

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

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

#define REG_ITMP1   R1 /* temporary register */

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

#define REG_ITMP12_PACKED   PACK_REGS(REG_ITMP2, REG_ITMP1)

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

#define REG_ITMP13_PACKED   PACK_REGS(REG_ITMP3, REG_ITMP1)

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

#define REG_ITMP1_XPTR   REG_ITMP3/* exception pointer = temporary register 3 */

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

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

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

#define REG_ITMP23_PACKED   PACK_REGS(REG_ITMP3, REG_ITMP2)

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

#define REG_ITMP2_XPC   REG_ITMP1/* exception pc = temporary register 1 */

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

#define REG_ITMP3   R0 /* temporary register */

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

#define REG_ITMP31_PACKED   PACK_REGS(REG_ITMP1, REG_ITMP3)

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

#define REG_METHODPTR   REG_ITMP1/* pointer to the place from where the */

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

#define REG_NULL   -1 /* used for reg_of_var where d is not needed */

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

#define REG_PV   R13

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

#define REG_RA   R14 /* same as itmp3 */

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

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

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

#define REG_RESULT2   R3

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

#define REG_RESULT_PACKED   PACK_REGS(REG_RESULT2, REG_RESULT)

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

#define REG_SP   R15 /* stack pointer */

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