Re: [kaffe] jvmpi

2003-08-31 Thread Timothy Stack
 
 
 hi,
 
 I've checked in some JVMPI stuff.  Its not completely done yet, but its 
 a pretty good start.  I'll try and get it finish RSN.  Hopefully, i 
 didn't break anything...

Real soon now indeed...

The last checkin gets things a bit farther, atleast for the
jit3/unix-jthreads configuration.  I can run the tracer for the
Extensible Java Profiler and get reasonable output for method traces,
but the class loader trace does not seem to work.  You can get EJP here:

http://ejp.sourceforge.net/

I've only run the tracer library in kaffe though, I ran the presenter 
interface using jdk1.4.

thanks,

tim

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


[kaffe] CVS kaffe (stack): JVMPI checkpoint

2003-08-31 Thread Kaffe CVS
PatchSet 4000 
Date: 2003/08/30 23:57:08
Author: stack
Branch: HEAD
Tag: (none) 
Log:
JVMPI checkpoint

Members: 
ChangeLog:1.1596-1.1597 
include/jni.h:1.21-1.22 
include/jvmpi.h:1.1-1.2 
kaffe/jvmpi/jvmpi_kaffe.c:1.1-1.2 
kaffe/kaffe/main.c:1.48-1.49 
kaffe/kaffevm/classMethod.c:1.107-1.108 
kaffe/kaffevm/exception.c:1.70-1.71 
kaffe/kaffevm/jni.c:1.91-1.92 
kaffe/kaffevm/kaffe.def:1.26-1.27 
kaffe/kaffevm/soft.c:1.54-1.55 
kaffe/kaffevm/soft.h:1.11-1.12 
kaffe/kaffevm/jit3/codeproto.h:1.11-1.12 
kaffe/kaffevm/jit3/icode.c:1.30-1.31 
kaffe/kaffevm/jit3/machine.c:1.39-1.40 
kaffe/kaffevm/jit3/machine.h:1.18-1.19 
kaffe/kaffevm/systems/unix-jthreads/jthread.c:1.99-1.100 
kaffe/kaffevm/systems/unix-jthreads/jthread.h:1.45-1.46 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1596 kaffe/ChangeLog:1.1597
--- kaffe/ChangeLog:1.1596  Sat Aug 30 20:24:58 2003
+++ kaffe/ChangeLog Sat Aug 30 23:57:08 2003
@@ -1,5 +1,51 @@
 2003-08-30  Timothy S. Stack [EMAIL PROTECTED]
 
+   * include/jni.h, include/jvmpi.h:
+   Change constant values to match the Sun versions so binaries are
+   compatible.
+
+   * kaffe/jvmpi/jvmpi_kaffe.c:
+   Update for change to stack trace stuff.  Add missing param in
+   jvmpiRawMonitorWait.  Implement jvmpiSuspendThread and
+   jvmpiThreadHasRun.
+
+   * kaffe/kaffe/main.c:
+   Add -Xrun command line argument.
+
+   * kaffe/kaffevm/classMethod.c:
+   Move up class load event so partially loaded classes aren't
+   missing from profiles.
+
+   * kaffe/kaffevm/exception.c:
+   Call soft_exit_method() when walking up the stack.
+
+   * kaffe/kaffevm/jni.c:
+   Add JVMPI stuff to GetEnv.  Call softcall_exit_method() when a
+   void method returns.
+
+   * kaffe/kaffevm/kaffe.def:
+   Call softcall_exit_method() when a void method returns.
+
+   * kaffe/kaffevm/soft.h, kaffe/kaffevm/soft.c:
+   Add soft_enter_method/soft_exit_method to call JVMPI stuff at
+   method entry/exit.
+
+   * kaffe/kaffevm/jit3/codeproto.h, 
+   kaffe/kaffevm/jit3/icode.c:
+   Add softcall_enter_method/softcall_exit_method to call JVMPI stuff
+   at method entry/exit.
+
+   * kaffe/kaffevm/jit3/machine.h,
+   kaffe/kaffevm/jit3/machine.c:
+   Always turn on globalMethod variable, not just when
+   --with-profiling is on...  Its also needed by JVMPI.
+
+   * kaffe/kaffevm/systems/unix-jthreads/jthread.h,
+   kaffe/kaffevm/systems/unix-jthreads/jthread.c:
+   Fix CPU usage computation.
+
+2003-08-30  Timothy S. Stack [EMAIL PROTECTED]
+
* libraries/clib/io/FileDescriptor.c:
Use '#ifdef's around O_SYNC/O_DSYNC since they are not defined on
FreeBSD.
Index: kaffe/include/jni.h
diff -u kaffe/include/jni.h:1.21 kaffe/include/jni.h:1.22
--- kaffe/include/jni.h:1.21Thu Jul 31 22:46:43 2003
+++ kaffe/include/jni.h Sat Aug 30 23:57:09 2003
@@ -582,9 +582,8 @@
 
 #define JNI_VERSION_1_10x00010001
 #define JNI_VERSION_1_20x00010002
