summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@igalia.com>2019-04-26 14:37:35 +0200
committerAndy Wingo <wingo@igalia.com>2019-04-26 14:37:35 +0200
commitac972e1dba0bc88cb3dbfea9a0a1d4b931c96a3d (patch)
treef54f76fe6f2080de1592c5745ec5434f65ac0b71
parent04d89a7ce27ba60bc2735e2f563d88c28fff2208 (diff)
downloadguile-ac972e1dba0bc88cb3dbfea9a0a1d4b931c96a3d.tar.gz
Inline some internal definitions into backend-specific files
-rw-r--r--lightening/aarch64.c8
-rw-r--r--lightening/alpha.c6
-rw-r--r--lightening/arm.c12
-rw-r--r--lightening/hppa.c6
-rw-r--r--lightening/ia64.c6
-rw-r--r--lightening/lightening.c63
-rw-r--r--lightening/mips.c8
-rw-r--r--lightening/ppc.c8
-rw-r--r--lightening/s390.c6
-rw-r--r--lightening/sparc.c22
10 files changed, 74 insertions, 71 deletions
diff --git a/lightening/aarch64.c b/lightening/aarch64.c
index 332c4c0c6..65efb74c3 100644
--- a/lightening/aarch64.c
+++ b/lightening/aarch64.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2018 Free Software Foundation, Inc.
+ * Copyright (C) 2013-2019 Free Software Foundation, Inc.
*
* This file is part of GNU lightning.
*
@@ -17,6 +17,12 @@
* Paulo Cesar Pereira de Andrade
*/
+# define JIT_RA0 _R0
+# define JIT_FA0 _V0
+# define JIT_SP _SP
+# define JIT_RET _R0
+# define JIT_FRET _V0
+
#define jit_arg_reg_p(i) ((i) >= 0 && (i) < 8)
#define jit_arg_f_reg_p(i) ((i) >= 0 && (i) < 8)
diff --git a/lightening/alpha.c b/lightening/alpha.c
index 1f1e40634..71e7f8413 100644
--- a/lightening/alpha.c
+++ b/lightening/alpha.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2014-2018 Free Software Foundation, Inc.
+ * Copyright (C) 2014-2019 Free Software Foundation, Inc.
*
* This file is part of GNU lightning.
*
@@ -17,6 +17,10 @@
* Paulo Cesar Pereira de Andrade
*/
+# define JIT_SP _SP
+# define JIT_RET _V0
+# define JIT_FRET _F0
+
#define jit_arg_reg_p(i) ((i) >= 0 && (i) < 6)
#define jit_arg_f_reg_p(i) ((i) >= 0 && (i) < 6)
#if __BYTE_ORDER == __LITTLE_ENDIAN
diff --git a/lightening/arm.c b/lightening/arm.c
index ef4a3e2e7..0df47814e 100644
--- a/lightening/arm.c
+++ b/lightening/arm.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ * Copyright (C) 2012-2019 Free Software Foundation, Inc.
*
* This file is part of GNU lightning.
*
@@ -21,6 +21,16 @@
# include <stdio.h>
#endif
+# define JIT_RA0 _R0
+# define JIT_FA0 _D0
+# define JIT_SP _R13
+# define JIT_RET _R0
+# if defined(__ARM_PCS_VFP)
+# define JIT_FRET _D0
+# else
+# define JIT_FRET _R0
+# endif
+
#define jit_arg_reg_p(i) ((i) >= 0 && (i) < 4)
#define jit_arg_f_reg_p(i) ((i) >= 0 && (i) < 16)
#define jit_arg_d_reg_p(i) ((i) >= 0 && (i) < 15)
diff --git a/lightening/hppa.c b/lightening/hppa.c
index 38c75e0ca..d6c56cb44 100644
--- a/lightening/hppa.c
+++ b/lightening/hppa.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2018 Free Software Foundation, Inc.
+ * Copyright (C) 2013-2019 Free Software Foundation, Inc.
*
* This file is part of GNU lightning.
*
@@ -17,6 +17,10 @@
* Paulo Cesar Pereira de Andrade
*/
+# define JIT_SP _R30
+# define JIT_RET _R28
+# define JIT_FRET _F4
+
#define jit_arg_reg_p(i) (i >= 0 && i < 4)
#define PROTO 1
diff --git a/lightening/ia64.c b/lightening/ia64.c
index 185d41cbf..9c025116c 100644
--- a/lightening/ia64.c
+++ b/lightening/ia64.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2018 Free Software Foundation, Inc.
+ * Copyright (C) 2013-2019 Free Software Foundation, Inc.
*
* This file is part of GNU lightning.
*
@@ -17,6 +17,10 @@
* Paulo Cesar Pereira de Andrade
*/
+# define JIT_SP _R12
+# define JIT_RET _R8
+# define JIT_FRET _F8
+
#define jit_arg_reg_p(i) ((i) >= 0 && (i) < 8)
#if __BYTE_ORDER == __LITTLE_ENDIAN
# define C_DISP 0
diff --git a/lightening/lightening.c b/lightening/lightening.c
index faba86bdb..4d7888cea 100644
--- a/lightening/lightening.c
+++ b/lightening/lightening.c
@@ -37,69 +37,6 @@
#define _NOREG 0xffff
-#if defined(__i386__) || defined(__x86_64__)
-# define JIT_RET _RAX
-# if __X32
-# define JIT_FRET _ST0
-# else
-# if __CYGWIN__
-# define JIT_RA0 _RCX
-# else
-# define JIT_RA0 _RDI
-# endif
-# define JIT_FA0 _XMM0
-# define JIT_FRET _XMM0
-# endif
-#elif defined(__mips__)
-# define JIT_RA0 _A0
-# define JIT_FA0 _F12
-# define JIT_SP _SP
-# define JIT_RET _V0
-# define JIT_FRET _F0
-#elif defined(__arm__)
-# define JIT_RA0 _R0
-# define JIT_FA0 _D0
-# define JIT_SP _R13
-# define JIT_RET _R0
-# if defined(__ARM_PCS_VFP)
-# define JIT_FRET _D0
-# else
-# define JIT_FRET _R0
-# endif
-#elif defined(__ppc__) || defined(__powerpc__)
-# define JIT_RA0 _R3
-# define JIT_FA0 _F1
-# define JIT_SP _R1
-# define JIT_RET _R3
-# define JIT_FRET _F1
-#elif defined(__sparc__)
-# define JIT_SP _SP
-# define JIT_RET _I0
-# define JIT_FRET _F0
-#elif defined(__ia64__)
-# define JIT_SP _R12
-# define JIT_RET _R8
-# define JIT_FRET _F8
-#elif defined(__hppa__)
-# define JIT_SP _R30
-# define JIT_RET _R28
-# define JIT_FRET _F4
-#elif defined(__aarch64__)
-# define JIT_RA0 _R0
-# define JIT_FA0 _V0
-# define JIT_SP _SP
-# define JIT_RET _R0
-# define JIT_FRET _V0
-#elif defined(__s390__) || defined(__s390x__)
-# define JIT_SP _R15
-# define JIT_RET _R2
-# define JIT_FRET _F0
-#elif defined(__alpha__)
-# define JIT_SP _SP
-# define JIT_RET _V0
-# define JIT_FRET _F0
-#endif
-
union jit_pc
{
uint8_t *uc;
diff --git a/lightening/mips.c b/lightening/mips.c
index 70b2d94ea..3b2370f29 100644
--- a/lightening/mips.c
+++ b/lightening/mips.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ * Copyright (C) 2012-2019 Free Software Foundation, Inc.
*
* This file is part of GNU lightning.
*
@@ -21,6 +21,12 @@
# include <sys/cachectl.h>
#endif
+# define JIT_RA0 _A0
+# define JIT_FA0 _F12
+# define JIT_SP _SP
+# define JIT_RET _V0
+# define JIT_FRET _F0
+
#if NEW_ABI
# define NUM_WORD_ARGS 8
# define STACK_SLOT 8
diff --git a/lightening/ppc.c b/lightening/ppc.c
index a6502cbac..1819acdf6 100644
--- a/lightening/ppc.c
+++ b/lightening/ppc.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2018 Free Software Foundation, Inc.
+ * Copyright (C) 2012-2019 Free Software Foundation, Inc.
*
* This file is part of GNU lightning.
*
@@ -17,6 +17,12 @@
* Paulo Cesar Pereira de Andrade
*/
+# define JIT_RA0 _R3
+# define JIT_FA0 _F1
+# define JIT_SP _R1
+# define JIT_RET _R3
+# define JIT_FRET _F1
+
#define jit_arg_reg_p(i) ((i) >= 0 && (i) < 8)
#define jit_arg_f_reg_p(i) ((i) >= 0 && (i) < 13)
#if __BYTE_ORDER == __LITTLE_ENDIAN
diff --git a/lightening/s390.c b/lightening/s390.c
index 0dc109a9f..41e0de42f 100644
--- a/lightening/s390.c
+++ b/lightening/s390.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2013-2018 Free Software Foundation, Inc.
+ * Copyright (C) 2013-2019 Free Software Foundation, Inc.
*
* This file is part of GNU lightning.
*
@@ -17,6 +17,10 @@
* Paulo Cesar Pereira de Andrade
*/
+# define JIT_SP _R15
+# define JIT_RET _R2
+# define JIT_FRET _F0
+
#if __WORDSIZE == 32
# define NUM_FLOAT_REG_ARGS 2
#else
diff --git a/lightening/sparc.c b/lightening/sparc.c
index 10aac8528..415f21335 100644
--- a/lightening/sparc.c
+++ b/lightening/sparc.c
@@ -1,4 +1,26 @@
/*
+ * Copyright (C) 2013-2019 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU lightning.
+ *
+ * GNU lightning is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * GNU lightning is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * Authors:
+ * Paulo Cesar Pereira de Andrade
+ */
+
+# define JIT_SP _SP
+# define JIT_RET _I0
+# define JIT_FRET _F0
+/*
* Copyright (C) 2013-2018 Free Software Foundation, Inc.
*
* This file is part of GNU lightning.