? cscope.files
? cscope.out
? libraries/javalib/external/classpath/autom4te.cache
? po/de.gmo
? po/fr.gmo
? po/zh_CN.gmo
? po/zh_TW.gmo
Index: config/i386/jit.h
===================================================================
RCS file: /cvs/kaffe/kaffe/config/i386/jit.h,v
retrieving revision 1.28
diff -u -r1.28 jit.h
--- config/i386/jit.h	23 Mar 2006 20:00:19 -0000	1.28
+++ config/i386/jit.h	2 Jul 2006 16:30:17 -0000
@@ -41,7 +41,11 @@
 
 /* Get the first exception frame from a subroutine call */
 #define	FIRSTFRAME(f, o)						\
+	__asm__( "movl %%ebp, %0" : "=g"(f));
+
+/*
 	((f) = *(exceptionFrame*)__builtin_frame_address(0))
+*/
 
 /**/
 /* Method dispatch.  */
Index: config/i386/linux/config.frag
===================================================================
RCS file: /cvs/kaffe/kaffe/config/i386/linux/config.frag,v
retrieving revision 1.8
diff -u -r1.8 config.frag
--- config/i386/linux/config.frag	31 Jan 2006 02:27:34 -0000	1.8
+++ config/i386/linux/config.frag	2 Jul 2006 16:30:17 -0000
@@ -1,9 +1,16 @@
-#
+##
 # i386/Linux configuration
 #
 if test x"$with_threads" = x"unix-pthreads" ; then
 	CPPFLAGS="$CPPFLAGS -D_REENTRANT"
 fi
+
+#CFLAGS="$CFLAGS -fno-strict-aliasing -fno-omit-frame-pointer"
+#CFLAGS="$CFLAGS -O0 -fno-strict-aliasing -fno-omit-frame-pointer -g3"
+CFLAGS="$CFLAGS -O0 -fno-strict-aliasing -fno-omit-frame-pointer"
+
+#CFLAGS="$CFLAGS -fno-strict-aliasing -fno-omit-frame-pointer"
+#CFLAGS="$CFLAGS -fno-omit-frame-pointer"
 
 # if we use cross environment, following values may not be detected.
 if [ "$cross_compiling" = yes ]; then
Index: kaffe/kaffevm/classMethod.h
===================================================================
RCS file: /cvs/kaffe/kaffe/kaffe/kaffevm/classMethod.h,v
retrieving revision 1.92
diff -u -r1.92 classMethod.h
--- kaffe/kaffevm/classMethod.h	11 Jun 2006 23:12:10 -0000	1.92
+++ kaffe/kaffevm/classMethod.h	2 Jul 2006 16:30:17 -0000
@@ -557,11 +557,43 @@
 static inline 
 void 
 Kaffe_set_primitive_array_cache(struct Hjava_lang_Class * primitive_clazz,
-			     Hjava_lang_Class * array_cache)
+				Hjava_lang_Class * array_cache)
 {
   assert(CLASS_IS_PRIMITIVE(primitive_clazz));
 
   primitive_clazz->cache.array_cache = array_cache;
+}
+
+/**
+ * get name of a primitive class.
+ * 
+ * @param primitive_clazz the class
+ *
+ * @return name of the primitive class
+ */
+static inline
+Utf8Const*
+Kaffe_get_primitive_class_name(struct Hjava_lang_Class * primitive_clazz)
+{
+  assert(CLASS_IS_PRIMITIVE(primitive_clazz));
+
+  return *(Utf8Const**)&primitive_clazz->fields;
+}
+
+/**
+ * set name of primitive class.
+ *
+ * @param primitive_clazz the class
+ * @param name the new value
+ */
+static inline 
+void 
+Kaffe_set_primitive_class_name(struct Hjava_lang_Class * primitive_clazz,
+			       Utf8Const * name)
+{
+  assert(CLASS_IS_PRIMITIVE(primitive_clazz));
+
+  *((Utf8Const**) &(primitive_clazz->fields)) = name;
 }
 
 #define TYPE_PRIM_SIZE(CL) ((CL)->size_in_bytes)
Index: kaffe/kaffevm/itypes.c
===================================================================
RCS file: /cvs/kaffe/kaffe/kaffe/kaffevm/itypes.c,v
retrieving revision 1.40
diff -u -r1.40 itypes.c
--- kaffe/kaffevm/itypes.c	22 Apr 2006 01:53:41 -0000	1.40
+++ kaffe/kaffevm/itypes.c	2 Jul 2006 16:30:17 -0000
@@ -58,9 +58,9 @@
 	clazz->name = utf8ConstFromString(name);
 	clazz->accflags = ACC_PUBLIC | ACC_FINAL;
 	CLASS_PRIM_SIG(clazz) = sig;
-        CLASS_PRIM_NAME(clazz) = utf8ConstNew(&sig, 1);
+        Kaffe_set_primitive_class_name(clazz, utf8ConstNew(&sig, 1));
 	clazz->this_inner_index = -1;
-	if (!clazz->name || !CLASS_PRIM_NAME(clazz)) {
+	if (!clazz->name || Kaffe_get_primitive_class_name(clazz) == NULL) {
 		goto bad;
 	}
 	TYPE_PRIM_SIZE(clazz) = len;
Index: kaffe/kaffevm/jar.c
===================================================================
RCS file: /cvs/kaffe/kaffe/kaffe/kaffevm/jar.c,v
retrieving revision 1.40
diff -u -r1.40 jar.c
--- kaffe/kaffevm/jar.c	21 Apr 2006 01:32:42 -0000	1.40
+++ kaffe/kaffevm/jar.c	2 Jul 2006 16:30:17 -0000
@@ -625,7 +625,7 @@
 	return( FILE_SIZEOF_CENTRALEND );
 }
 