-#define JVMPI_VERSION_10x1001
-#define JVMPI_VERSION_1_1  0x10010001
-#define JVMPI_VERSION_1_2  0x10010002
+#define JVMPI_VERSION_10x1001
+#define JVMPI_VERSION_1_1  0x1002
 
 #if defined(__cplusplus)
 }
Index: kaffe/include/jvmpi.h
diff -u kaffe/include/jvmpi.h:1.1 kaffe/include/jvmpi.h:1.2
--- kaffe/include/jvmpi.h:1.1   Sat Jul 26 16:50:47 2003
+++ kaffe/include/jvmpi.h   Sat Aug 30 23:57:09 2003
@@ -7,63 +7,81 @@
 #define _KAFFE_JVMPI_H
 
 enum {
+   JVMPI_FAIL = -1,
JVMPI_SUCCESS,
-   JVMPI_FAIL,
JVMPI_NOT_AVAILABLE,
+};
 
-   JVMPI_THREAD_RUNNABLE,
+enum {
+   JVMPI_THREAD_RUNNABLE = 1,
JVMPI_THREAD_MONITOR_WAIT,
JVMPI_THREAD_CONDVAR_WAIT,
+};
 
-   JVMPI_THREAD_SUSPENDED = 0x4000,
-   JVMPI_THREAD_INTERRUPTED = 0x8000,
+enum {
+   JVMPI_THREAD_INTERRUPTED = 0x4000,
+   JVMPI_THREAD_SUSPENDED = 0x8000,
 };
 
 enum {
-   JVMPI_NORMAL_PRIORITY,
-   JVMPI_MAXIMUM_PRIORITY,
-   JVMPI_MINIMUM_PRIORITY,
+   JVMPI_MINIMUM_PRIORITY = 1,
+   JVMPI_NORMAL_PRIORITY = 5,
+   JVMPI_MAXIMUM_PRIORITY = 10,
 };
 
 enum {
-   JVMPI_EVENT_ARENA_DELETE,
-   JVMPI_EVENT_ARENA_NEW,
-   JVMPI_EVENT_CLASS_LOAD,
-   JVMPI_EVENT_CLASS_LOAD_HOOK,
-   JVMPI_EVENT_CLASS_UNLOAD,
-   JVMPI_EVENT_COMPILED_METHOD_LOAD,
+   JVMPI_EVENT_METHOD_ENTRY = 1,
+   JVMPI_EVENT_METHOD_ENTRY2,
+   JVMPI_EVENT_METHOD_EXIT,
+   
+   JVMPI_EVENT_OBJECT_ALLOC = 4,
+   JVMPI_EVENT_OBJECT_FREE,
+   JVMPI_EVENT_OBJECT_MOVE,
+   
+   JVMPI_EVENT_COMPILED_METHOD_LOAD = 7,
JVMPI_EVENT_COMPILED_METHOD_UNLOAD,
-   JVMPI_EVENT_DATA_DUMP_REQUEST,
-   JVMPI_EVENT_DATA_RESET_REQUEST,
-   

Re: [kaffe] CVS kaffe (guilhem): Classpath's IO/net subsystem merging+ fixes.

2003-08-31 Thread Guilhem Lavaux
Timothy Stack wrote:

On Sat, 30 Aug 2003 07:20:57 -0700
Kaffe CVS [EMAIL PROTECTED] wrote:
   

PatchSet 3996 
Date: 2003/08/30 14:18:17
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
Classpath's IO/net subsystem merging + fixes.
 

Nice work!  That's going to help me out a lot.

I compiled it 4 times, and I found some possible regressions
(x86/Linux/defaults), all intermittent:
* GCTest.java - I had 2 failures in 4 runs of make check
* NetworkInterfaceTest.java - I had 1 failure in 4 runs of make check
   

NetworkInterfaceTest, InetAddressTest, and InetSocketAddressTest fail for 
me...
 

The log of the failure would be helpful... (*.fail)

Thanks,
Guilhem.
___
kaffe mailing list
[EMAIL PROTECTED]
http://kaffe.org/cgi-bin/mailman/listinfo/kaffe


[kaffe] CVS kaffe (guilhem): Various fixes.

2003-08-31 Thread Kaffe CVS
PatchSet 4001 
Date: 2003/08/31 17:16:47
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
Various fixes.

Noticeable changes:
Reimplementation of deleteOnExit (missing in classpath)
Removed SoInterrupt because it is wrong.
Implemented fsync for pthreads.

Members: 
ChangeLog:1.1597-1.1598 
include/Makefile.am:1.47-1.48 
include/Makefile.in:1.119-1.120 
kaffe/kaffevm/systems/unix-pthreads/syscalls.c:1.14-1.15 
libraries/clib/io/File.c:1.20-1.21 
libraries/clib/io/FileDescriptor.c:1.5-1.6 
libraries/clib/net/NetworkInterface.c:1.2-1.3 
libraries/clib/net/PlainDatagramSocketImpl.c:1.27-1.28 
libraries/clib/net/PlainSocketImpl.c:1.31-1.32 
libraries/javalib/java/io/File.java:1.35-1.36 
libraries/javalib/java/lang/Runtime.java:1.25-1.26 
libraries/javalib/java/lang/Thread.java:1.42-1.43 
test/regression/Makefile.am:1.81-1.82 
test/regression/Makefile.in:1.134-1.135 
test/regression/SoInterrupt.java:1.5-1.6(DEAD) 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1597 kaffe/ChangeLog:1.1598
--- kaffe/ChangeLog:1.1597  Sat Aug 30 23:57:08 2003
+++ kaffe/ChangeLog Sun Aug 31 17:16:47 2003
@@ -1,3 +1,36 @@
+2003-08-31  Guilhem Lavaux [EMAIL PROTECTED]
+
+   * kaffe/kaffevm/systems/unix-pthreads/syscalls.c:
+   (jthreadedFSync) added.
+   (Kaffe_SystemCallInterface) added jthreadedFSync.
+
+   * libraries/clib/net/PlainDatagramSocketImpl.c:
+   (java_net_PlainDatagramSocketImpl_receive) check if pkt is NULL
+   and throw NullPointerException if it is the case.
+   Changed the way EINTR is handled (it must be ignored).
+   ETIMEDOUT throws a better exception with bytesTransferred set to
+   the right value.
+   
+   * libraries/clib/net/PlainSocketImpl.c:
+   (java_net_PlainSocketImpl_receive) see above for the changed behaviour.
+   (java_net_PlainSocketImpl_accept) EINTR is now ignored.
+
+   * libraries/clib/io/File.c:
+   (java_io_File_listInternal) check whether the pointer is null.
+
+   * libraries/clib/io/FileDescriptor.c:
+   (getFileSize) don't return an error if there isn't.
+
+   * include/Makefile.am:
+   (NOINSTALL_DERIVED_HDRS) added java_io_InterruptedIOException.h
+
+   * test/regression/SoInterrupt.java: removed. This test was a
+   non-sense from the beginning to the end.
+
+   * test/regression/Makefile.am: removed SoInterrupt.java
+
+   * test/regression/Makefile.in: regenerated.
+
 2003-08-30  Timothy S. Stack [EMAIL PROTECTED]
 
* include/jni.h, include/jvmpi.h:
Index: kaffe/include/Makefile.am
diff -u kaffe/include/Makefile.am:1.47 kaffe/include/Makefile.am:1.48
--- kaffe/include/Makefile.am:1.47  Sat Aug 30 14:18:23 2003
+++ kaffe/include/Makefile.am   Sun Aug 31 17:16:48 2003
@@ -47,6 +47,7 @@
java_io_FileInputStream.h \
java_io_FileOutputStream.h \
java_io_InputStream.h \
+   java_io_InterruptedIOException.h \
java_io_ObjectInputStream.h \
java_io_PrintStream.h \
java_io_RandomAccessFile.h \
Index: kaffe/include/Makefile.in
diff -u kaffe/include/Makefile.in:1.119 kaffe/include/Makefile.in:1.120
--- kaffe/include/Makefile.in:1.119 Sat Aug 30 14:18:23 2003
+++ kaffe/include/Makefile.in   Sun Aug 31 17:16:48 2003
@@ -282,6 +282,7 @@
java_io_FileInputStream.h \
java_io_FileOutputStream.h \
java_io_InputStream.h \
+   java_io_InterruptedIOException.h \
java_io_ObjectInputStream.h \
java_io_PrintStream.h \
java_io_RandomAccessFile.h \
Index: kaffe/kaffe/kaffevm/systems/unix-pthreads/syscalls.c
diff -u kaffe/kaffe/kaffevm/systems/unix-pthreads/syscalls.c:1.14 
kaffe/kaffe/kaffevm/systems/unix-pthreads/syscalls.c:1.15
--- kaffe/kaffe/kaffevm/systems/unix-pthreads/syscalls.c:1.14   Fri Aug  8 14:38:25 
2003
+++ kaffe/kaffe/kaffevm/systems/unix-pthreads/syscalls.cSun Aug 31 17:16:48 
2003
@@ -249,6 +249,17 @@
 }
 
 static int
