[kaffe] CVS kaffe (dalibor): Converted parisc sysdepCallMethod to inline function

Kaffe CVS Kaffe Mailing List <kaffe@kaffe.org>
Fri Dec 12 09:30:03 2003


PatchSet 4220 
Date: 2003/12/12 17:27:48
Author: dalibor
Branch: HEAD
Tag: (none) 
Log:
Converted parisc sysdepCallMethod to inline function

2003-12-12  Dalibor Topic <robilad@kaffe.org>

        * config/parisc/sysdepCallMethod.h: New file.

        * config/Makefile.am
        (EXTRA_DIST): Added config/m68k/sysdepCallMethod.h.

        * aclocal.m4,
        config/Makefile.in:
        Regenerated.

        * config/parisc/common.h
        (sysdepCallMethod): Moved into its own file,
        config/parisc/sysdepCallMethod.h.

        * config/parisc/hpux/md.h,
        config/parisc/linux/md.h:
        Include config/m68k/sysdepCallMethod.h.

Members: 
	ChangeLog:1.1810->1.1811 
	aclocal.m4:1.80->1.81 
	config/Makefile.am:1.31->1.32 
	config/Makefile.in:1.98->1.99 
	config/parisc/common.h:1.3->1.4 
	config/parisc/hpux/md.h:1.3->1.4 
	config/parisc/linux/md.h:1.2->1.3 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1810 kaffe/ChangeLog:1.1811
--- kaffe/ChangeLog:1.1810	Fri Dec 12 17:07:03 2003
+++ kaffe/ChangeLog	Fri Dec 12 17:27:48 2003
@@ -1,3 +1,22 @@
+2003-12-12  Dalibor Topic <robilad@kaffe.org>
+
+	* config/parisc/sysdepCallMethod.h: New file.
+
+	* config/Makefile.am
+	(EXTRA_DIST): Added config/m68k/sysdepCallMethod.h.
+
+	* aclocal.m4,
+	config/Makefile.in:
+	Regenerated.
+
+	* config/parisc/common.h
+	(sysdepCallMethod): Moved into its own file,
+        config/parisc/sysdepCallMethod.h.
+
+	* config/parisc/hpux/md.h,
+	config/parisc/linux/md.h:
+	Include config/m68k/sysdepCallMethod.h.
+
 2003-12-12  Ito Kazumitsu  <kaz@maczuka.gcd.org>
 
 	* libraries/javalib/Makefile.am,
Index: kaffe/aclocal.m4
diff -u kaffe/aclocal.m4:1.80 kaffe/aclocal.m4:1.81
--- kaffe/aclocal.m4:1.80	Fri Dec 12 15:58:49 2003
+++ kaffe/aclocal.m4	Fri Dec 12 17:27:49 2003
@@ -8723,7 +8723,7 @@
 AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC])
 
 # ----------------------------------------------------------------------------
-# $Id: aclocal.m4,v 1.80 2003/12/12 15:58:49 dalibor Exp $
+# $Id: aclocal.m4,v 1.81 2003/12/12 17:27:49 dalibor Exp $
 #
 # Copyright (C) 2003 Free Software Foundation, Inc.
 #
@@ -8767,7 +8767,7 @@
 #
 # GNU Crypto m4 macro for use by VM Providers
 #
-# $Revision: 1.80 $
+# $Revision: 1.81 $
 #
 
 # process --with-gnu-crypto configure option.
Index: kaffe/config/Makefile.am
diff -u kaffe/config/Makefile.am:1.31 kaffe/config/Makefile.am:1.32
--- kaffe/config/Makefile.am:1.31	Fri Dec 12 15:58:50 2003
+++ kaffe/config/Makefile.am	Fri Dec 12 17:27:51 2003
@@ -244,6 +244,7 @@
 	parisc/hpux/md.h \
 	parisc/linux/config.frag \
 	parisc/linux/md.h \
+	parisc/sysdepCallMethod.h \
 	parisc/threads.h \
 	powerpc/aix/config.frag \
 	powerpc/aix/md.c \
Index: kaffe/config/Makefile.in
diff -u kaffe/config/Makefile.in:1.98 kaffe/config/Makefile.in:1.99
--- kaffe/config/Makefile.in:1.98	Fri Dec 12 15:58:50 2003
+++ kaffe/config/Makefile.in	Fri Dec 12 17:27:51 2003
@@ -486,6 +486,7 @@
 	parisc/hpux/md.h \
 	parisc/linux/config.frag \
 	parisc/linux/md.h \
+	parisc/sysdepCallMethod.h \
 	parisc/threads.h \
 	powerpc/aix/config.frag \
 	powerpc/aix/md.c \
