[kaffe] Moving callMethodX

2005-06-23 Thread Guilhem Lavaux
Hi,

I'm proposing to move KaffeVM_callMethodX to its own file as they are
very hackish and I need a few of the defined macros to write another
machine dependent function to count the real number of arguments which
will be used by callMethod.

Anything against this ?

Regards,

Guilhem.


___
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe


[kaffe] CVS kaffe (guilhem): Divtest fixes for JIT.

2005-06-23 Thread Kaffe CVS
PatchSet 6661 
Date: 2005/06/23 16:52:42
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
Divtest fixes for JIT.

* kaffe/kaffevm/soft.c
(soft_div, soft_rem): Check for the divisor to return the correct
value on all processors.

Members: 
ChangeLog:1.4186-1.4187 
kaffe/kaffevm/soft.c:1.77-1.78 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4186 kaffe/ChangeLog:1.4187
--- kaffe/ChangeLog:1.4186  Thu Jun 23 16:43:54 2005
+++ kaffe/ChangeLog Thu Jun 23 16:52:42 2005
@@ -1,5 +1,11 @@
 2005-06-23  Guilhem Lavaux  [EMAIL PROTECTED]
 
+   * kaffe/kaffevm/soft.c
+   (soft_div, soft_rem): Check for the divisor to return the correct
+   value on all processors.
+
+2005-06-23  Guilhem Lavaux  [EMAIL PROTECTED]
+
* kaffe/kaffevm/Makefile.am
(libkaffevm_la_SOURCES): Added javacall.c
 
Index: kaffe/kaffe/kaffevm/soft.c
diff -u kaffe/kaffe/kaffevm/soft.c:1.77 kaffe/kaffe/kaffevm/soft.c:1.78
--- kaffe/kaffe/kaffevm/soft.c:1.77 Sat May  7 16:20:10 2005
+++ kaffe/kaffe/kaffevm/soft.c  Thu Jun 23 16:52:45 2005
@@ -863,12 +863,16 @@
 jint
 soft_div(jint v1, jint v2)
 {
+   if (v2 == -1)
+   return -v1;
return (v1/v2);
 }
 
 jint
 soft_rem(jint v1, jint v2)
 {
+   if (v2 == -1)
+   return 0;
return (v1%v2);
 }
 

___
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe


[kaffe] CVS kaffe (guilhem): Splitted callMethods + ClassLoader fix + doxification.

2005-06-23 Thread Kaffe CVS
PatchSet 6660 
Date: 2005/06/23 16:43:54
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
Splitted callMethods + ClassLoader fix + doxification.

* kaffe/kaffevm/Makefile.am
(libkaffevm_la_SOURCES): Added javacall.c

* kaffe/kaffevm/Makefile.in: Regenerated.

* kaffe/kaffevm/classMethod.c,
kaffe/kaffevm/classMethod.h
(initCollector): Moved to gc.h
(parsed_signature): Added real_nargs.
(PSIG_RNARGS): New macro.
(KaffeVM_countRealNumberOfArgs): New function to retrieve the real
number of argument slot used.

Doxified a bit.

* kaffe/kaffevm/gc.h
(initCollector): Moved from classMethod.h

* kaffe/kaffevm/javacall.c
(KaffeVM_callMethodA, KaffeVM_callMethodV): Moved from support.c
along with their macros.
(KaffeVM_countRealNumberOfArgs): New function.

kaffe/kaffevm/support.c:
(KaffeVM_callMethodA, KaffeVM_callMethodV): Moved out.

* libraries/clib/native/ClassLoader.c
(loadClass): Check whether the class name is well constructed.

