[kaffe] CVS kaffe (robilad): jit fixes for cygwin

Kaffe CVS cvs-commits at kaffe.org
Tue Aug 7 17:35:00 PDT 2007


PatchSet 7524 
Date: 2007/08/08 00:33:52
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
jit fixes for cygwin

Members: 
	ChangeLog:1.5022->1.5023 
	config/i386/cygwin32/jit-md.h:1.1->1.2 
	config/i386/cygwin32/md.h:1.6->1.7 
	kaffe/kaffevm/jit/stackTrace-impl.h:1.1->1.2 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.5022 kaffe/ChangeLog:1.5023
--- kaffe/ChangeLog:1.5022	Tue Aug  7 20:21:44 2007
+++ kaffe/ChangeLog	Wed Aug  8 00:33:52 2007
@@ -1,3 +1,17 @@
+2007-08-07  Kazuyuki Shudo  <2006 at shudo.net>
+
+	Down to 19 failures from 25 in jit mode with jthreads 
+	and kaffe gc.
+
+	* config/i386/cygwin32/jit-md.h (EXCEPTIONPROTO, 
+	EXCEPTIONFRAME): Updated.
+
+	* config/i386/cygwin32/md.h (SIGNAL_ARGS, 
+	SIGNAL_CONTEXT_POINTER): Updated.
+
+	* kaffe/kaffevm/jit/stackTrace-impl.h (STACKTRACEINIT):
+	Adapted for Cygwin.
+
 2007-08-07  Dalibor Topic  <robilad at kaffe.org>
 
 	* configure.ac, kaffe/kaffe/version.c (printShortVersion): Updated
Index: kaffe/config/i386/cygwin32/jit-md.h
diff -u kaffe/config/i386/cygwin32/jit-md.h:1.1 kaffe/config/i386/cygwin32/jit-md.h:1.2
--- kaffe/config/i386/cygwin32/jit-md.h:1.1	Fri Aug 28 15:47:20 1998
+++ kaffe/config/i386/cygwin32/jit-md.h	Wed Aug  8 00:33:52 2007
@@ -25,10 +25,10 @@
  * No signal handler support yet!!
  */
 #define	EXCEPTIONPROTO							\
-	int sig
+	int sig, siginfo_t *ctx, void *uc0
 
 #define	EXCEPTIONFRAME(f, c)						\
 	(f).retbp = 0;							\
-	(f).retpc = 0
+	(f).retpc = c->si_addr + 1
 
 #endif
Index: kaffe/config/i386/cygwin32/md.h
diff -u kaffe/config/i386/cygwin32/md.h:1.6 kaffe/config/i386/cygwin32/md.h:1.7
--- kaffe/config/i386/cygwin32/md.h:1.6	Sat Mar 18 17:40:20 2006
+++ kaffe/config/i386/cygwin32/md.h	Wed Aug  8 00:33:52 2007
@@ -31,8 +31,8 @@
 #undef SP_OFFSET
 #define	SP_OFFSET	7
 
-#define SIGNAL_ARGS(sig, sc) int sig
-#define SIGNAL_CONTEXT_POINTER(scp) int scp
+#define SIGNAL_ARGS(sig, sc) int sig, siginfo_t *sc, void *uc0
+#define SIGNAL_CONTEXT_POINTER(scp) siginfo_t **scp
 #define GET_SIGNAL_CONTEXT_POINTER(sc) (NULL)
 #define SIGNAL_PC(scp) (0)
 
Index: kaffe/kaffe/kaffevm/jit/stackTrace-impl.h
diff -u kaffe/kaffe/kaffevm/jit/stackTrace-impl.h:1.1 kaffe/kaffe/kaffevm/jit/stackTrace-impl.h:1.2
--- kaffe/kaffe/kaffevm/jit/stackTrace-impl.h:1.1	Sun Jul 27 16:53:48 2003
+++ kaffe/kaffe/kaffevm/jit/stackTrace-impl.h	Wed Aug  8 00:33:52 2007
@@ -8,6 +8,14 @@
         struct _exceptionFrame* frame;
 } stackTrace;
 
+#ifdef __CYGWIN__
+#define STACKTRACEINIT(S, I, O, R)         \
+        {                                  \
+                FIRSTFRAME((S).nframe, O); \
+                (S).frame = &((S).nframe); \
+                (R) = *(S).frame;          \
+        }
+#else
 #define STACKTRACEINIT(S, I, O, R)                      \
         {                                               \
                 if ((I) == NULL) {                      \
@@ -18,6 +26,7 @@
                 }                                       \
                 (R) = *(S).frame;                       \
         }
+#endif
 
 #ifdef STACK_NEXT_FRAME
 #define STACKTRACESTEP(S)       (STACK_NEXT_FRAME((S).frame))




More information about the kaffe mailing list