Index: kaffe/config/parisc/common.h
diff -u kaffe/config/parisc/common.h:1.3 kaffe/config/parisc/common.h:1.4
--- kaffe/config/parisc/common.h:1.3	Fri Apr 26 07:49:13 2002
+++ kaffe/config/parisc/common.h	Fri Dec 12 17:27:51 2003
@@ -5,6 +5,9 @@
  * Copyright (c) 1996, 1997, 1998
  *      Transvirtual Technologies, Inc.  All rights reserved.
  *
+ * Copyright (c) 2003
+ *      Kaffe.org contributors. See ChangeLog for details.
+ *
  * See the file "license.terms" for information on usage and redistribution
  * of this file.
  *
@@ -14,54 +17,8 @@
 #ifndef __parisc_common_h
 #define __parisc_common_h
 
-typedef jdouble d4int_f (int, int, int, int);
-typedef jfloat f4int_f (int, int, int, int);
-typedef jlong j4int_f (int, int, int, int);
-
 #define NEED_STACK_ALIGN
 #define STACK_ALIGN(p)  ((((unsigned long)(p)) & 15) ^ (unsigned long)(p))
-
-#if NEED_sysdepCallMethod
-/* FIXME: this doesn't work for parisc-linux, because on parisc-linux
- * there is no fparg relocation, so we cannot just pass everything in
- * general purpose registers
- */
-
-#define sysdepCallMethod(CALL)						\
-do {									\
-  int argidx;								\
-  int *sa;								\
-  int *stackx;								\
-  int st_reserve[(CALL)->nrargs];					\
-  asm volatile ("ldo -36(%%r30),%0" : "=r" (sa) : "r" (st_reserve));	\
-  for (argidx = 0, stackx = sa; argidx < (CALL)->nrargs; argidx++)	\
-    switch ((CALL)->callsize[argidx])					\
-      {									\
-      case 1:								\
-	*stackx-- = (CALL)->args[argidx].i;				\
-	break;								\
-      case 2:								\
-	if (!((int)stackx & 4)) stackx--;				\
-	*stackx-- = (int) ((CALL)->args[argidx].j);			\
-	*stackx-- = (CALL)->args[argidx].i;				\
-	argidx++;							\
-      default:								\
-	break;								\
-      }									\
-  if ((CALL)->rettype == 'F') {						\
-    (CALL)->ret->f =							\
-      ((f4int_f *) ((CALL)->function)) (sa[0], sa[-1], sa[-2], sa[-3]);	\
-    break;								\
-  }									\
-  if ((CALL)->rettype == 'D') {						\
-    (CALL)->ret->d =							\
-      ((d4int_f *) ((CALL)->function)) (sa[0], sa[-1], sa[-2], sa[-3]);	\
-    break;								\
-  }									\
-  (CALL)->ret->j =							\
-    ((j4int_f *) ((CALL)->function)) (sa[0], sa[-1], sa[-2], sa[-3]);	\
-} while (0);
-#endif
 
 /*
  * Do an atomic compare and exchange.  The address 'A' is checked against
Index: kaffe/config/parisc/hpux/md.h
diff -u kaffe/config/parisc/hpux/md.h:1.3 kaffe/config/parisc/hpux/md.h:1.4
--- kaffe/config/parisc/hpux/md.h:1.3	Sat Oct  4 18:52:55 2003
+++ kaffe/config/parisc/hpux/md.h	Fri Dec 12 17:27:51 2003
@@ -5,6 +5,9 @@
  * Copyright (c) 1996, 1997
  *	Transvirtual Technologies, Inc.  All rights reserved.
  *
+ * Copyright (c) 2003
+ *      Kaffe.org contributors. See ChangeLog for details.
+ *
  * See the file "license.terms" for information on usage and redistribution 
  * of this file. 
  */
@@ -13,6 +16,7 @@
 #define __parisc_hpux_md_h
  
 #include "parisc/common.h"
+#include "parisc/sysdepCallMethod.h"
 #include "parisc/threads.h"
 
 #define	LIBRARYPATH	"SHLIB_PATH"
Index: kaffe/config/parisc/linux/md.h
diff -u kaffe/config/parisc/linux/md.h:1.2 kaffe/config/parisc/linux/md.h:1.3
--- kaffe/config/parisc/linux/md.h:1.2	Sat Oct  4 18:52:55 2003
+++ kaffe/config/parisc/linux/md.h	Fri Dec 12 17:27:52 2003
@@ -16,6 +16,7 @@
 #define __parisc_linux_md_h
  
 #include "parisc/common.h"
+#include "parisc/sysdepCallMethod.h"
 #include "parisc/threads.h"
 
 #define        LIBRARYPATH     "SHLIB_PATH"