CACAO
Macros
md-abi.hpp File Reference

Go to the source code of this file.

Macros

#define RIP   -1
 
#define RAX   0
 
#define RCX   1
 
#define RDX   2
 
#define RBX   3
 
#define RSP   4
 
#define RBP   5
 
#define RSI   6
 
#define RDI   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 XMM0   0
 
#define XMM1   1
 
#define XMM2   2
 
#define XMM3   3
 
#define XMM4   4
 
#define XMM5   5
 
#define XMM6   6
 
#define XMM7   7
 
#define XMM8   8
 
#define XMM9   9
 
#define XMM10   10
 
#define XMM11   11
 
#define XMM12   12
 
#define XMM13   13
 
#define XMM14   14
 
#define XMM15   15
 
#define REG_RESULT   RAX /* to deliver method results */
 
#define REG_A0   RDI /* define some argument registers */
 
#define REG_A1   RSI
 
#define REG_A2   RDX
 
#define REG_A3   RCX
 
#define REG_ITMP1   RAX /* temporary register */
 
#define REG_ITMP2   R10 /* temporary register and method pointer */
 
#define REG_ITMP3   R11 /* temporary register */
 
#define REG_METHODPTR   REG_ITMP2/* 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_ITMP1/* exception pointer = temporary register 1 */
 
#define REG_ITMP2_XPC   REG_ITMP2/* exception pc = temporary register 2 */
 
#define REG_SP   RSP /* stack pointer */
 
#define REG_FRESULT   XMM0 /* to deliver floating point method results */
 
#define REG_FA0   XMM0 /* define some argument registers */
 
#define REG_FA1   XMM1
 
#define REG_FTMP1   XMM8 /* temporary floating point register */
 
#define REG_FTMP2   XMM9 /* temporary floating point register */
 
#define REG_FTMP3   XMM10 /* temporary floating point register */
 
#define REG_IFTMP   10 /* temporary integer and floating point register */
 
#define INT_REG_CNT   16 /* number of integer registers */
 
#define INT_SAV_CNT   5 /* number of integer callee saved registers */
 
#define INT_ARG_CNT   6 /* number of integer argument registers */
 
#define INT_TMP_CNT   1 /* number of integer temporary registers */
 
#define INT_RES_CNT   3 /* 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   8 /* number of float argument registers */
 
#define FLT_TMP_CNT   5 /* number of float temporary registers */
 
#define FLT_RES_CNT   3 /* number of float reserved registers */
 

Macro Definition Documentation

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#define R10   10

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

#define R11   11

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

#define R12   12

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

#define R13   13

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

#define R14   14

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

#define R15   15

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

#define R8   8

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

#define R9   9

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

#define RAX   0

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

#define RBP   5

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

#define RBX   3

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

#define RCX   1

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

#define RDI   7

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

#define RDX   2

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

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

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

#define REG_A1   RSI

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

#define REG_A2   RDX

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

#define REG_A3   RCX

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

#define REG_FA0   XMM0 /* define some argument registers */

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

#define REG_FA1   XMM1

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

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

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

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

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

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

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

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

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

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

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

#define REG_ITMP1   RAX /* temporary register */

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

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

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

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

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

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

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

#define REG_ITMP3   R11 /* temporary register */

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

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

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

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

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

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

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

#define REG_SP   RSP /* stack pointer */

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

#define RIP   -1

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

#define RSI   6

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

#define RSP   4

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

#define XMM0   0

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

#define XMM1   1

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

#define XMM10   10

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

#define XMM11   11

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

#define XMM12   12

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

#define XMM13   13

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

#define XMM14   14

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

#define XMM15   15

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

#define XMM2   2

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

#define XMM3   3

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

#define XMM4   4

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

#define XMM5   5

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

#define XMM6   6

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

#define XMM7   7

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

#define XMM8   8

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

#define XMM9   9

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