diff options
Diffstat (limited to 'src/lj_ircall.h')
-rw-r--r-- | src/lj_ircall.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/lj_ircall.h b/src/lj_ircall.h index b1e0e446..8ccc852e 100644 --- a/src/lj_ircall.h +++ b/src/lj_ircall.h | |||
@@ -27,15 +27,23 @@ typedef struct CCallInfo { | |||
27 | #define CCI_CALL_N (IR_CALLN << CCI_OPSHIFT) | 27 | #define CCI_CALL_N (IR_CALLN << CCI_OPSHIFT) |
28 | #define CCI_CALL_L (IR_CALLL << CCI_OPSHIFT) | 28 | #define CCI_CALL_L (IR_CALLL << CCI_OPSHIFT) |
29 | #define CCI_CALL_S (IR_CALLS << CCI_OPSHIFT) | 29 | #define CCI_CALL_S (IR_CALLS << CCI_OPSHIFT) |
30 | #define CCI_CALL_FN (CCI_CALL_N|CCI_FASTCALL) | 30 | #define CCI_CALL_FN (CCI_CALL_N|CCI_CC_FASTCALL) |
31 | #define CCI_CALL_FL (CCI_CALL_L|CCI_FASTCALL) | 31 | #define CCI_CALL_FL (CCI_CALL_L|CCI_CC_FASTCALL) |
32 | #define CCI_CALL_FS (CCI_CALL_S|CCI_FASTCALL) | 32 | #define CCI_CALL_FS (CCI_CALL_S|CCI_CC_FASTCALL) |
33 | 33 | ||
34 | /* C call info flags. */ | 34 | /* C call info flags. */ |
35 | #define CCI_L 0x0100 /* Implicit L arg. */ | 35 | #define CCI_L 0x0100 /* Implicit L arg. */ |
36 | #define CCI_CASTU64 0x0200 /* Cast u64 result to number. */ | 36 | #define CCI_CASTU64 0x0200 /* Cast u64 result to number. */ |
37 | #define CCI_NOFPRCLOBBER 0x0400 /* Does not clobber any FPRs. */ | 37 | #define CCI_NOFPRCLOBBER 0x0400 /* Does not clobber any FPRs. */ |
38 | #define CCI_FASTCALL 0x0800 /* Fastcall convention. */ | 38 | #define CCI_VARARG 0x0800 /* Vararg function. */ |
39 | |||
40 | #define CCI_CC_MASK 0x3000 /* Calling convention mask. */ | ||
41 | #define CCI_CC_SHIFT 12 | ||
42 | /* ORDER CC */ | ||
43 | #define CCI_CC_CDECL 0x0000 /* Default cdecl calling convention. */ | ||
44 | #define CCI_CC_THISCALL 0x1000 /* Thiscall calling convention. */ | ||
45 | #define CCI_CC_FASTCALL 0x2000 /* Fastcall calling convention. */ | ||
46 | #define CCI_CC_STDCALL 0x3000 /* Stdcall calling convention. */ | ||
39 | 47 | ||
40 | /* Helpers for conditional function definitions. */ | 48 | /* Helpers for conditional function definitions. */ |
41 | #define IRCALLCOND_ANY(x) x | 49 | #define IRCALLCOND_ANY(x) x |