summaryrefslogtreecommitdiff
path: root/src/lj_ccall.h
diff options
context:
space:
mode:
authorMike Pall <mike>2011-04-16 23:28:51 +0200
committerMike Pall <mike>2011-04-16 23:28:51 +0200
commitd636a3decdf8dc503e707fad8b0e2745c0cabd21 (patch)
treed23c1122b288819eca73d2b54d1008275a7de7d6 /src/lj_ccall.h
parentfc4021427964de06b6ba445172c7345a208a725d (diff)
downloadluajit2-d636a3decdf8dc503e707fad8b0e2745c0cabd21.tar.gz
ARM: Add partial support for FFI.
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 {
typedef intptr_t GPRArg;
+#elif LJ_TARGET_ARM
+
+#define CCALL_NARG_GPR 4
+#define CCALL_NARG_FPR 0
+#define CCALL_NRET_GPR 2 /* For softfp double. */
+#define CCALL_NRET_FPR 0
+#define CCALL_SPS_FREE 0 /* NYI */
+
+typedef intptr_t GPRArg;
+
#elif LJ_TARGET_PPCSPE
#define CCALL_NARG_GPR 8
@@ -91,10 +101,10 @@ typedef struct CCallState {
#elif LJ_TARGET_X86
uint8_t resx87; /* Result on x87 stack: 1:float, 2:double. */
#endif
- GPRArg gpr[CCALL_NUM_GPR]; /* Arguments/results in GPRs. */
#if CCALL_NUM_FPR
FPRArg fpr[CCALL_NUM_FPR]; /* Arguments/results in FPRs. */
#endif
+ GPRArg gpr[CCALL_NUM_GPR]; /* Arguments/results in GPRs. */
GPRArg stack[CCALL_MAXSTACK]; /* Stack slots. */
} CCallState;