diff options
Diffstat (limited to 'src/lj_ccall.h')
-rw-r--r-- | src/lj_ccall.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/lj_ccall.h b/src/lj_ccall.h index 83e2403d..d0979781 100644 --- a/src/lj_ccall.h +++ b/src/lj_ccall.h | |||
@@ -47,6 +47,16 @@ typedef LJ_ALIGN(16) union FPRArg { | |||
47 | 47 | ||
48 | typedef intptr_t GPRArg; | 48 | typedef intptr_t GPRArg; |
49 | 49 | ||
50 | #elif LJ_TARGET_ARM | ||
51 | |||
52 | #define CCALL_NARG_GPR 4 | ||
53 | #define CCALL_NARG_FPR 0 | ||
54 | #define CCALL_NRET_GPR 2 /* For softfp double. */ | ||
55 | #define CCALL_NRET_FPR 0 | ||
56 | #define CCALL_SPS_FREE 0 /* NYI */ | ||
57 | |||
58 | typedef intptr_t GPRArg; | ||
59 | |||
50 | #elif LJ_TARGET_PPCSPE | 60 | #elif LJ_TARGET_PPCSPE |
51 | 61 | ||
52 | #define CCALL_NARG_GPR 8 | 62 | #define CCALL_NARG_GPR 8 |
@@ -91,10 +101,10 @@ typedef struct CCallState { | |||
91 | #elif LJ_TARGET_X86 | 101 | #elif LJ_TARGET_X86 |
92 | uint8_t resx87; /* Result on x87 stack: 1:float, 2:double. */ | 102 | uint8_t resx87; /* Result on x87 stack: 1:float, 2:double. */ |
93 | #endif | 103 | #endif |
94 | GPRArg gpr[CCALL_NUM_GPR]; /* Arguments/results in GPRs. */ | ||
95 | #if CCALL_NUM_FPR | 104 | #if CCALL_NUM_FPR |
96 | FPRArg fpr[CCALL_NUM_FPR]; /* Arguments/results in FPRs. */ | 105 | FPRArg fpr[CCALL_NUM_FPR]; /* Arguments/results in FPRs. */ |
97 | #endif | 106 | #endif |
107 | GPRArg gpr[CCALL_NUM_GPR]; /* Arguments/results in GPRs. */ | ||
98 | GPRArg stack[CCALL_MAXSTACK]; /* Stack slots. */ | 108 | GPRArg stack[CCALL_MAXSTACK]; /* Stack slots. */ |
99 | } CCallState; | 109 | } CCallState; |
100 | 110 | ||