PatchSet 4223 
Date: 2003/12/13 19:31:25
Author: dalibor
Branch: HEAD
Tag: (none) 
Log:
Cleaned up sysdepCallMethod support for mips

2003-12-13  Dalibor Topic <[EMAIL PROTECTED]>

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

        * config/mips/common.h: Moved sysdepCallMethod selection
        into config/mips/sysdepCallMethod.h.

        * config/mips/irix5/md.h,
        config/mips/linux/md.h,
        config/mips/ultrix4/md.h:
        Include config/mips/sysdepCallMethod.h.

        * config/mips/netbsd1/md.c:
        (mips32CallMethod) Renamed to sysdepCallMethod.

        * config/mips/netbsd1/md.h:
        Declared sysdepCallMethod.

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

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

Members: 
        ChangeLog:1.1812->1.1813 
        aclocal.m4:1.81->1.82 
        config/Makefile.am:1.32->1.33 
        config/Makefile.in:1.99->1.100 
        config/mips/common.h:1.8->1.9 
        config/mips/sysdepCallMethod.h:INITIAL->1.1 
        config/mips/irix5/md.h:1.3->1.4 
        config/mips/linux/md.h:1.5->1.6 
        config/mips/netbsd1/md.c:1.4->1.5 
        config/mips/netbsd1/md.h:1.3->1.4 
        config/mips/ultrix4/md.h:1.1->1.2 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1812 kaffe/ChangeLog:1.1813
--- kaffe/ChangeLog:1.1812      Sat Dec 13 18:03:52 2003
+++ kaffe/ChangeLog     Sat Dec 13 19:31:25 2003
@@ -1,3 +1,28 @@
+2003-12-13  Dalibor Topic <[EMAIL PROTECTED]>
+
+       * config/mips/sysdepCallMethod.h: New file.
+
+       * config/mips/common.h: Moved sysdepCallMethod selection
+       into config/mips/sysdepCallMethod.h.
+
+       * config/mips/irix5/md.h,
+       config/mips/linux/md.h,
+       config/mips/ultrix4/md.h:
+       Include config/mips/sysdepCallMethod.h.
+
+       * config/mips/netbsd1/md.c:
+       (mips32CallMethod) Renamed to sysdepCallMethod.
+
+       * config/mips/netbsd1/md.h:
+       Declared sysdepCallMethod.
+
+       * config/Makefile.am
+       (EXTRA_DIST): Added config/mips/sysdepCallMethod.h.
+
+       * aclocal.m4,
+       config/Makefile.in:
+       Regenerated.
+
 2003-12-12  Atsushi Nemoto  <[EMAIL PROTECTED]>
 
        Fixed build on mipsel-linux for jit3.
Index: kaffe/aclocal.m4
diff -u kaffe/aclocal.m4:1.81 kaffe/aclocal.m4:1.82
--- kaffe/aclocal.m4:1.81       Fri Dec 12 17:27:49 2003
+++ kaffe/aclocal.m4    Sat Dec 13 19:31:26 2003
@@ -8723,7 +8723,7 @@
 AU_DEFUN([fp_WITH_DMALLOC], [AM_WITH_DMALLOC])
 
 # ----------------------------------------------------------------------------
-# $Id: aclocal.m4,v 1.81 2003/12/12 17:27:49 dalibor Exp $
+# $Id: aclocal.m4,v 1.82 2003/12/13 19:31:26 dalibor Exp $
 #
 # Copyright (C) 2003 Free Software Foundation, Inc.
 #
@@ -8767,7 +8767,7 @@
 #
 # GNU Crypto m4 macro for use by VM Providers
 #
-# $Revision: 1.81 $
+# $Revision: 1.82 $
 #
 
 # process --with-gnu-crypto configure option.
Index: kaffe/config/Makefile.am
diff -u kaffe/config/Makefile.am:1.32 kaffe/config/Makefile.am:1.33
--- kaffe/config/Makefile.am:1.32       Fri Dec 12 17:27:51 2003
+++ kaffe/config/Makefile.am    Sat Dec 13 19:31:27 2003
@@ -233,6 +233,7 @@
        mips/netbsd1/md.c \
        mips/netbsd1/md.h \
        mips/o32-sysdepCallMethod.h \
+       mips/sysdepCallMethod.h \
        mips/threads.h \
        mips/trampolines.c \
        mips/ultrix4/Make.frag \
Index: kaffe/config/Makefile.in
diff -u kaffe/config/Makefile.in:1.99 kaffe/config/Makefile.in:1.100
--- kaffe/config/Makefile.in:1.99       Fri Dec 12 17:27:51 2003
+++ kaffe/config/Makefile.in    Sat Dec 13 19:31:27 2003
@@ -475,6 +475,7 @@
        mips/netbsd1/md.c \
        mips/netbsd1/md.h \
        mips/o32-sysdepCallMethod.h \
+       mips/sysdepCallMethod.h \
        mips/threads.h \
        mips/trampolines.c \
        mips/ultrix4/Make.frag \