Members: 
ChangeLog:1.4185-1.4186 
kaffe/kaffevm/Makefile.am:INITIAL-1.76 
kaffe/kaffevm/Makefile.in:1.201-1.202 
kaffe/kaffevm/classMethod.c:1.146-1.147 
kaffe/kaffevm/classMethod.h:1.81-1.82 
kaffe/kaffevm/gc.h:INITIAL-1.32 
kaffe/kaffevm/javacall.c:INITIAL-1.1 
kaffe/kaffevm/support.c:1.86-1.87 
libraries/clib/native/ClassLoader.c:1.46-1.47 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.4185 kaffe/ChangeLog:1.4186
--- kaffe/ChangeLog:1.4185  Wed Jun 22 15:56:38 2005
+++ kaffe/ChangeLog Thu Jun 23 16:43:54 2005
@@ -1,3 +1,34 @@
+2005-06-23  Guilhem Lavaux  [EMAIL PROTECTED]
+
+   * kaffe/kaffevm/Makefile.am
+   (libkaffevm_la_SOURCES): Added javacall.c
+
+   * kaffe/kaffevm/Makefile.in: Regenerated.
+
+   * kaffe/kaffevm/classMethod.c,
+   kaffe/kaffevm/classMethod.h
+   (initCollector): Moved to gc.h
+   (parsed_signature): Added real_nargs.
+   (PSIG_RNARGS): New macro.
+   (KaffeVM_countRealNumberOfArgs): New function to retrieve the real
+   number of argument slot used.
+   
+   Doxified a bit.
+   
+   * kaffe/kaffevm/gc.h
+   (initCollector): Moved from classMethod.h
+
+   * kaffe/kaffevm/javacall.c
+   (KaffeVM_callMethodA, KaffeVM_callMethodV): Moved from support.c
+   along with their macros.
+   (KaffeVM_countRealNumberOfArgs): New function.
+   
+   kaffe/kaffevm/support.c:
+   (KaffeVM_callMethodA, KaffeVM_callMethodV): Moved out.
+
+   * libraries/clib/native/ClassLoader.c
+   (loadClass): Check whether the class name is well constructed.
+
 2005-06-23  Ito Kazumitsu  [EMAIL PROTECTED]
 
* FAQ/FAQ.charsets: New file.
===
Checking out kaffe/kaffe/kaffevm/Makefile.am
RCS:  /home/cvs/kaffe/kaffe/kaffe/kaffevm/Makefile.am,v
VERS: 1.76
***
--- /dev/null   Sun Aug  4 19:57:58 2002
+++ kaffe/kaffe/kaffevm/Makefile.am Thu Jun 23 16:51:53 2005
@@ -0,0 +1,183 @@
+# Makefile.am for kaffevm - a Java(tm) compatible virtual machine.
+#
+# Copyright (c) 1996, 1997, 1998, 1999
+#  Transvirtual Technologies, Inc.  All rights reserved.
+#
+# Copyright (c) 2004
+#  Kaffe.org contributors, see ChangeLogs for details.  All rights 
reserved.
+#
+# See the file license.terms for information on usage and redistribution 
+# of this file. 
+
+SUBDIRS = $(ENGINE_NAME) systems $(GC_NAME) gcj verifier jni
+DIST_SUBDIRS = boehm-gc kaffe-gc intrp jit jit3 systems gcj verifier jni
+
+EXTRA_DIST = \
+   kaffe.def \
+   systems/win32/winio.c \
+   systems/win32/winthread.c \
+   systems/win32/winthread.h
+
[EMAIL PROTECTED]@
+AM_CPPFLAGS = \
+   -I$(top_srcdir)/kaffe/kaffevm/$(THREAD_DIR) \
+   -I$(top_srcdir)/kaffe/kaffevm/jni \
+   $(ENGINE_INCLUDES) \
+   -I$(top_srcdir)/libltdl \
+   $(ENGINE_DEFS) \
+   -I$(top_srcdir)/kaffe/jvmpi \
+   -I$(top_srcdir)/kaffe/xprof \
+   -I$(top_builddir)/include \
+   -I$(top_srcdir)/kaffe/kaffevm/verifier \
+   -I$(top_srcdir)/kaffe/kaffevm/jni
+
+native_LTLIBRARIES = libkaffevm.la
+
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
[EMAIL PROTECTED]@
+
+if HAVE_GCJ_SUPPORT
+libgcj = gcj/libgcj.la
+else
+libgcj = #
+endif
+
+libkaffevm_la_CFLAGS = \
+   $(CFLAGS_PG) \
+   $(PTHREAD_CFLAGS)
+
+libkaffevm_la_LDFLAGS = \
+   $(PTHREAD_CFLAGS) \
+$(PTHREAD_LIBS) \
+$(SEMAPHORE_LIB) \
+   $(KVMLIBFLAGS) \
+   -no-undefined \
+   -export-dynamic \
+   -release $(PACKAGE_VERSION)
+
+libkaffevm_la_DEPENDENCIES = \
+   $(LIBLTDL) \
+   $(ENGINE_NAME)/libengine.la \
+   $(libgcj) \
+   systems/$(THREAD_SYSTEM)/libkthread.la \
+   verifier/libkaffeverifier.la \
+   $(GC_NAME)/libkaffegc.la \
+   

