[kaffe] CVS kaffe (hkraemer): minor fixes

Kaffe CVS Kaffe Mailing List <kaffe@kaffe.org>
Sun Feb 8 05:47:01 2004


PatchSet 4398 
Date: 2004/02/08 13:44:39
Author: hkraemer
Branch: HEAD
Tag: (none) 
Log:
minor fixes

Members: 
	ChangeLog:1.1982->1.1983 
	kaffe/kaffevm/jni.c:1.101->1.102 
	kaffe/kaffevm/intrp/machine.c:1.38->1.39 
	kaffe/kaffevm/systems/unix-pthreads/thread-impl.c:1.18->1.19 
	libraries/javalib/java/net/URL.java:1.39->1.40 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.1982 kaffe/ChangeLog:1.1983
--- kaffe/ChangeLog:1.1982	Sat Feb  7 15:30:38 2004
+++ kaffe/ChangeLog	Sun Feb  8 13:44:39 2004
@@ -1,3 +1,19 @@
+2004-02-08  Helmer Kraemer <hkraemer@freenet.de>
+
+	* libraries/javalib/java/net/URL.java
+	(getURLStreamHandler): use context classloader to load streamhandler
+
+	Reported by: Mark Maxham <mark@maxham.com>
+
+	* kaffe/kaffevm/jni.c
+	(Kaffe_AttachCurrentThread): init semaphore and return thread's JNIEnv
+
+	* kaffe/kaffevm/systems/unix-pthreads/thread-impl.c
+	(jthread_attach_current_thread): make some guess about the stack size
+
+	* kaffe/kaffevm/intrp/machine.c
+	(runVirtualMachine): fix throwing of stackoverflow exception
+
 2004-02-07  Dalibor Topic <robilad@kaffe.org>
 
 	* kaffe/kaffevm/intrp/machine.c
Index: kaffe/kaffe/kaffevm/jni.c
diff -u kaffe/kaffe/kaffevm/jni.c:1.101 kaffe/kaffe/kaffevm/jni.c:1.102
--- kaffe/kaffe/kaffevm/jni.c:1.101	Sun Feb  1 22:14:53 2004
+++ kaffe/kaffe/kaffevm/jni.c	Sun Feb  8 13:44:41 2004
@@ -3585,7 +3585,9 @@
 Kaffe_AttachCurrentThread(JavaVM* vm, void** penv, ThreadAttachArgs* args)
 {
 	if (jthread_attach_current_thread (false)) {
+		ksemInit(&THREAD_DATA()->sem);
 		attachFakedThreadInstance ("test attach");
+		*penv = THREAD_JNIENV();
 		return 0;
 	}
 	return -1;
Index: kaffe/kaffe/kaffevm/intrp/machine.c
diff -u kaffe/kaffe/kaffevm/intrp/machine.c:1.38 kaffe/kaffe/kaffevm/intrp/machine.c:1.39
--- kaffe/kaffe/kaffevm/intrp/machine.c:1.38	Sat Feb  7 15:30:40 2004
+++ kaffe/kaffe/kaffevm/intrp/machine.c	Sun Feb  8 13:44:41 2004
@@ -83,9 +83,6 @@
 int profFlag;			 /* flag to control profiling */
 #endif
 
-/* Used to store overflow exception */
-static Hjava_lang_Throwable overflow;
-
 void runVirtualMachine(methods *meth, slots *lcl, slots *sp, uintp npc, slots *retval, volatile VmExceptHandler *mjbuf, threadData *thread_data);
 
 void
@@ -121,7 +118,7 @@
 			th = (Hjava_lang_Throwable *)newObjectChecked (javaLangStackOverflowError, &einfo);
 			thread_data->needOnStack = STACK_HIGH;
 		
-			throwException(&overflow);
+			throwException(th);
 		}
 	}
 
Index: kaffe/kaffe/kaffevm/systems/unix-pthreads/thread-impl.c
diff -u kaffe/kaffe/kaffevm/systems/unix-pthreads/thread-impl.c:1.18 kaffe/kaffe/kaffevm/systems/unix-pthreads/thread-impl.c:1.19
--- kaffe/kaffe/kaffevm/systems/unix-pthreads/thread-impl.c:1.18	Sun Feb  1 22:14:55 2004
+++ kaffe/kaffe/kaffevm/systems/unix-pthreads/thread-impl.c	Sun Feb  8 13:44:42 2004
@@ -497,8 +497,10 @@
 
   nt->func         = 0;
   nt->suspendState = 0;
-  nt->stackCur     = 0;
-  nt->daemon	 = daemon;
+  nt->stackMin     = (void *)((uintp)&nt - 0x8000);
+  nt->stackMax     = (void *)((uintp)&nt + 0x400);
+  nt->stackCur     = 0; 
+  nt->daemon       = daemon;
 
   /* link everything together */
   nt->tid = pthread_self();
Index: kaffe/libraries/javalib/java/net/URL.java
diff -u kaffe/libraries/javalib/java/net/URL.java:1.39 kaffe/libraries/javalib/java/net/URL.java:1.40
--- kaffe/libraries/javalib/java/net/URL.java:1.39	Mon Jan 12 02:34:29 2004
+++ kaffe/libraries/javalib/java/net/URL.java	Sun Feb  8 13:44:42 2004
@@ -858,7 +858,9 @@
          
             try
               {
-                Object obj = Class.forName (clsName).newInstance();
+                Object obj = Class.forName (clsName,
+                                            true,
+                                            Thread.currentThread().getContextClassLoader()).newInstance();
 	    
                 if (!(obj instanceof URLStreamHandler))
                   continue;