[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 01/20: Inline some internal definitions into backend-spe
From: |
Andy Wingo |
Subject: |
[Guile-commits] 01/20: Inline some internal definitions into backend-specific files |
Date: |
Sun, 28 Apr 2019 07:54:18 -0400 (EDT) |
wingo pushed a commit to branch lightening
in repository guile.
commit ac972e1dba0bc88cb3dbfea9a0a1d4b931c96a3d
Author: Andy Wingo <address@hidden>
Date: Fri Apr 26 14:37:35 2019 +0200
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 332c4c0..65efb74 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 1f1e406..71e7f84 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 ef4a3e2..0df4781 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 38c75e0..d6c56cb 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 185d41c..9c02511 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 faba86b..4d7888c 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 70b2d94..3b2370f 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 a6502cb..1819acd 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 0dc109a..41e0de4 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 10aac85..415f213 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.
- [Guile-commits] 15/20: Add test for JIT callee with many args, (continued)
- [Guile-commits] 15/20: Add test for JIT callee with many args, Andy Wingo, 2019/04/28
- [Guile-commits] 14/20: Add {enter,leave}_jit_abi calls in tests, Andy Wingo, 2019/04/28
- [Guile-commits] 09/20: Remove most __X64_32 code, Andy Wingo, 2019/04/28
- [Guile-commits] 10/20: Add facility to enter and leave JIT ABI, Andy Wingo, 2019/04/28
- [Guile-commits] 03/20: Fix lightening to compile on 32-bit x86, Andy Wingo, 2019/04/28
- [Guile-commits] 13/20: Fix ABI of arg to extr_d_f test, Andy Wingo, 2019/04/28
- [Guile-commits] 12/20: Fix jit_leave_jit_abi to pop correct registers, Andy Wingo, 2019/04/28
- [Guile-commits] 08/20: Simplify 64/32 concerns in x86-cpu.c, Andy Wingo, 2019/04/28
- [Guile-commits] 07/20: Make jit_cpu private, Andy Wingo, 2019/04/28
- [Guile-commits] 11/20: Small bug fixes for ia32, Andy Wingo, 2019/04/28
- [Guile-commits] 01/20: Inline some internal definitions into backend-specific files,
Andy Wingo <=
- [Guile-commits] 02/20: Account for saved return address when locating args, Andy Wingo, 2019/04/28
- [Guile-commits] 05/20: Fix compile warnings for 32-bit tests, Andy Wingo, 2019/04/28
- [Guile-commits] 06/20: Fix 32-bit movi_d, Andy Wingo, 2019/04/28