[kaffe] Kaffe's jar and current directory

2005-06-23 Thread Ito Kazumitsu
Hi,

Is this a bug of Kaffe's jar, or am I doing something wrong?

Command to be executed: jar -cf 0.jar -C tmp .

$ ls -al tmp
total 16
drwxrwxr-x2 ito  ito  4096 Jun 24 10:01 .
drwx--   52 ito  ito  4096 Jun 23 16:08 ..
-rw-rw-r--1 ito  ito 6 Jun 24 10:01 file1
-rw-rw-r--1 ito  ito 6 Jun 24 10:01 file2

With Kaffe's jar:
$ /usr/local/kaffe/bin/jar -cf 0.jar -C tmp .
$ /usr/local/kaffe/bin/jar tvf 0.jar
   263 Fri Jun 24 10:03:22 GMT+09:00 2005 META-INF/MANIFEST.MF
 0 Fri Jun 24 10:03:22 GMT+09:00 2005 ./
 6 Fri Jun 24 10:03:22 GMT+09:00 2005 ./file1
 6 Fri Jun 24 10:03:22 GMT+09:00 2005 ./file2

With GCJ's jar:
$ /usr/local/bin/jar -cf 0.jar -C tmp .
$ /usr/local/bin/jar tvf 0.jar
 0 Fri Jun 24 10:04:50 JST 2005 META-INF/
44 Fri Jun 24 10:04:50 JST 2005 META-INF/MANIFEST.MF
 0 Fri Jun 24 10:01:32 JST 2005 ./
 6 Fri Jun 24 10:01:28 JST 2005 file1
 6 Fri Jun 24 10:01:32 JST 2005 file2

With Sun's jar
$ /cygdrive/c/j2sdk1.4.2_06/bin/jar -cf 0.jar -C tmp .
$ /cygdrive/c/j2sdk1.4.2_06/bin/jar tvf 0.jar
 0 Fri Jun 24 10:07:06 JST 2005 META-INF/
71 Fri Jun 24 10:07:06 JST 2005 META-INF/MANIFEST.MF
 6 Fri Jun 24 10:01:30 JST 2005 file1
 6 Fri Jun 24 10:01:32 JST 2005 file2

I am afraid that the current directory notation ./ attached to
each file name may be the cause of NoClassDefFoundError when
a kaffe-made jar file is in the classpath.

___
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe


[kaffe] What UnicodeLittle should be?

2005-06-23 Thread Ito Kazumitsu
Hi,

I have found that the famous Java Excel API
(http://www.andykhan.com/jexcelapi/) does not work with Kaffe
these days: Japanese text cannot be extracted from Excel worksheets.

This seems to be due to the difference between iconv
and gnu.java.nio.charset on the handling of UnicodeLittle.

iconv, which kaffe used before importing gnu.java.nio.charset,
treats UnicodeLittle as an alias of UCS-2LE (WITHOUT byte order mark).
But gnu.java.nio.charset.UnicodeLittle treats it as UTF-16
little endian WITH byte order mark.

I do not know which is correct, but seeing the behavior of
Java Excel API, I think iconv's implementation is correct.

___
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe


Re: [kaffe] What UnicodeLittle should be?

2005-06-23 Thread Ito Kazumitsu
From: Ito Kazumitsu [EMAIL PROTECTED]
Subject: [kaffe] What UnicodeLittle should be?
Date: Fri, 24 Jun 2005 11:37:54 +0900 (JST)

 iconv, which kaffe used before importing gnu.java.nio.charset,
 treats UnicodeLittle as an alias of UCS-2LE (WITHOUT byte order mark).
 But gnu.java.nio.charset.UnicodeLittle treats it as UTF-16
 little endian WITH byte order mark.
 
 I do not know which is correct, but seeing the behavior of
 Java Excel API, I think iconv's implementation is correct.

But http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html
says about UnicodeLittle,

  Sixteen-bit Unicode Transformation Format, little-endian byte order, 
  with byte-order mark

So, gnu.java.nio.charset.UnicodeLittle must be correct.

___
kaffe mailing list
kaffe@kaffe.org
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe