summaryrefslogtreecommitdiff
path: root/src/lj_ccall.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lj_ccall.h')
-rw-r--r--src/lj_ccall.h12
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
48typedef intptr_t GPRArg; 48typedef 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
58typedef 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