1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-18 10:10:23 +02:00

Inline some internal definitions into backend-specific files

This commit is contained in:
Andy Wingo 2019-04-26 14:37:35 +02:00
parent 04d89a7ce2
commit ac972e1dba
10 changed files with 74 additions and 71 deletions

View file

@ -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. * This file is part of GNU lightning.
* *
@ -17,6 +17,12 @@
* Paulo Cesar Pereira de Andrade * 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_reg_p(i) ((i) >= 0 && (i) < 8)
#define jit_arg_f_reg_p(i) ((i) >= 0 && (i) < 8) #define jit_arg_f_reg_p(i) ((i) >= 0 && (i) < 8)

View file

@ -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. * This file is part of GNU lightning.
* *
@ -17,6 +17,10 @@
* Paulo Cesar Pereira de Andrade * 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_reg_p(i) ((i) >= 0 && (i) < 6)
#define jit_arg_f_reg_p(i) ((i) >= 0 && (i) < 6) #define jit_arg_f_reg_p(i) ((i) >= 0 && (i) < 6)
#if __BYTE_ORDER == __LITTLE_ENDIAN #if __BYTE_ORDER == __LITTLE_ENDIAN

View file

@ -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. * This file is part of GNU lightning.
* *
@ -21,6 +21,16 @@
# include <stdio.h> # include <stdio.h>
#endif #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_reg_p(i) ((i) >= 0 && (i) < 4)
#define jit_arg_f_reg_p(i) ((i) >= 0 && (i) < 16) #define jit_arg_f_reg_p(i) ((i) >= 0 && (i) < 16)
#define jit_arg_d_reg_p(i) ((i) >= 0 && (i) < 15) #define jit_arg_d_reg_p(i) ((i) >= 0 && (i) < 15)

View file

@ -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. * This file is part of GNU lightning.
* *
@ -17,6 +17,10 @@
* Paulo Cesar Pereira de Andrade * 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 jit_arg_reg_p(i) (i >= 0 && i < 4)
#define PROTO 1 #define PROTO 1

View file

@ -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. * This file is part of GNU lightning.
* *
@ -17,6 +17,10 @@
* Paulo Cesar Pereira de Andrade * 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) #define jit_arg_reg_p(i) ((i) >= 0 && (i) < 8)
#if __BYTE_ORDER == __LITTLE_ENDIAN #if __BYTE_ORDER == __LITTLE_ENDIAN
# define C_DISP 0 # define C_DISP 0

View file

@ -37,69 +37,6 @@
#define _NOREG 0xffff #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 union jit_pc
{ {
uint8_t *uc; uint8_t *uc;

View file

@ -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. * This file is part of GNU lightning.
* *
@ -21,6 +21,12 @@
# include <sys/cachectl.h> # include <sys/cachectl.h>
#endif #endif
# define JIT_RA0 _A0
# define JIT_FA0 _F12
# define JIT_SP _SP
# define JIT_RET _V0
# define JIT_FRET _F0
#if NEW_ABI #if NEW_ABI
# define NUM_WORD_ARGS 8 # define NUM_WORD_ARGS 8
# define STACK_SLOT 8 # define STACK_SLOT 8

View file

@ -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. * This file is part of GNU lightning.
* *
@ -17,6 +17,12 @@
* Paulo Cesar Pereira de Andrade * 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_reg_p(i) ((i) >= 0 && (i) < 8)
#define jit_arg_f_reg_p(i) ((i) >= 0 && (i) < 13) #define jit_arg_f_reg_p(i) ((i) >= 0 && (i) < 13)
#if __BYTE_ORDER == __LITTLE_ENDIAN #if __BYTE_ORDER == __LITTLE_ENDIAN

View file

@ -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. * This file is part of GNU lightning.
* *
@ -17,6 +17,10 @@
* Paulo Cesar Pereira de Andrade * Paulo Cesar Pereira de Andrade
*/ */
# define JIT_SP _R15
# define JIT_RET _R2
# define JIT_FRET _F0
#if __WORDSIZE == 32 #if __WORDSIZE == 32
# define NUM_FLOAT_REG_ARGS 2 # define NUM_FLOAT_REG_ARGS 2
#else #else

View file

@ -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. * Copyright (C) 2013-2018 Free Software Foundation, Inc.
* *