-static inline int instantiateSignature(uint8 *dest, uint8 *buf)
+static int instantiateSignature(uint8 *dest, uint8 *buf)
 {
 	uint32 *sig = (uint32 *)dest;
 
Index: kaffe/kaffevm/stackTrace.c
===================================================================
RCS file: /cvs/kaffe/kaffe/kaffe/kaffevm/stackTrace.c,v
retrieving revision 1.52
diff -u -r1.52 stackTrace.c
--- kaffe/kaffevm/stackTrace.c	12 Feb 2006 14:31:57 -0000	1.52
+++ kaffe/kaffevm/stackTrace.c	2 Jul 2006 16:30:17 -0000
@@ -45,10 +45,34 @@
 #include "java_lang_Throwable.h"
 #include "java_lang_VMThrowable.h"
 
-static Method*
-stacktraceFindMethod (uintp fp, uintp pc);
 HArrayOfObject*     getStackTraceElements(struct Hjava_lang_VMThrowable*, struct Hjava_lang_Throwable*);
 
+#if defined(TRANSLATOR)
+#include "machine.h"
+
+Method*
+stacktraceFindMethod(uintp fp, uintp _pc)
+{
+	void *pc_base = KGC_getObjectBase(main_collector, (void *)_pc);
+
+	if (pc_base) {
+		jitCodeHeader *jch;
+
+		jch = pc_base;
+		return jch->method;
+	}
+	return NULL;
+}
+
+#elif defined(INTERPRETER)
+
+static Method*
+stacktraceFindMethod(uintp fp, uintp pc UNUSED)
+{
+	return (vmExcept_isJNIFrame ((VmExceptHandler *)fp)?0:((VmExceptHandler *)fp)->meth);
+}
+#endif
+
 Hjava_lang_Object*
 buildStackTrace(struct _exceptionFrame* base)
 {
@@ -96,32 +120,6 @@
 
 	return ((Hjava_lang_Object*)info);
 }
-
-#if defined(TRANSLATOR)
-#include "machine.h"
-
-static Method*
-stacktraceFindMethod(uintp fp UNUSED, uintp _pc)
-{
-	void *pc_base = KGC_getObjectBase(main_collector, (void *)_pc);
-
-	if (pc_base) {
-		jitCodeHeader *jch;
-
-		jch = pc_base;
-		return jch->method;
-	}
-	return NULL;
-}
-
-#elif defined(INTERPRETER)
-
-static Method*
-stacktraceFindMethod(uintp fp, uintp pc UNUSED)
-{
-	return (vmExcept_isJNIFrame ((VmExceptHandler *)fp)?0:((VmExceptHandler *)fp)->meth);
-}
-#endif
 
 static inline int32
 getLineNumber(Method* meth, uintp _pc)
Index: kaffe/kaffevm/utf8const.c
===================================================================
RCS file: /cvs/kaffe/kaffe/kaffe/kaffevm/utf8const.c,v
retrieving revision 1.52
diff -u -r1.52 utf8const.c
--- kaffe/kaffevm/utf8const.c	22 Apr 2006 01:53:41 -0000	1.52
+++ kaffe/kaffevm/utf8const.c	2 Jul 2006 16:30:17 -0000
@@ -57,7 +57,7 @@
 #define lockUTF() lockStaticMutex(&utf8Lock)
 #define unlockUTF() unlockStaticMutex(&utf8Lock)
 
-static inline void *UTFmalloc(size_t size)
+static void *UTFmalloc(size_t size)
 {
 	void *ret;
 
@@ -68,7 +68,7 @@
 	return ret;
 }
 
-static inline void UTFfree(const void *mem)
+static void UTFfree(const void *mem)
 {
         unlockStaticMutex(&utf8Lock);
 	gc_free((void *)mem);
Index: kaffe/kaffevm/kaffe-gc/gc-incremental.c
===================================================================
RCS file: /cvs/kaffe/kaffe/kaffe/kaffevm/kaffe-gc/gc-incremental.c,v
retrieving revision 1.36
diff -u -r1.36 gc-incremental.c
--- kaffe/kaffevm/kaffe-gc/gc-incremental.c	6 Feb 2006 21:09:57 -0000	1.36
+++ kaffe/kaffevm/kaffe-gc/gc-incremental.c	2 Jul 2006 16:30:17 -0000
@@ -87,9 +87,13 @@
 #endif /* KAFFE_STATS */
 
 /* Is this pointer within our managed heap? */
-#define IS_A_HEAP_POINTER(from) \
-        ((uintp) (from) >= gc_get_heap_base() && \
-	 (uintp) (from) < gc_get_heap_base() + gc_get_heap_range())
+int is_a_heap_pointer(void * from)
+{
+  uintp base = gc_get_heap_base();
+
+  return ((uintp) (from) >= base &&
+	  (uintp) (from) < base + gc_get_heap_range());
+}
 
 static void *outOfMem;
 static void *outOfMem_allocator;
@@ -388,13 +392,13 @@
  */
 static
 void*
-gcGetObjectBase(Collector *gcif UNUSED, void* mem)
+gcGetObjectBase(Collector *gcif, void* mem)
 {
 	int idx;
 	gc_block* info;
 
 	/* quickly reject pointers that are not part of this heap */
-	if (!IS_A_HEAP_POINTER(mem)) {
+	if (!is_a_heap_pointer(mem)) {
 		return (NULL);
 	}
 
