From ac972e1dba0bc88cb3dbfea9a0a1d4b931c96a3d Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Fri, 26 Apr 2019 14:37:35 +0200 Subject: [PATCH] Inline some internal definitions into backend-specific files --- lightening/aarch64.c | 8 +++++- lightening/alpha.c | 6 +++- lightening/arm.c | 12 +++++++- lightening/hppa.c | 6 +++- lightening/ia64.c | 6 +++- lightening/lightening.c | 63 ----------------------------------------- lightening/mips.c | 8 +++++- lightening/ppc.c | 8 +++++- lightening/s390.c | 6 +++- lightening/sparc.c | 22 ++++++++++++++ 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 #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 #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,3 +1,25 @@ +/* + * 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. *