Index: kaffe/config/mips/common.h
diff -u kaffe/config/mips/common.h:1.8 kaffe/config/mips/common.h:1.9
--- kaffe/config/mips/common.h:1.8      Mon Jan  6 17:14:18 2003
+++ kaffe/config/mips/common.h  Sat Dec 13 19:31:28 2003
@@ -5,6 +5,9 @@
  * Copyright (c) 1996, 1997, 1998, 1999
  *     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. 
  *
@@ -26,31 +29,6 @@
 #define PS2LINUX
 #undef HAVE_MIPSII_INSTRUCTIONS
 #endif 
-
-#if NEED_sysdepCallMethod
-
-#if !defined (_MIPS_SIM) || (_MIPS_SIM == _MIPS_SIM_ABI32)
-
-#define LONG_SYSDEP 1
-#include "o32-sysdepCallMethod.h"
-#undef LONG_SYSDEP
-#include "o32-sysdepCallMethod.h"
-
-#elif (_MIPS_SIM == _MIPS_SIM_NABI32)
-
-#define LONG_SYSDEP 1
-#include "n32-sysdepCallMethod.h"
-#undef LONG_SYSDEP
-#include "n32-sysdepCallMethod.h"
-
-#else
-
-#error "Calling convention not specified"
-
-#endif
-
-#endif /* NEED_sysdepCallMethod */
-
 
 #if defined(HAVE_MIPSII_INSTRUCTIONS)
 /*
===================================================================
Checking out kaffe/config/mips/sysdepCallMethod.h
RCS:  /home/cvs/kaffe/kaffe/config/mips/sysdepCallMethod.h,v
VERS: 1.1
***************
--- /dev/null   Sun Aug  4 19:57:58 2002
+++ kaffe/config/mips/sysdepCallMethod.h        Sat Dec 13 19:33:23 2003
@@ -0,0 +1,47 @@
+/*
+ * mips/sysdepCallMethod.h
+ * Common MIPS configuration information.
+ *
+ * Copyright (c) 1996, 1997, 1998, 1999
+ *     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. 
+ *
+ * by Alexandre Oliva <[EMAIL PROTECTED]>
+ * and Edouard G. Parmelan <[EMAIL PROTECTED]>
+ */
+
+#ifndef __mips_sysdepCallMethod_h
+#define __mips_sysdepCallMethod_h
+
+#if NEED_sysdepCallMethod
+
+#include "support.h"
+
+#if !defined (_MIPS_SIM) || (_MIPS_SIM == _MIPS_SIM_ABI32)
+
+#define LONG_SYSDEP 1
+#include "o32-sysdepCallMethod.h"
+#undef LONG_SYSDEP
+#include "o32-sysdepCallMethod.h"
+
+#elif (_MIPS_SIM == _MIPS_SIM_NABI32)
+
+#define LONG_SYSDEP 1
+#include "n32-sysdepCallMethod.h"
+#undef LONG_SYSDEP
+#include "n32-sysdepCallMethod.h"
+
+#else
+
+#error "Calling convention not specified"
+
+#endif
+
+#endif /* NEED_sysdepCallMethod */
+
+#endif /* __mips_sysdepCallMethod_h */
Index: kaffe/config/mips/irix5/md.h
diff -u kaffe/config/mips/irix5/md.h:1.3 kaffe/config/mips/irix5/md.h:1.4
--- kaffe/config/mips/irix5/md.h:1.3    Tue Aug 25 20:52:53 1998
+++ kaffe/config/mips/irix5/md.h        Sat Dec 13 19:31:28 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. 
  */
@@ -12,7 +15,9 @@
 #ifndef __mips_irix5_md_h
 #define __mips_irix5_md_h
 
-#include "mips/threads.h"
 #include "mips/common.h"
+#include "mips/sysdepCallMethod.h"
+#include "mips/threads.h"
+
 
 #endif
Index: kaffe/config/mips/linux/md.h
diff -u kaffe/config/mips/linux/md.h:1.5 kaffe/config/mips/linux/md.h:1.6
--- kaffe/config/mips/linux/md.h:1.5    Sat Dec 13 18:03:53 2003
+++ kaffe/config/mips/linux/md.h        Sat Dec 13 19:31:28 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. 
  */
@@ -13,6 +16,7 @@
 #define __mips_linux_md_h
 
 #include "mips/common.h"
+#include "mips/sysdepCallMethod.h"
 #include "mips/threads.h"
 
 #undef SP_OFFSET
Index: kaffe/config/mips/netbsd1/md.c
diff -u kaffe/config/mips/netbsd1/md.c:1.4 kaffe/config/mips/netbsd1/md.c:1.5
--- kaffe/config/mips/netbsd1/md.c:1.4  Thu Jul 31 22:46:42 2003
+++ kaffe/config/mips/netbsd1/md.c      Sat Dec 13 19:31:29 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.
  */
@@ -17,7 +20,7 @@
 #include "support.h"
 
 void
