checkin from browser
authorcg
Fri, 24 Dec 1999 02:17:59 +0000
changeset 654 da8d060a3150
parent 653 a98a3634389a
child 655 d84fb513e1f5
checkin from browser
Java.st
JavaClass.st
JavaMethod.st
JavaNativeMethod.st
--- a/Java.st	Fri Dec 24 02:17:13 1999 +0000
+++ b/Java.st	Fri Dec 24 02:17:59 1999 +0000
@@ -675,15 +675,8 @@
         'JAVA [info]: (re)initializing JAVA environment completely ...' infoPrintCR.
 
         JavaVM initializeVM.
-
     ] ifFalse:[
-        javaEventThread := JavaVM javaEventThread.
-        (javaEventThread isNil or:[javaEventThread isDead]) ifTrue:[
-            JavaVM initializeVM
-"/        ] ifFalse:[
-"/          'JAVA [info]: re-initializing JAVA classes ...' infoPrintCR.
-"/          JavaVM reinitializeVM.
-        ].
+        JavaVM initializeVMIfNoEventThreadRunning
     ].    
     'JAVA [info]: done JAVA initialization.' infoPrintCR.
 
@@ -691,7 +684,7 @@
      Java startupJavaSystem
     "
 
-    "Modified: / 8.1.1999 / 17:05:48 / cg"
+    "Modified: / 24.12.1999 / 01:37:49 / cg"
 !
 
 terminateAllThreads
@@ -717,6 +710,7 @@
     ].
     threadsToKill do:[:aThread |
 aThread == JavaVM javaScreenUpdaterThread ifTrue:[self halt].
+aThread == JavaVM javaEventQueueThread ifTrue:[self halt].
         aThread terminate
     ].
     Threads := nil.
@@ -726,7 +720,7 @@
     "
 
     "Created: / 26.8.1997 / 19:57:40 / cg"
-    "Modified: / 8.1.1999 / 17:17:28 / cg"
+    "Modified: / 24.12.1999 / 02:34:53 / cg"
 ! !
 
 !Java class methodsFor:'enumerating'!
@@ -1427,15 +1421,16 @@
             priority:(Processor activePriority - 1).
 
     p name:(aJavaClass fullName , '::main()').
+    p restartable:true.
     ^ p
 
     "Created: / 15.8.1997 / 04:41:20 / cg"
-    "Modified: / 30.12.1998 / 20:25:26 / cg"
+    "Modified: / 24.12.1999 / 01:50:21 / cg"
 ! !
 
 !Java class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/Java.st,v 1.113 1999/12/23 18:54:01 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/Java.st,v 1.114 1999/12/24 02:17:59 cg Exp $'
 ! !
 Java initialize!
--- a/JavaClass.st	Fri Dec 24 02:17:13 1999 +0000
+++ b/JavaClass.st	Fri Dec 24 02:17:59 1999 +0000
@@ -975,6 +975,7 @@
         p resume.
         Object abortSignal handle:[:ex |
 p == JavaVM javaScreenUpdaterThread ifTrue:[self halt].
+p == JavaVM javaEventQueueThread ifTrue:[self halt].
             p terminate.
             ex reject.
         ] do:[
@@ -982,7 +983,7 @@
         ].
     ]
 
-    "Modified: / 8.1.1999 / 17:17:40 / cg"
+    "Modified: / 24.12.1999 / 02:35:04 / cg"
 ! !
 
 !JavaClass methodsFor:'fileOut'!
@@ -1740,6 +1741,6 @@
 !JavaClass class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.110 1999/12/24 01:03:13 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.111 1999/12/24 02:17:44 cg Exp $'
 ! !
 JavaClass initialize!
--- a/JavaMethod.st	Fri Dec 24 02:17:13 1999 +0000
+++ b/JavaMethod.st	Fri Dec 24 02:17:59 1999 +0000
@@ -785,17 +785,18 @@
     walker := JavaByteCodeEnumerator new.
     walker literalAction:[:pc :slotIndex :const | 
         const isJavaMethodRef ifTrue:[
-            aBlock value:(const name).
+            (aBlock value:(const name)) ifTrue:[^ const name].
         ] ifFalse:[
             const isJavaClassRef ifTrue:[
-                aBlock value:(const name).
+                (aBlock value:(const name)) ifTrue:[^ const name].
             ]
         ]
     ].
     walker decompile:self to:nil.
+    ^ nil
 
     "Created: / 9.11.1999 / 15:21:40 / cg"
-    "Modified: / 24.12.1999 / 01:58:17 / cg"
+    "Modified: / 24.12.1999 / 02:55:55 / cg"
 !
 
 localVariableTable
@@ -1817,6 +1818,6 @@
 !JavaMethod class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaMethod.st,v 1.92 1999/12/24 01:03:26 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaMethod.st,v 1.93 1999/12/24 02:17:23 cg Exp $'
 ! !
 JavaMethod initialize!
--- a/JavaNativeMethod.st	Fri Dec 24 02:17:13 1999 +0000
+++ b/JavaNativeMethod.st	Fri Dec 24 02:17:59 1999 +0000
@@ -12,6 +12,21 @@
     self flags:(self flags bitOr:Behavior flagJavaMethod).
 ! !
 
+!JavaNativeMethod class methodsFor:'cleanup'!
+
+flushAllCachedNativeMethods
+    self allInstancesDo:[:aNativeMethod |
+        aNativeMethod nativeImplementation:nil
+    ].
+
+    "
+     self flushAllCachedNativeMethods
+    "
+
+    "Created: / 24.12.1999 / 03:10:38 / cg"
+    "Modified: / 24.12.1999 / 03:10:51 / cg"
+! !
+
 !JavaNativeMethod methodsFor:'accessing'!
 
 nativeImplementation
@@ -61,6 +76,6 @@
 !JavaNativeMethod class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaNativeMethod.st,v 1.3 1999/12/23 17:46:10 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaNativeMethod.st,v 1.4 1999/12/24 02:16:37 cg Exp $'
 ! !
 JavaNativeMethod initialize!