+jthreadedFSync(int fd)
+{
+   int rc = 0;
+   
+   if (fsync(fd) == -1) {
+   rc = errno;
+   }
+   return (rc);
+}
+
+static int
 jthreadedMkdir(const char *path, int mode)
 {
int rc = 0;
@@ -880,6 +891,7 @@
 jthreadedFStat,
 jthreadedStat,
 jthreadedFTruncate,
+jthreadedFSync,
 jthreadedMkdir,
 jthreadedRmdir,
 jthreadedRename,
Index: kaffe/libraries/clib/io/File.c
diff -u kaffe/libraries/clib/io/File.c:1.20 kaffe/libraries/clib/io/File.c:1.21
--- kaffe/libraries/clib/io/File.c:1.20 Sat Aug 30 14:18:24 2003
+++ kaffe/libraries/clib/io/File.c  Sun Aug 31 17:16:49 2003
@@ -272,7 +272,7 @@
 mentry = dirlist;
 dirlist = mentry-next;
 unhand_array(array)-body[i] =
-  (Hjava_lang_Object*)stringC2Java(mentry-name);
+  (Hjava_lang_Object*)checkPtr(stringC2Java(mentry-name));
 /* if allocation fails, continue freeing 

[kaffe] CVS kaffe (guilhem): Last check in has an incomplete ChangeLog.

2003-08-31 Thread Kaffe CVS
PatchSet 4002 
Date: 2003/08/31 18:00:51
Author: guilhem
Branch: HEAD
Tag: (none) 
Log:
Last check in has an incomplete ChangeLog.

Members: 
ChangeLog:1.1598-1.1599 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1598 kaffe/ChangeLog:1.1599
--- kaffe/ChangeLog:1.1598  Sun Aug 31 17:16:47 2003
+++ kaffe/ChangeLog Sun Aug 31 18:00:51 2003
@@ -24,6 +24,17 @@
* include/Makefile.am:
(NOINSTALL_DERIVED_HDRS) added java_io_InterruptedIOException.h
 
+   * include/Makefile.in: regenerated.
+
+   * libraries/javalib/java/io/File.java:
+   (deleteOnExit) reimplemented deleteOnExit for classpath using 
+   shutdownHooks.
+
+   * libraries/javalib/java/lang/Runtime.java:
+   (runShutdownHooks) don't show InterruptedException because it may
+   be a remanant of a former interrupt. If it happens try to join again.
+
+
* test/regression/SoInterrupt.java: removed. This test was a
non-sense from the beginning to the end.
 

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


Re: [kaffe] CVS kaffe (guilhem): Various fixes.

2003-08-31 Thread Timothy Stack
 
 PatchSet 4001 
 Date: 2003/08/31 17:16:47
 Author: guilhem
 Branch: HEAD
 Tag: (none) 
 Log:
 Various fixes.
 
 Noticeable changes:
 Reimplementation of deleteOnExit (missing in classpath)

The test case for this is not checked in (DeleteFile.java).

 Removed SoInterrupt because it is wrong.

Why is it wrong?  Improving test cases is desired over removing them.

tim

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


[kaffe] CVS kaffe (stack): Backport JanosVM stuff

2003-08-31 Thread Kaffe CVS
PatchSet 4003 
Date: 2003/08/31 22:08:52
Author: stack
Branch: HEAD
Tag: (none) 
Log:
Backport JanosVM stuff

Members: 
ChangeLog:1.1599-1.1600 
Makefile.am:1.46-1.47 
Makefile.in:1.112-1.113 
configure:1.254-1.255 
configure.in:1.221-1.222 
config/Makefile.in:1.86-1.87 
include/Makefile.in:1.120-1.121 
include/errors.h:1.8-1.9 
kaffe/Makefile.in:1.78-1.79 
kaffe/jvmpi/Makefile.in:1.5-1.6 
kaffe/kaffe/Makefile.in:1.92-1.93 
kaffe/kaffeh/Makefile.in:1.81-1.82 
kaffe/kaffevm/Makefile.am:1.46-1.47 
kaffe/kaffevm/Makefile.in:1.113-1.114 
kaffe/kaffevm/access.c:INITIAL-1.1 
kaffe/kaffevm/access.h:1.7-1.8 
kaffe/kaffevm/classMethod.c:1.108-1.109 
kaffe/kaffevm/classMethod.h:1.60-1.61 
kaffe/kaffevm/code.c:1.9-1.10 
kaffe/kaffevm/constants.c:1.16-1.17 
kaffe/kaffevm/exception.c:1.71-1.72 
kaffe/kaffevm/gcFuncs.c:1.46-1.47 
kaffe/kaffevm/kaffe.def:1.27-1.28 
kaffe/kaffevm/lookup.c:1.32-1.33 
kaffe/kaffevm/object.c:1.20-1.21 
kaffe/kaffevm/readClass.c:1.18-1.19 
kaffe/kaffevm/soft.c:1.55-1.56 
kaffe/kaffevm/soft.h:1.12-1.13 
kaffe/kaffevm/stackTrace.c:1.29-1.30 
kaffe/kaffevm/support.c:1.59-1.60 
kaffe/kaffevm/support.h:1.23-1.24 
kaffe/kaffevm/thread.c:1.54-1.55 
kaffe/kaffevm/verify.c:1.25-1.26 
kaffe/kaffevm/gcj/Makefile.in:1.62-1.63 
kaffe/kaffevm/intrp/Makefile.in:1.70-1.71 
kaffe/kaffevm/jit/Makefile.in:1.76-1.77 
kaffe/kaffevm/jit3/Makefile.in:1.46-1.47 
kaffe/kaffevm/jit3/codeproto.h:1.12-1.13 
kaffe/kaffevm/jit3/icode.c:1.31-1.32 
kaffe/kaffevm/systems/Makefile.in:1.72-1.73 
kaffe/kaffevm/systems/beos-native/Makefile.in:1.63-1.64 
kaffe/kaffevm/systems/oskit-pthreads/Makefile.in:1.69-1.70 
kaffe/kaffevm/systems/unix-jthreads/Makefile.in:1.72-1.73 
kaffe/kaffevm/systems/unix-pthreads/Makefile.in:1.42-1.43 
kaffe/man/Makefile.in:1.70-1.71 
kaffe/scripts/Makefile.in:1.101-1.102 
kaffe/scripts/bat/Makefile.in:1.63-1.64 
kaffe/scripts/compat/Makefile.in:1.84-1.85 
kaffe/xprof/Makefile.in:1.38-1.39 
libraries/Makefile.in:1.67-1.68 
libraries/clib/Makefile.in:1.72-1.73 
libraries/clib/awt/Makefile.in:1.80-1.81 
libraries/clib/awt/X/Makefile.in:1.70-1.71 
libraries/clib/awt/qt/Makefile.in:1.25-1.26 
libraries/clib/io/Makefile.in:1.73-1.74 
libraries/clib/management/Makefile.in:1.82-1.83 
libraries/clib/math/Makefile.in:1.78-1.79 
libraries/clib/native/Class.c:1.68-1.69 
libraries/clib/native/Makefile.in:1.105-1.106 
libraries/clib/net/Makefile.in:1.85-1.86 
libraries/clib/security/Makefile.in:1.46-1.47 
libraries/clib/zip/Makefile.in:1.80-1.81 
libraries/extensions/Makefile.in:1.58-1.59 
libraries/extensions/comm/Makefile.in:1.53-1.54 
libraries/extensions/comm/javalib/Makefile.in:1.53-1.54 
libraries/extensions/microsoft/Makefile.in:1.45-1.46 
libraries/extensions/microsoft/clib/Makefile.in:1.48-1.49 
libraries/extensions/microsoft/javalib/Makefile.in:1.46-1.47 
libraries/extensions/pjava/Makefile.in:1.53-1.54 
libraries/extensions/pjava/javalib/Makefile.in:1.53-1.54 
libraries/extensions/servlet/Makefile.in:1.53-1.54 
libraries/extensions/servlet/javalib/Makefile.in:1.53-1.54 
libraries/extensions/sound/Makefile.in:1.21-1.22 
libraries/extensions/sound/alsa/Makefile.in:1.22-1.23 
libraries/extensions/sound/common/Makefile.in:1.21-1.22 
libraries/extensions/sound/esd/Makefile.in:1.22-1.23 
replace/Makefile.in:1.17-1.18 
test/Makefile.in:1.73-1.74 
test/internal/Makefile.in:1.25-1.26 
test/regression/BadCatch1.j:INITIAL-1.1 
test/regression/BadCatch2.j:INITIAL-1.1 
test/regression/BadClassFileCode.java:INITIAL-1.1 
test/regression/BadClassFileConstants.java:INITIAL-1.1 
test/regression/BadClassVersion.java:INITIAL-1.1 
test/regression/CircularClass.j:INITIAL-1.1 
test/regression/CircularInterface.j:INITIAL-1.1 
test/regression/ClassFlags1.j:INITIAL-1.1 
test/regression/ClassFlags2.j:INITIAL-1.1 
test/regression/DuplicateField.j:INITIAL-1.1 
test/regression/EmptyMethod.j:INITIAL-1.1 
test/regression/FieldErrors.java:INITIAL-1.1 
test/regression/FieldFlags1.j:INITIAL-1.1 
test/regression/FieldFlags2.j:INITIAL-1.1 
test/regression/FieldFlags3.j:INITIAL-1.1 
test/regression/FieldFlags4.j:INITIAL-1.1 
test/regression/FieldRefSignature1.j:INITIAL-1.1 
test/regression/FieldSignature1.j:INITIAL-1.1 
test/regression/FieldSignature2.j:INITIAL-1.1