-mips32CallMethod (callMethodInfo *CALL)
+sysdepCallMethod(callMethodInfo *call)
 {
     register int       iret    __asm__("$2");
     register int64     jret    __asm__("$2");
@@ -38,22 +41,22 @@
     int* curr_ra = ra;
 
     {
-      int nrargs = CALL->nrargs;
+      int nrargs = call->nrargs;
       uintp *argframe = __builtin_alloca((nrargs > 4 ? nrargs : 4) * sizeof(int64));
       int argidx;
       int idx = 0;
 
       for (argidx = 0; argidx < nrargs; ++argidx) {
-       switch (CALL->callsize[argidx]) {
+       switch (call->callsize[argidx]) {
        case 2:
          if ((idx & 1) != 0) { /* Align */
            idx += 1;
          }
-         *(jlong*)&argframe[idx] = CALL->args[argidx].j;
+         *(jlong*)&argframe[idx] = call->args[argidx].j;
          idx += 2;
          break;
        case 1:
-         *(jint*)&argframe[idx] = CALL->args[argidx].i;
+         *(jint*)&argframe[idx] = call->args[argidx].i;
          idx += 1;
          break;
        default:
@@ -65,21 +68,21 @@
        * since sometime we need values in float registers, sometimes
        * in integers.
        */
-      if (CALL->callsize[0] == 1) {
+      if (call->callsize[0] == 1) {
        asm volatile ("l.s $f12,%0" : : "m" (*(jfloat*)&argframe[0]));
-       if (CALL->callsize[1] == 1) {
+       if (call->callsize[1] == 1) {
          asm volatile ("l.s $f14,%0" : : "m" (*(jfloat*)&argframe[1]));
        }
-       else if (CALL->callsize[1] == 2) {
+       else if (call->callsize[1] == 2) {
          asm volatile ("l.d $f14,%0" : : "m" (*(jdouble*)&argframe[2]));
        }
       }
-      else if (CALL->callsize[0] == 2) {
+      else if (call->callsize[0] == 2) {
        asm volatile ("l.d $f12,%0" : : "m" (*(jdouble*)&argframe[0]));
-       if (CALL->callsize[2] == 1) {
+       if (call->callsize[2] == 1) {
          asm volatile ("l.s $f14,%0" : : "m" (*(jfloat*)&argframe[2]));
        }
-       else if (CALL->callsize[2] == 2) {
+       else if (call->callsize[2] == 2) {
          asm volatile ("l.d $f14,%0" : : "m" (*(jdouble*)&argframe[2]));
        }
       }
@@ -92,26 +95,26 @@
 
       asm ("" : : "r" (i0), "r" (i1), "r" (i2), "r" (i3));
 
-      (*(t9 = CALL->function))();
+      (*(t9 = call->function))();
 
       asm ("lw $31,%0" : : "m" (curr_ra));
       asm ("lw $gp,%0" : : "m" (curr_gp));
       asm ("lw $sp,%0" : : "m" (curr_sp));
 
-      if (CALL->retsize != 0) {
-       switch(CALL->retsize) {
+      if (call->retsize != 0) {
+       switch(call->retsize) {
        case 2:
-         if (CALL->rettype == 'D')
-           CALL->ret->d = dret;
+         if (call->rettype == 'D')
+           call->ret->d = dret;
          else {
-           CALL->ret->j = jret;
+           call->ret->j = jret;
          }
          break;
        case 1:
-         if (CALL->rettype == 'F')
-           CALL->ret->f = fret;
+         if (call->rettype == 'F')
+           call->ret->f = fret;
          else
-           CALL->ret->i = iret;
+           call->ret->i = iret;
          break;
        default:
          ABORT();
Index: kaffe/config/mips/netbsd1/md.h
diff -u kaffe/config/mips/netbsd1/md.h:1.3 kaffe/config/mips/netbsd1/md.h:1.4
--- kaffe/config/mips/netbsd1/md.h:1.3  Sun Jun 17 16:39:55 2001
+++ kaffe/config/mips/netbsd1/md.h      Sat Dec 13 19:31:29 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.
  */
@@ -28,10 +31,9 @@
 
 /*
  * System dependent call method routine definition.
- * We use 'mips32CallMethod' (defined in mips.c) for NetBSD/mips.
+ * We use 'sysdepCallMethod' (defined in md.c) for NetBSD/mips.
  */
-#undef sysdepCallMethod
-#define sysdepCallMethod(CALL) mips32CallMethod(CALL)
+extern void sysdepCallMethod(callMethodInfo *call);
 
 #if defined(TRANSLATOR)
 #include "jit-md.h"
Index: kaffe/config/mips/ultrix4/md.h
diff -u kaffe/config/mips/ultrix4/md.h:1.1 kaffe/config/mips/ultrix4/md.h:1.2
--- kaffe/config/mips/ultrix4/md.h:1.1  Fri Oct 23 18:56:19 1998
+++ kaffe/config/mips/ultrix4/md.h      Sat Dec 13 19:31:29 2003
@@ -5,12 +5,17 @@
  * 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. 
  */
 
 #ifndef __mips_ultrix4_md_h
 #define __mips_ultrix4_md_h
+
+#include "mips/sysdepCallMethod.h"
 
 /**/
 /* Thread handling */

_______________________________________________
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe

Reply via email to