checkin from browser
authorcg
Wed, 18 Nov 1998 15:37:49 +0000
changeset 457 38a5f940feb7
parent 456 bbed0c5ce05f
child 458 8d965d791b0a
checkin from browser
Java.st
JavaVM.st
--- a/Java.st	Tue Nov 17 19:21:10 1998 +0000
+++ b/Java.st	Wed Nov 18 15:37:49 1998 +0000
@@ -291,7 +291,7 @@
 initialize
     |tryJDK1_2 tryJDK1_16 tryJDK1_15 tryJDK1_13 tryJDK1_11 tryJDK1_103 directoriesToSearch 
      jHome jClasses jSources mozillaHome tryNetscape4_0
-     tryMS tryBorland tryVA|
+     tryMS tryBorland tryVA fn|
 
     FailedToLoadClasses := nil.
 
@@ -307,6 +307,13 @@
     tryJDK1_11 := true.
     tryJDK1_103 := false.
 
+"/    tryBorland := false.
+"/    tryJDK1_16 := false.
+"/    tryJDK1_15 := false.
+"/    tryJDK1_13 := false.
+"/    tryJDK1_11 := false.
+"/    tryMS := true.
+
     ExcludedClassPath := OrderedCollection new.
 
     directoriesToSearch := OrderedCollection new.
@@ -317,23 +324,32 @@
     tryBorland ifTrue:[        
         directoriesToSearch add:'c:\jbuilder2\java'.
     ].
+
     tryMS ifTrue:[        
-        directoriesToSearch add:'c:\windows\java\classes'.
-        'c:\windows\java\packages' asFilename exists ifTrue:[
-            'c:\windows\java\packages' asFilename directoryContents do:[:f |
+"/        (fn := 'c:\windows\java\classes' asFilename) exists ifTrue:[
+"/            directoriesToSearch add:'c:\windows\java\classes'.
+"/            fn directoryContents do:[:f |
+"/                (f asFilename hasSuffix:'zip') ifTrue:[
+"/                    directoriesToSearch add:(fn construct:f) pathName                    
+"/                ]
+"/            ]
+"/        ].
+        (fn := 'c:\windows\java\packages' asFilename) exists ifTrue:[
+            fn directoryContents do:[:f |
                 (f asFilename hasSuffix:'zip') ifTrue:[
-                    directoriesToSearch add:('c:\windows\java\packages' asFilename construct:f) pathName                    
+                    directoriesToSearch add:(fn construct:f) pathName                    
                 ]
             ]
         ].
-        'c:\windows\java\trustlib' asFilename exists ifTrue:[
-            'c:\windows\java\trustlib' asFilename directoryContents do:[:f |
+        (fn := 'c:\windows\java\trustlib' asFilename) exists ifTrue:[
+            fn directoryContents do:[:f |
                 (f asFilename hasSuffix:'zip') ifTrue:[
-                    directoriesToSearch add:('c:\windows\java\trustlib' asFilename construct:f) pathName                    
+                    directoriesToSearch add:(fn construct:f) pathName                    
                 ]
             ]
         ]
     ].
+
     tryJDK1_2 ifTrue:[        
         directoriesToSearch addAll:
                                 #(
@@ -346,6 +362,7 @@
                                     'c:\java\jdk1.2'
                                 )
     ].
+
     tryJDK1_16 ifTrue:[
         directoriesToSearch addAll:
                                 #(
@@ -363,6 +380,7 @@
                                     'c:\java\jdk1.1.6'
                                 ) 
     ].
+
     tryJDK1_15 ifTrue:[        
         directoriesToSearch addAll:
                                 #(
@@ -380,6 +398,7 @@
                                     'c:\java\jdk1.1.5'
                                 )
     ].
+
     tryJDK1_13 ifTrue:[        
         directoriesToSearch addAll:
                                 #(
@@ -397,6 +416,7 @@
                                     'c:\java\jdk1.1.3'
                                 )
     ].
+
     tryJDK1_11 ifTrue:[        
         directoriesToSearch addAll:
                                 #(
@@ -414,6 +434,7 @@
                                     'c:\java\jdk1.1.1'
                                 )
     ].
+
     tryJDK1_103 ifTrue:[        
         directoriesToSearch addAll:
                                 #(
@@ -432,6 +453,8 @@
                                 )
     ].
 
+    jClasses := OrderedCollection new.
+
     directoriesToSearch do:[:aPath | 
         |dir libDir|
 
@@ -439,7 +462,7 @@
         (jHome isNil and:[dir exists]) ifTrue:[
             ((dir hasSuffix:'jar')
             or:[dir hasSuffix:'zip']) ifTrue:[
-                jClasses := dir.
+                jClasses add:dir.
             ] ifFalse:[
 
                 "/ there must be either a classes directory,
@@ -447,12 +470,12 @@
                 (libDir := dir construct:'lib') exists ifTrue:[
                     (libDir construct:'classes.zip') exists ifTrue:[
                         jHome := aPath.
-                        jClasses := libDir construct:'classes.zip'.
+                        jClasses add:(libDir constructString:'classes.zip').
                     ] ifFalse:[
                         (libDir construct:'classes') exists ifTrue:[
                             (libDir construct:'classes') isDirectory ifTrue:[
                                 jHome := aPath.
-                                jClasses := libDir construct:'classes'.
+                                jClasses add:(libDir construct:'classes').
                             ]
                         ]
                     ]
@@ -460,28 +483,29 @@
             ].
         ].
     ].
-    jHome isNil ifTrue:[
-        Transcript showCR:'no java home directory found'.
-        ^ self
-    ].
-    Transcript showCR:'Found javaHome in: ' , jHome.
 
     self javaHome:jHome.
-    self classPath:(Array with:jClasses pathName).
+    self classPath:jClasses.
 
-    (jSources := jHome asFilename construct:'source') exists ifFalse:[
-        (jSources := jHome asFilename construct:'src') exists ifFalse:[
-            (jSources := jHome asFilename construct:'sources') exists ifFalse:[
-                jSources := nil.
+    jHome isNil ifTrue:[
+        Transcript showCR:'no java home directory found'.
+    ] ifFalse:[
+        Transcript showCR:'Found javaHome in: ' , jHome.
+
+        (jSources := jHome asFilename construct:'source') exists ifFalse:[
+            (jSources := jHome asFilename construct:'src') exists ifFalse:[
+                (jSources := jHome asFilename construct:'sources') exists ifFalse:[
+                    jSources := nil.
+                ]
             ]
-        ]
-    ].
+        ].
 
-    jSources isNil ifTrue:[
-        Transcript showCR:'no java source directory found'.
-    ] ifFalse:[
-        Transcript showCR:'Found javaSources in: ' , jSources pathName.
-        self sourceDirectories:(Array with:jSources pathName).
+        jSources isNil ifTrue:[
+            Transcript showCR:'no java source directory found'.
+        ] ifFalse:[
+            Transcript showCR:'Found javaSources in: ' , jSources pathName.
+            self sourceDirectories:(Array with:jSources pathName).
+        ].
     ].
 
     directoriesToSearch := OrderedCollection new.
@@ -534,7 +558,7 @@
      JavaVM initializeVM
     "
 
-    "Modified: / 4.11.1998 / 19:55:58 / cg"
+    "Modified: / 18.11.1998 / 01:30:55 / cg"
 !
 
 initializePrettyPrintStyle
@@ -615,8 +639,12 @@
         JavaVM initializeVM.
 
     ] ifFalse:[
-        'JAVA [info]: re-initializing JAVA classes ...' infoPrintCR.
-        JavaVM reinitializeVM.
+        (JavaEventThread isNil or:[JavaEventThread isDead]) ifTrue:[
+            JavaVM initializeVM
+"/        ] ifFalse:[
+"/          'JAVA [info]: re-initializing JAVA classes ...' infoPrintCR.
+"/          JavaVM reinitializeVM.
+        ].
     ].    
     'JAVA [info]: done JAVA initialization.' infoPrintCR.
 
@@ -624,7 +652,7 @@
      Java startupJavaSystem
     "
 
-    "Modified: / 12.11.1998 / 15:35:38 / cg"
+    "Modified: / 17.11.1998 / 21:43:27 / cg"
 !
 
 terminateAllThreads
@@ -1339,6 +1367,6 @@
 !Java class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/Java.st,v 1.80 1998/11/16 15:14:40 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/Java.st,v 1.81 1998/11/18 15:35:24 cg Exp $'
 ! !
 Java initialize!
--- a/JavaVM.st	Tue Nov 17 19:21:10 1998 +0000
+++ b/JavaVM.st	Wed Nov 18 15:37:49 1998 +0000
@@ -450,6 +450,572 @@
       (WGraphics::void close (sun.awt.windows.WPrintJob))
       (JPEGImageDecoder::void readImage (java.io.InputStream byte[]))
     o (OffScreenImageSource::void sendPixels ())
+
+
+    additional native methods added by microsoft (sigh):
+
+    X (java.lang.String::boolean equals (java.lang.String))
+    X (java.lang.String::int length (java.lang.String))
+    o (java.lang.Runtime::void setInputStreamLocalised (java.io.DataInputStream))
+    o (java.lang.Runtime::void setOutputStreamLocalised (java.io.DataOutputStream))
+
+      (java.lang.String::int compareTo (java.lang.String))
+      (java.lang.String::boolean equalsIgnoreCase (java.lang.String))
+      (java.lang.String::int indexOf (java.lang.String int))
+      (java.lang.String::boolean startsWith (java.lang.String int))
+      (java.lang.String::boolean regionMatches (int java.lang.String int int))
+      (java.lang.String::boolean regionMatches (boolean int java.lang.String int int))
+      (java.lang.String::int lastIndexOf (java.lang.String int))
+      (java.lang.ClassLoader::void resolveClass (java.lang.Class))
+      (java.lang.ClassLoader::java.lang.Class createArrayClass (java.lang.String java.lang.Class))
+      (java.io.PrintStream::boolean isOutputStreamLocalised (java.io.DataOutputStream))
+      (java.lang.Runtime::boolean isOutputStreamLocalised (java.io.DataOutputStream))
+      (java.lang.Runtime::boolean isInputStreamLocalised (java.io.DataInputStream))
+      (java.lang.ThreadGroup::void initMainThreadGroup0 (java.lang.ThreadGroup))
+      (java.lang.System::void validateSecurityManager (java.lang.SecurityManager))
+      (java.lang.Class::java.lang.reflect.Method getMethod2 (int java.lang.String java.lang.String))
+      (java.io.ObjectOutputStream::void invokeDefaultWriteObject (java.lang.Object java.lang.Class))
+      (java.io.ObjectOutputStream::void invokeWriteObject (java.lang.Object java.lang.Class))
+      (java.io.ObjectInputStream::void invokeDefaultReadObject (java.lang.Object java.lang.Class))
+      (java.io.ObjectInputStream::void invokeReadObject (java.lang.Object java.lang.Class))
+      (java.util.TimeZone::java.util.TimeZone getWin32TimeZone ())
+      (java.net.InetAddress::java.lang.Object[] lookupHostByName (java.lang.String))
+      (java.net.InetAddress::java.lang.Object[] lookupHostByAddr (int))
+      (java.io.ObjectStreamClass::void doMismatchedRead (java.io.ObjectInputStream java.lang.Object))
+      (java.io.ObjectStreamClass::long getClassDefinedUID (java.lang.Class))
+      (java.io.ObjectStreamClass::boolean findObjectMethod0 (java.lang.Class int))
+      (java.lang.reflect.Method::java.lang.String getDescriptor ())
+      (java.lang.reflect.Array::void setShort (java.lang.Object int unsigned short))
+      (java.lang.reflect.Array::char getChar (java.lang.Object int))
+      (java.lang.reflect.Array::void setChar (java.lang.Object int char))
+      (java.lang.reflect.Array::void setDouble (java.lang.Object int double))
+      (java.lang.reflect.Array::java.lang.Object get (java.lang.Object int))
+      (java.lang.reflect.Array::void set (java.lang.Object int java.lang.Object))
+      (java.lang.reflect.Array::int getInt (java.lang.Object int))
+      (java.lang.reflect.Array::void setInt (java.lang.Object int int))
+      (java.lang.reflect.Array::java.lang.Object multiNewArray (java.lang.Class int[]))
+      (java.lang.reflect.Array::boolean getBoolean (java.lang.Object int))
+      (java.lang.reflect.Array::byte getByte (java.lang.Object int))
+      (java.lang.reflect.Array::float getFloat (java.lang.Object int))
+      (java.lang.reflect.Array::void setBoolean (java.lang.Object int boolean))
+      (java.lang.reflect.Array::long getLong (java.lang.Object int))
+      (java.lang.reflect.Array::void setByte (java.lang.Object int byte))
+      (java.lang.reflect.Array::void setLong (java.lang.Object int long))
+      (java.lang.reflect.Array::void setFloat (java.lang.Object int float))
+      (java.lang.reflect.Array::java.lang.Object newArray (java.lang.Class int))
+      (java.lang.reflect.Array::int getLength (java.lang.Object))
+      (java.lang.reflect.Array::unsigned short getShort (java.lang.Object int))
+      (java.lang.reflect.Array::double getDouble (java.lang.Object int))
+      (java.lang.reflect.Field::void setShort (java.lang.Object unsigned short))
+      (java.lang.reflect.Field::char getChar (java.lang.Object))
+      (java.lang.reflect.Field::void setChar (java.lang.Object char))
+      (java.lang.reflect.Field::void setDouble (java.lang.Object double))
+      (java.lang.reflect.Field::java.lang.Object get (java.lang.Object))
+      (java.lang.reflect.Field::void set (java.lang.Object java.lang.Object))
+      (java.lang.reflect.Field::int getInt (java.lang.Object))
+      (java.lang.reflect.Field::void setInt (java.lang.Object int))
+      (java.lang.reflect.Field::boolean getBoolean (java.lang.Object))
+      (java.lang.reflect.Field::byte getByte (java.lang.Object))
+      (java.lang.reflect.Field::float getFloat (java.lang.Object))
+      (java.lang.reflect.Field::long getLong (java.lang.Object))
+      (java.lang.reflect.Field::void setBoolean (java.lang.Object boolean))
+      (java.lang.reflect.Field::void setByte (java.lang.Object byte))
+      (java.lang.reflect.Field::void setLong (java.lang.Object long))
+      (java.lang.reflect.Field::void setFloat (java.lang.Object float))
+      (java.lang.reflect.Field::int getModifiers ())
+      (java.lang.reflect.Field::unsigned short getShort (java.lang.Object))
+      (java.lang.reflect.Field::double getDouble (java.lang.Object))
+      (java.lang.reflect.Constructor::java.lang.Object newInstance (java.lang.Object[]))
+      (java.lang.reflect.Constructor::int getModifiers ())
+      (java.util.zip.Inflater::void setDictionary0 (byte[] int int))
+      (java.util.zip.Inflater::int getTotalIn0 ())
+      (java.util.zip.Inflater::void reset0 ())
+      (java.util.zip.Inflater::void end0 ())
+      (java.util.zip.Inflater::int inflate0 (byte[] int int))
+      (java.util.zip.Inflater::int getTotalOut0 ())
+      (java.util.zip.Inflater::int getAdler0 ())
+      (java.util.zip.CRC32::void update1 (int))
+      (java.util.zip.CRC32::void update (byte[] int int))
+
+      (com.ms.security.PolicyEngine::boolean isSystemClass (java.lang.String))
+      (com.ms.security.PolicyEngine::void denyPermission (com.ms.security.PermissionID))
+      (com.ms.security.PolicyEngine::void revertPermission (com.ms.security.PermissionID))
+      (com.ms.security.PolicyEngine::void initPolicyEngine ())
+      (com.ms.security.PolicyEngine::java.lang.Class _getClassOfCaller (java.lang.Class[]))
+      (com.ms.security.PolicyEngine::void internalCheckClass (java.lang.Class com.ms.security.PermissionID java.lang.Object))
+      (com.ms.security.PolicyEngine::com.ms.security.PermissionDataSet getPermissionsOfClass (java.lang.Class))
+      (com.ms.security.PolicyEngine::void assertPermission (com.ms.security.PermissionID))
+      (com.ms.security.PolicyEngine::void deepCheck (com.ms.security.PermissionID java.lang.Object))
+      (com.ms.security.PolicyEngine::void shallowCheck (com.ms.security.PermissionID java.lang.Object java.lang.Class[] int))
+      (com.ms.security.PolicyEngine::java.security.Principal getPrincipalOfClass (java.lang.Class))
+      (com.ms.security.permissions.ThreadPermission::boolean pDecodeAsn (byte[]))
+      (com.ms.security.permissions.ThreadPermission::byte[] pEncodeAsn ())
+      (com.ms.security.permissions.RegistryPermission::boolean pDecodeAsn (byte[]))
+      (com.ms.security.permissions.RegistryPermission::byte[] pEncodeAsn ())
+      (com.ms.security.management.ZonePermissions::byte[] pEncodeAsn ())
+      (com.ms.security.management.ZonePermissions::boolean pDecodeAsn (byte[]))
+      (com.ms.security.permissions.UIPermission::byte[] pEncodeAsn ())
+      (com.ms.security.permissions.UIPermission::boolean pDecodeAsn (byte[]))
+      (com.ms.security.permissions.NetIOPermission::byte[] pEncodeAsn ())
+      (com.ms.security.permissions.NetIOPermission::boolean pDecodeAsn (byte[]))
+      (com.ms.security.permissions.ReflectionPermission::byte[] pEncodeAsn ())
+      (com.ms.security.permissions.ReflectionPermission::boolean pDecodeAsn (byte[]))
+      (com.ms.vm.WeakReference::void storeRef (int java.lang.Object))
+      (com.ms.vm.WeakReference::int allocRef (java.lang.Object))
+      (com.ms.vm.WeakReference::void freeRef (int))
+      (com.ms.vm.WeakReference::java.lang.Object fetchRef (int))
+      (com.ms.dll.DllLib::void CoTaskMemFree (int))
+      (com.ms.dll.DllLib::void CopyWithDstOffset (int float[] int int))
+      (com.ms.dll.DllLib::void CopyWithDstOffset (int double[] int int))
+      (com.ms.dll.DllLib::int numParamBytes0 (java.lang.reflect.Method))
+      (com.ms.dll.DllLib::void CopyWithDstOffset (int java.lang.Object int int))
+      (com.ms.dll.DllLib::void write2 (java.lang.Object int unsigned short))
+      (com.ms.dll.DllLib::void write2 (int int unsigned short))
+      (com.ms.dll.DllLib::void write2 (java.lang.Object int char))
+      (com.ms.dll.DllLib::void write2 (int int char))
+      (com.ms.dll.DllLib::int GlobalAlloc (int int))
+      (com.ms.dll.DllLib::void resize (java.lang.Object int))
+      (com.ms.dll.DllLib::long read8 (java.lang.Object int))
+      (com.ms.dll.DllLib::long read8 (int int))
+      (com.ms.dll.DllLib::int lstrcpy (java.lang.StringBuffer int))
+      (com.ms.dll.DllLib::int lstrlenA (int))
+      (com.ms.dll.DllLib::int read4 (java.lang.Object int))
+      (com.ms.dll.DllLib::int CoTaskMemAlloc (int))
+      (com.ms.dll.DllLib::void write8 (java.lang.Object int long))
+      (com.ms.dll.DllLib::int sizeOf0 (java.lang.Class))
+      (com.ms.dll.DllLib::int getSystemDefaultCharSize ())
+      (com.ms.dll.DllLib::void write8 (int int long))
+      (com.ms.dll.DllLib::int read4 (int int))
+      (com.ms.dll.DllLib::byte read1 (java.lang.Object int))
+      (com.ms.dll.DllLib::byte read1 (int int))
+      (com.ms.dll.DllLib::int lstrlen (int))
+      (com.ms.dll.DllLib::void CopyMemoryAnsi (int java.lang.String int))
+      (com.ms.dll.DllLib::void CopyMemoryAnsi (java.lang.StringBuffer int int))
+      (com.ms.dll.DllLib::boolean isStruct (java.lang.reflect.Field))
+      (com.ms.dll.DllLib::boolean GlobalFree (int))
+      (com.ms.dll.DllLib::void internalAttemptCopyPtrToStruct (int java.lang.Object int int))
+      (com.ms.dll.DllLib::int getLastError ())
+      (com.ms.dll.DllLib::void write4 (java.lang.Object int int))
+      (com.ms.dll.DllLib::void write4 (int int int))
+      (com.ms.dll.DllLib::unsigned short read2 (java.lang.Object int))
+      (com.ms.dll.DllLib::unsigned short read2 (int int))
+      (com.ms.dll.DllLib::void release (java.lang.Object))
+      (com.ms.dll.DllLib::void write1 (java.lang.Object int byte))
+      (com.ms.dll.DllLib::void write1 (int int byte))
+      (com.ms.dll.DllLib::boolean isStructCls (java.lang.Class))
+      (com.ms.dll.DllLib::void prelink (java.lang.reflect.Method))
+      (com.ms.dll.DllLib::void CopyMemoryUni (int java.lang.String int))
+      (com.ms.dll.DllLib::void CopyMemoryUni (java.lang.StringBuffer int int))
+      (com.ms.dll.DllLib::void internalAttemptCopyStructToPtr (java.lang.Object int int int))
+      (com.ms.dll.DllLib::void CopyWithSrcOffset (int int int int))
+      (com.ms.dll.DllLib::void CopyWithSrcOffset (byte[] int int int))
+      (com.ms.dll.DllLib::void CopyWithSrcOffset (char[] int int int))
+      (com.ms.dll.DllLib::void CopyWithSrcOffset (unsigned short[] int int int))
+      (com.ms.dll.DllLib::void CopyWithSrcOffset (int[] int int int))
+      (com.ms.dll.DllLib::void CopyWithSrcOffset (long[] int int int))
+      (com.ms.dll.DllLib::void CopyWithSrcOffset (float[] int int int))
+      (com.ms.dll.DllLib::void CopyWithSrcOffset (double[] int int int))
+      (com.ms.dll.DllLib::void CopyWithSrcOffset (java.lang.Object int int int))
+      (com.ms.dll.DllLib::void CopyWithDstOffset (int int int int))
+      (com.ms.dll.DllLib::int lstrlenW (int))
+      (com.ms.dll.DllLib::void CopyWithDstOffset (int byte[] int int))
+      (com.ms.dll.DllLib::void CopyWithDstOffset (int char[] int int))
+      (com.ms.dll.DllLib::void CopyWithDstOffset (int unsigned short[] int int))
+      (com.ms.dll.DllLib::void CopyWithDstOffset (int int[] int int))
+      (com.ms.dll.DllLib::void CopyWithDstOffset (int long[] int int))
+      (com.ms.dll.DllLib::int internalGetStructAddr (java.lang.Object))
+      (com.ms.dll.DllLib::int offsetOf (java.lang.reflect.Field))
+      (com.ms.dll.DllLib::int lstrcpy (int java.lang.String))
+      (com.ms.dll.DllLib::int sizeOf (java.lang.Object))
+      (com.ms.lang.RegKey::com.ms.lang.RegKeyEnumValue pRegEnumValue (int))
+      (com.ms.lang.RegKey::java.lang.String pRegQueryStringValue (java.lang.String))
+      (com.ms.lang.RegKey::byte[] pRegQueryBinaryValue (java.lang.String))
+      (com.ms.lang.RegKey::int pRegQueryIntValue (java.lang.String))
+      (com.ms.lang.RegKey::void pRegSetStringValue (java.lang.String java.lang.String))
+      (com.ms.lang.RegKey::void pRegSetIntValue (java.lang.String int))
+      (com.ms.lang.RegKey::void pRegSetBinaryValue (java.lang.String byte[]))
+      (com.ms.lang.RegKey::void pRegDeleteValue (java.lang.String))
+      (com.ms.lang.RegKey::void pRegFlushKey ())
+      (com.ms.lang.RegKey::void pRegDeleteKey (java.lang.String))
+      (com.ms.lang.RegKey::void pRegOpenBaseKey (int))
+      (com.ms.lang.RegKey::void pRegOpenKey (com.ms.lang.RegKey java.lang.String int))
+      (com.ms.lang.RegKey::int pRegQueryInfoKey (com.ms.lang.RegQueryInfo))
+      (com.ms.lang.RegKey::void pRegUnLoadKey (java.lang.String))
+      (com.ms.lang.RegKey::void pRegCreateKey (com.ms.lang.RegKey java.lang.String))
+      (com.ms.lang.RegKey::void pRegRestoreKey (java.lang.String boolean))
+      (com.ms.lang.RegKey::void pRegLoadKey (java.lang.String java.lang.String))
+      (com.ms.lang.RegKey::void pRegCloseKey ())
+      (com.ms.lang.RegKey::java.lang.String pRegEnumKey (int))
+      (com.ms.lang.RegKey::void pRegReplaceKey (java.lang.String java.lang.String java.lang.String))
+      (com.ms.awt.peer.NativeServices::int pGetKeyboardLayouts (int[] int))
+      (com.ms.awt.peer.NativeServices::void jpegReadByte (com.ms.awt.peer.IjpegDecoderCallback byte[] int com.ms.awt.peer.jpegInfoHeader byte[] int))
+      (com.ms.awt.peer.NativeServices::int getColourDataDepth ())
+      (com.ms.awt.peer.NativeServices::java.lang.String pGetFontEnumeratedFamily (int))
+      (com.ms.awt.peer.NativeServices::int pNewFontEnumeration ())
+      (com.ms.awt.peer.NativeServices::int getScreenClipRgn (int))
+      (com.ms.awt.peer.NativeServices::int pSetKeyboardLayout (int int))
+      (com.ms.awt.peer.NativeServices::void ClipboardInit (com.ms.awt.peer.IToolkit))
+      (com.ms.awt.peer.NativeServices::void getDeviceCaps (int int[] int))
+      (com.ms.awt.peer.NativeServices::void getAfcMetrics (int[]))
+      (com.ms.awt.peer.NativeServices::void setUserLocale (int int))
+      (com.ms.awt.peer.NativeServices::void getDCDI (com.ms.awt.peer.DirectColourDataInfo))
+      (com.ms.awt.peer.NativeServices::int pGetNumKeyboardLayouts ())
+      (com.ms.awt.peer.NativeServices::void getIndexedColours (byte[] byte[] byte[]))
+      (com.ms.awt.peer.NativeServices::int getNativeFont (java.lang.String int int int))
+      (com.ms.awt.peer.NativeServices::int pGetKeyboardLayout ())
+      (com.ms.awt.peer.NativeServices::int getSystemLCID ())
+      (com.ms.awt.peer.NativeServices::void caretSetPos (int int int))
+      (com.ms.awt.peer.NativeServices::java.lang.String getLogFontFromIUnknown (com.ms.com.IUnknown com.ms.awt.peer.LogFontX))
+      (com.ms.awt.peer.NativeServices::java.lang.String ClipboardGetText ())
+      (com.ms.awt.peer.NativeServices::int systemMetric (int))
+      (com.ms.awt.peer.NativeServices::void jpegInit (com.ms.awt.peer.IjpegDecoderCallback byte[] int com.ms.awt.peer.jpegInfoHeader))
+      (com.ms.awt.peer.NativeServices::void caretHide (int))
+      (com.ms.awt.peer.NativeServices::int chooseColor (int int))
+      (com.ms.awt.peer.NativeServices::java.lang.String pGetKeyboardLayoutName (int))
+      (com.ms.awt.peer.NativeServices::int matchFontAndLanguage (int int))
+      (com.ms.awt.peer.NativeServices::java.lang.String chooseFont (com.ms.awt.peer.LogFontX java.lang.String int))
+      (com.ms.awt.peer.NativeServices::java.lang.String getSystemFont (int com.ms.awt.peer.LogFontX))
+      (com.ms.awt.peer.NativeServices::com.ms.com.IUnknown getIUnknownFromLogFont (java.lang.String com.ms.awt.peer.LogFontX))
+      (com.ms.awt.peer.NativeServices::void caretDispose (int))
+      (com.ms.awt.peer.NativeServices::void caretShow (int))
+      (com.ms.awt.peer.NativeServices::void deleteObject (int))
+      (com.ms.awt.peer.NativeServices::void setDebugOutput (com.ms.awt.peer.COMPrintCallback))
+      (com.ms.awt.peer.NativeServices::void jpegReadInt (com.ms.awt.peer.IjpegDecoderCallback byte[] int com.ms.awt.peer.jpegInfoHeader int[] int))
+      (com.ms.awt.peer.NativeServices::int getSystemColourValue (int))
+      (com.ms.awt.peer.NativeServices::void caretCreate (int int int))
+      (com.ms.awt.peer.NativeServices::void ClipboardSetText (java.lang.String))
+      (com.ms.awt.peer.NativeServices::void println (java.lang.String))
+      (com.ms.security.SecurityClassLoader::boolean getSecureState ())
+      (com.ms.security.SecurityClassLoader::void setSecureState (java.lang.String java.lang.String))
+      (com.ms.security.SecurityClassLoader::java.lang.Class internalDefineClass (java.lang.String byte[] int int))
+      (com.ms.security.SecurityClassLoader::void markClass (java.lang.Class com.ms.security.PermissionSet java.security.Principal))
+      (com.ms.security.SecurityClassLoader::java.util.Hashtable getHashTable ())
+      (com.ms.security.auditing.SecurityAuditor::boolean isThreadAuditingEnabled ())
+      (com.ms.security.auditing.SecurityAuditor::void disableThreadAuditing ())
+      (com.ms.security.auditing.SecurityAuditor::void enableThreadAuditing ())
+      (com.ms.security.auditing.SecurityAuditor::void initSecurityAuditor ())
+      (com.ms.security.PermissionDataSet::byte[] pEncodeAsn ())
+      (com.ms.security.PermissionDataSet::boolean pDecodeAsn (byte[]))
+      (com.ms.lang.SystemX::int pAnsiToUnicode (byte[] char[] int int int))
+      (com.ms.lang.SystemX::int pQueryUnicodeToAnsi (char[] int int int))
+      (com.ms.lang.SystemX::void gc ())
+      (com.ms.lang.SystemX::boolean arrayCompare (java.lang.Object[] int java.lang.Object[] int int))
+      (com.ms.lang.SystemX::int pUnicodeToAnsi (char[] byte[] int int int))
+      (com.ms.lang.SystemX::boolean isLocalCharDBCSLeadByte (byte))
+      (com.ms.lang.SystemX::int pQueryAnsiToUnicode (byte[] int int int))
+      (com.ms.lang.SystemX::boolean isBaseDBCS ())
+      (com.ms.packagemanager.JavaPackage::byte[] nativeGetSigner (java.lang.Object))
+      (com.ms.packagemanager.JavaPackage::byte[] nativeGetCapabilities (java.lang.Object))
+      (com.ms.com._Guid::void IIDFromString (java.lang.String com.ms.com._Guid))
+      (com.ms.com._Guid::java.lang.String StringFromIID (com.ms.com._Guid))
+      (com.ms.security.auditing.PrintStreamAuditor::int GetModuleHandle (java.lang.String))
+      (com.ms.security.auditing.PrintStreamAuditor::int FormatMessage (int int int int java.lang.StringBuffer int int[]))
+      (com.ms.security.permissions.CustomPermission::byte[] pEncodeAsn ())
+      (com.ms.security.permissions.CustomPermission::boolean pDecodeAsn (byte[]))
+      (com.ms.security.permissions.X509Signer::boolean pLoad (byte[]))
+      (com.ms.packagemanager.PackageManager::java.lang.Class nativeFindClassInNamespace (java.lang.String java.lang.String java.lang.ClassLoader))
+      (com.ms.packagemanager.PackageManager::java.lang.Object nativeGetPackage (java.lang.String java.lang.String))
+      (com.ms.packagemanager.PackageManager::java.lang.String[] nativeGetBeansList ())
+      (com.ms.packagemanager.PackageManager::com.ms.com.IStream nativeGetFileIStream (java.lang.String java.lang.String))
+      (com.ms.packagemanager.PackageManager::java.lang.Class nativeFindClass (java.lang.String java.lang.String java.lang.ClassLoader))
+      (com.ms.security.permissions.UserFileIOPermission::byte[] pEncodeAsn ())
+      (com.ms.security.permissions.UserFileIOPermission::boolean pDecodeAsn (byte[]))
+      (com.ms.security.permissions.PropertyPermission::byte[] pEncodeAsn ())
+      (com.ms.security.permissions.PropertyPermission::boolean pDecodeAsn (byte[]))
+      (com.ms.security.permissions.ClientStoragePermission::byte[] pEncodeAsn ())
+      (com.ms.security.permissions.ClientStoragePermission::boolean pDecodeAsn (byte[]))
+      (com.ms.security.permissions.ExecutionPermission::byte[] pEncodeAsn ())
+      (com.ms.security.permissions.ExecutionPermission::boolean pDecodeAsn (byte[]))
+      (com.ms.util.EventLog::boolean DeregisterEventSource (int))
+      (com.ms.util.EventLog::void reportEvent0 (unsigned short unsigned short int java.lang.String[] byte[]))
+      (com.ms.util.EventLog::int RegisterEventSource (java.lang.String java.lang.String))
+      (com.ms.applet.BrowserAppletFrame::void signalViewChange (int))
+      (com.ms.applet.BrowserAppletFrame::java.lang.Object newInstance (int java.lang.Class boolean com.ms.security.PermissionSet))
+      (com.ms.applet.BrowserAppletFrame::void showSystemStatus (int int boolean java.lang.String))
+      (com.ms.applet.BrowserAppletFrame::com.ms.security.management.SecurityPolicy getSecurityPolicy0 (int java.lang.String))
+      (com.ms.applet.BrowserAppletFrame::void setDownloadState (int boolean))
+      (com.ms.applet.BrowserAppletFrame::int GetSystemDefaultLCID ())
+      (com.ms.applet.BrowserAppletFrame::void requestResize (int int int))
+      (com.ms.applet.BrowserAppletFrame::void signalObjectLoadDone (int boolean))
+      (com.ms.applet.BrowserAppletFrame::com.ms.applet.BrowserAppletFrame findOfflineContext ())
+      (com.ms.applet.BrowserAppletFrame::void showStatus0 (int java.lang.String))
+      (com.ms.applet.BrowserAppletFrame::boolean checkGlobalOfflineMode0 ())
+      (com.ms.applet.BrowserAppletFrame::void showDocument0 (int java.lang.String java.lang.String))
+      (com.ms.security.permissions.SystemStreamsPermission::byte[] pEncodeAsn ())
+      (com.ms.security.permissions.SystemStreamsPermission::boolean pDecodeAsn (byte[]))
+      (com.ms.security.permissions.FileIOPermission::byte[] pEncodeAsn ())
+      (com.ms.security.permissions.FileIOPermission::boolean pDecodeAsn (byte[]))
+      (com.ms.com.ComLib::int newGCHandle (java.lang.Object))
+      (com.ms.com.ComLib::java.lang.Object derefGCHandle (int))
+      (com.ms.com.ComLib::void dprinthelper (char[]))
+      (com.ms.com.ComLib::void release (java.lang.Object))
+      (com.ms.com.ComLib::int jcdwClassSizeOf (java.lang.Class))
+      (com.ms.com.ComLib::int jcdwOffsetOf (java.lang.Object java.lang.String))
+      (com.ms.com.ComLib::int jcdwClassOffsetOf (java.lang.Class java.lang.String))
+      (com.ms.com.ComLib::boolean isJavaOwned (java.lang.Object))
+      (com.ms.com.ComLib::void brk (java.lang.Object))
+      (com.ms.com.ComLib::void setDataWrapperSize (java.lang.Object int))
+      (com.ms.com.ComLib::void brk (int))
+      (com.ms.com.ComLib::void setJCDWHomeThread (java.lang.Object java.lang.Object))
+      (com.ms.com.ComLib::void propagateOwnership (java.lang.Object int))
+      (com.ms.com.ComLib::void threadStartMTA (java.lang.Thread))
+      (com.ms.com.ComLib::void IENVNextMarshalerJ2C (int))
+      (com.ms.com.ComLib::boolean supportsInterface (java.lang.Object com.ms.com._Guid))
+      (com.ms.com.ComLib::java.lang.Object ptrToStruct (java.lang.Class int))
+      (com.ms.com.ComLib::int jcdwSizeOf (java.lang.Object))
+      (com.ms.com.ComLib::void declareMessagePumpThread ())
+      (com.ms.com.ComLib::void IENVNextMarshalerC2J (int))
+      (com.ms.com.ComLib::void freeGCHandle (int))
+      (com.ms.com.ComLib::boolean isEqualUnknown (java.lang.Object java.lang.Object))
+      (com.ms.com.Dispatch::boolean NIsArray (java.lang.Object))
+      (com.ms.com.Dispatch::java.lang.String NInvokeReal (java.lang.Object com.ms.com._Guid java.lang.String int int int int com.ms.com.Variant[] com.ms.com.Variant[] int[]))
+      (com.ms.com.Dispatch::void NGetIDsOfNamesReal (java.lang.Object com.ms.com._Guid int java.lang.String[] int[]))
+      (com.ms.com.ComException::int FormatMessage (int int int int java.lang.StringBuffer int int[]))
+      (com.ms.com.Variant::int toInt ())
+      (com.ms.com.Variant::double toDate ())
+      (com.ms.com.Variant::boolean toBoolean ())
+      (com.ms.com.Variant::double toDouble ())
+      (com.ms.com.Variant::long toCurrency ())
+      (com.ms.com.Variant::void putVariantArray (com.ms.com.Variant[]))
+      (com.ms.com.Variant::com.ms.com.Variant[] getVariantArray ())
+      (com.ms.com.Variant::void putByteArray (java.lang.Object))
+      (com.ms.com.Variant::void putShortRef (unsigned short))
+      (com.ms.com.Variant::void putIntRef (int))
+      (com.ms.com.Variant::void putDoubleRef (double))
+      (com.ms.com.Variant::void putDateRef (double))
+      (com.ms.com.Variant::void putStringRef (java.lang.String))
+      (com.ms.com.Variant::unsigned short getShortRef ())
+      (com.ms.com.Variant::int getIntRef ())
+      (com.ms.com.Variant::double getDoubleRef ())
+      (com.ms.com.Variant::double getDateRef ())
+      (com.ms.com.Variant::java.lang.String getStringRef ())
+      (com.ms.com.Variant::java.lang.String internalToString ())
+      (com.ms.com.Variant::void initSafeArrayByRef (com.ms.com.SafeArray int))
+      (com.ms.com.Variant::java.lang.Object toCharArray ())
+      (com.ms.com.Variant::java.lang.Object toDispatch ())
+      (com.ms.com.Variant::byte toByte ())
+      (com.ms.com.Variant::java.lang.Object getDispatch ())
+      (com.ms.com.Variant::void putDispatch (java.lang.Object))
+      (com.ms.com.Variant::boolean getBoolean ())
+      (com.ms.com.Variant::int toError ())
+      (com.ms.com.Variant::java.lang.Object toObject ())
+      (com.ms.com.Variant::void initSafeArrayByVal (com.ms.com.SafeArray int))
+      (com.ms.com.Variant::java.lang.Object getObject ())
+      (com.ms.com.Variant::void putObject (java.lang.Object))
+      (com.ms.com.Variant::com.ms.com.SafeArray toSafeArrayHelper (java.lang.Class))
+      (com.ms.com.Variant::void putFloatRef (float))
+      (com.ms.com.Variant::void putCurrencyRef (long))
+      (com.ms.com.Variant::void putErrorRef (int))
+      (com.ms.com.Variant::void putBooleanRef (boolean))
+      (com.ms.com.Variant::void putObjectRef (java.lang.Object))
+      (com.ms.com.Variant::void putByteRef (byte))
+      (com.ms.com.Variant::java.lang.String getString ())
+      (com.ms.com.Variant::void putString (java.lang.String))
+      (com.ms.com.Variant::float getFloatRef ())
+      (com.ms.com.Variant::long getCurrencyRef ())
+      (com.ms.com.Variant::int getErrorRef ())
+      (com.ms.com.Variant::boolean getBooleanRef ())
+      (com.ms.com.Variant::java.lang.Object getObjectRef ())
+      (com.ms.com.Variant::byte getByteRef ())
+      (com.ms.com.Variant::float toFloat ())
+      (com.ms.com.Variant::void putCharArray (java.lang.Object))
+      (com.ms.com.Variant::void putDispatchRef (java.lang.Object))
+      (com.ms.com.Variant::java.lang.Object getDispatchRef ())
+      (com.ms.com.Variant::void putVariantArrayRef (com.ms.com.Variant[]))
+      (com.ms.com.Variant::com.ms.com.Variant[] getVariantArrayRef ())
+      (com.ms.com.Variant::void changeType (unsigned short))
+      (com.ms.com.Variant::void ncloneIndirect (com.ms.com.Variant))
+      (com.ms.com.Variant::void nFinalize (boolean))
+      (com.ms.com.Variant::void nclone (com.ms.com.Variant))
+      (com.ms.com.Variant::unsigned short toShort ())
+      (com.ms.com.Variant::void putSafeArrayRefHelper (int))
+      (com.ms.com.Variant::com.ms.com.Variant[] toVariantArray ())
+      (com.ms.com.Variant::java.lang.Object toByteArray ())
+      (com.ms.com.Variant::void TrueVariantClear ())
+      (com.ms.awt.WToolkit::boolean MessageBeep (int))
+      (com.ms.applet.AppletPanel::boolean StartCodeDownload (int java.lang.String java.lang.String java.lang.String))
+      (com.ms.applet.AppletPanel::void securedCall0 (int java.lang.Object))
+      (com.ms.applet.AppletPanel::com.ms.security.PermissionSet getDefaultPermissionsFromLoader (com.ms.vm.loader.URLClassLoader))
+      (com.ms.dll.Win32Exception::int FormatMessage (int int int int java.lang.StringBuffer int int[]))
+      (com.ms.awt.WGuiCallback::boolean SetEvent (int))
+      (com.ms.awt.WGuiCallback::int CreateSemaphore (int int int int))
+      (com.ms.awt.WGuiCallback::int ReleaseSemaphore (int int int))
+      (com.ms.awt.WGuiCallback::void userYield (boolean))
+      (com.ms.awt.WGuiCallback::int MsgWaitForMultipleObjects (int int[] boolean int int))
+      (com.ms.awt.WGuiCallback::int CreateEvent (int boolean boolean int))
+      (com.ms.activeX.ActiveXToolkit::int GetSysColor (int))
+      (com.ms.awt.peer.NativeGraphics::void setPageDimension (int int))
+      (com.ms.awt.peer.NativeGraphics::void setBkColour (int int))
+      (com.ms.awt.peer.NativeGraphics::void getClipBounds (com.ms.awt.peer.NativeRect int int))
+      (com.ms.awt.peer.NativeGraphics::void pGetCharOutline (int byte[]))
+      (com.ms.awt.peer.NativeGraphics::void drawLine (int int int int))
+      (com.ms.awt.peer.NativeGraphics::void setXORMode (int int int int))
+      (com.ms.awt.peer.NativeGraphics::int drawString (java.lang.String int int int int int int int int[] int[]))
+      (com.ms.awt.peer.NativeGraphics::int getCoClass ())
+      (com.ms.awt.peer.NativeGraphics::void drawArc (int int int int int int int))
+      (com.ms.awt.peer.NativeGraphics::void getInitialPageDimension (com.ms.awt.peer.NativeRect))
+      (com.ms.awt.peer.NativeGraphics::void setVisRgn (int))
+      (com.ms.awt.peer.NativeGraphics::void pSetForeground (int int))
+      (com.ms.awt.peer.NativeGraphics::int pGetDC ())
+      (com.ms.awt.peer.NativeGraphics::void drawPixels (int[] int int int))
+      (com.ms.awt.peer.NativeGraphics::void drawPolygon (int[] int[] int int int int))
+      (com.ms.awt.peer.NativeGraphics::void createFromImage (com.ms.awt.peer.INativeImage))
+      (com.ms.awt.peer.NativeGraphics::void endPage ())
+      (com.ms.awt.peer.NativeGraphics::int pGetCharOutlineSize (int))
+      (com.ms.awt.peer.NativeGraphics::void pDrawBezier (int int int[] int))
+      (com.ms.awt.peer.NativeGraphics::int drawBytes (byte[] int int int int int))
+      (com.ms.awt.peer.NativeGraphics::void changeClip (int int int int boolean))
+      (com.ms.awt.peer.NativeGraphics::int drawChars (char[] int int int int int int int int int int[] int[]))
+      (com.ms.awt.peer.NativeGraphics::void drawT2Curve (float float float float float float int int))
+      (com.ms.awt.peer.NativeGraphics::void createFromPrintJob (java.lang.String com.ms.awt.peer.SPJData))
+      (com.ms.awt.peer.NativeGraphics::void endPrintJob ())
+      (com.ms.awt.peer.NativeGraphics::void pSetOrigin (int int))
+      (com.ms.awt.peer.NativeGraphics::void createFromHDC (int))
+      (com.ms.awt.peer.NativeGraphics::void drawOval (int int int int int))
+      (com.ms.awt.peer.NativeGraphics::int pSetFont (java.lang.String int int int))
+      (com.ms.awt.peer.NativeGraphics::void setPaintMode (int int))
+      (com.ms.awt.peer.NativeGraphics::void startPage ())
+      (com.ms.awt.peer.NativeGraphics::void clearClip ())
+      (com.ms.awt.peer.NativeGraphics::void createFromCopy (com.ms.awt.peer.INativeGraphics))
+      (com.ms.awt.peer.NativeGraphics::void scanLines (int int[] int int int int))
+      (com.ms.awt.peer.NativeGraphics::void drawRoundRect (int int int int int int int))
+      (com.ms.awt.peer.NativeGraphics::void dispose ())
+      (com.ms.awt.peer.NativeGraphics::void clearRect (int int int int int))
+      (com.ms.awt.peer.NativeGraphics::void copyArea (int int int int int int))
+      (com.ms.awt.peer.NativeGraphics::void createFromWindow (int))
+      (com.ms.awt.peer.NativeGraphics::void drawPolyline (int[] int[] int int int))
+      (com.ms.awt.peer.NativeGraphics::void drawRect (int int int int int))
+      (com.ms.awt.peer.CToolkit::void callbackEventLoop (com.ms.awt.peer.IToolkitCallback))
+      (com.ms.awt.peer.CToolkit::int getToolkitHwnd ())
+      (com.ms.awt.peer.CToolkit::int createCompHwnd (int int))
+      (com.ms.awt.peer.CNativeSystemIME::void setCompositionFont (int int))
+      (com.ms.awt.peer.CNativeSystemIME::void setCompositionPos (int int int))
+      (com.ms.awt.peer.CNativeSystemIME::void setOpenStatus (int int))
+      (com.ms.awt.peer.CNativeSystemIME::int getOpenStatus (int))
+      (com.ms.awt.peer.CNativeSystemIME::java.lang.String getCompositionString (int))
+      (com.ms.awt.peer.CNativeSystemIME::java.lang.String getCompositionResultString (int))
+      (com.ms.net.wininet.WininetStreamHandlerFactory::int initNative (java.lang.String))
+      (com.ms.com.SafeArray::void rawGetVariantAs (int com.ms.com.Variant))
+      (com.ms.com.SafeArray::void NSafeArrayInit (int))
+      (com.ms.com.SafeArray::float rawGetDouble (int))
+      (com.ms.com.SafeArray::void NRawBoolCopyToJavaArray (int int boolean[] int))
+      (com.ms.com.SafeArray::void validateArray (int))
+      (com.ms.com.SafeArray::void NSafeArrayCreateFromString (java.lang.String))
+      (com.ms.com.SafeArray::void rawSetString (int java.lang.String))
+      (com.ms.com.SafeArray::int getInt (int))
+      (com.ms.com.SafeArray::void setInt (int int))
+      (com.ms.com.SafeArray::boolean getBoolean (int))
+      (com.ms.com.SafeArray::void setBoolean (int boolean))
+      (com.ms.com.SafeArray::int computeOffset (int))
+      (com.ms.com.SafeArray::void NSafeArrayNullInit ())
+      (com.ms.com.SafeArray::void rawSetVariant (int com.ms.com.Variant))
+      (com.ms.com.SafeArray::float rawGetFloat (int))
+      (com.ms.com.SafeArray::float getFloat (int))
+      (com.ms.com.SafeArray::void setFloat (int float))
+      (com.ms.com.SafeArray::int computeOffset2 (int int))
+      (com.ms.com.SafeArray::void rawSetDouble (int double))
+      (com.ms.com.SafeArray::java.lang.String asString ())
+      (com.ms.com.SafeArray::void NRawCopyToJavaArray (int int java.lang.Object int))
+      (com.ms.com.SafeArray::void NSafeArrayCreate (int int int[] int[]))
+      (com.ms.com.SafeArray::void NRawBoolCopyFromJavaArray (boolean[] int int int))
+      (com.ms.com.SafeArray::void NSafeArrayDestroy (boolean boolean))
+      (com.ms.com.SafeArray::int NSafeArrayCopy ())
+      (com.ms.com.SafeArray::int rawGetInt (int))
+      (com.ms.com.SafeArray::boolean rawGetBoolean (int))
+      (com.ms.com.SafeArray::void rawSetFloat (int float))
+      (com.ms.com.SafeArray::java.lang.String rawGetString (int))
+      (com.ms.com.SafeArray::int NTotalNumElems ())
+      (com.ms.com.SafeArray::double getDouble (int))
+      (com.ms.com.SafeArray::void setDouble (int double))
+      (com.ms.com.SafeArray::void Nreinit (com.ms.com.SafeArray))
+      (com.ms.com.SafeArray::int getPhysicalSafeArray ())
+      (com.ms.com.SafeArray::int NgetdwordAt (int))
+      (com.ms.com.SafeArray::void NRawCopyFromJavaArray (java.lang.Object int int int))
+      (com.ms.com.SafeArray::void rawSetBoolean (int boolean))
+      (com.ms.com.SafeArray::void rawSetInt (int int))
+      (com.ms.awt.peer.CNativeComponent::void invalidate (int int int int))
+      (com.ms.awt.peer.CNativeComponent::void hideModal ())
+      (com.ms.awt.peer.CNativeComponent::void hide ())
+      (com.ms.awt.peer.CNativeComponent::void setOnTop (int))
+      (com.ms.awt.peer.CNativeComponent::void registerDragDrop ())
+      (com.ms.awt.peer.CNativeComponent::void endValidate ())
+      (com.ms.awt.peer.CNativeComponent::void enable ())
+      (com.ms.awt.peer.CNativeComponent::void disable ())
+      (com.ms.awt.peer.CNativeComponent::void setTitle (java.lang.String))
+      (com.ms.awt.peer.CNativeComponent::void getBounds (com.ms.awt.peer.NativeRect))
+      (com.ms.awt.peer.CNativeComponent::int gethwnd ())
+      (com.ms.awt.peer.CNativeComponent::void showModal ())
+      (com.ms.awt.peer.CNativeComponent::void setCursor (int))
+      (com.ms.awt.peer.CNativeComponent::void reshape (int int int int))
+      (com.ms.awt.peer.CNativeComponent::void requestFocus ())
+      (com.ms.awt.peer.CNativeComponent::void callDefWindowProc (int int int int))
+      (com.ms.awt.peer.CNativeComponent::void registerCustomDropTarget (com.ms.com.IUnknown))
+      (com.ms.awt.peer.CNativeComponent::void setNoActivate (boolean))
+      (com.ms.awt.peer.CNativeComponent::void getPlaceOnScreen (com.ms.awt.peer.NativeRect))
+      (com.ms.awt.peer.CNativeComponent::void beginValidate ())
+      (com.ms.awt.peer.CNativeComponent::void clippedReshape (int int int int int))
+      (com.ms.awt.peer.CNativeComponent::void setResizable (boolean))
+      (com.ms.awt.peer.CNativeComponent::void setIcon (int))
+      (com.ms.awt.peer.CNativeComponent::void toBack ())
+      (com.ms.awt.peer.CNativeComponent::void setFrameHost (com.ms.awt.peer.IBrowserAppletFrameCallback))
+      (com.ms.awt.peer.CNativeComponent::void toFront ())
+      (com.ms.awt.peer.CNativeComponent::void show ())
+      (com.ms.awt.peer.CNativeComponent::void updateInsets (com.ms.awt.peer.NativeInsets))
+      (com.ms.awt.peer.CNativeComponent::void dispose ())
+      (com.ms.awt.peer.CNativeComponent::void initFromJavaWindow (int com.ms.awt.peer.IComponentCallback com.ms.awt.peer.INativeComponent com.ms.awt.peer.IToolkit int))
+      (com.ms.awt.peer.CNativeComponent::void init (int com.ms.awt.peer.IComponentCallback com.ms.awt.peer.INativeComponent com.ms.awt.peer.IToolkit))
+      (com.ms.awt.peer.CNativeComponent::void beginDrag (com.ms.awt.peer.INativeDragCallback))
+      (com.ms.fx.RegionConverter::int computeNativeRegion (int[]))
+      (com.ms.fx.RegionConverter::int[] computeJavaRegion (int))
+      (com.ms.net.wininet.URLUtils::java.lang.String canonicalizeURL (java.lang.String int))
+      (com.ms.net.wininet.URLUtils::java.lang.String combineURL (java.lang.String java.lang.String int))
+      (com.ms.awt.peer.NativeFontMetrics::int bytesWidth (byte[] int int))
+      (com.ms.awt.peer.NativeFontMetrics::int stringWidth (java.lang.String int int[]))
+      (com.ms.awt.peer.NativeFontMetrics::int charsWidth (char[] int int int int[]))
+      (com.ms.awt.peer.NativeFontMetrics::java.lang.String init (com.ms.awt.peer.INativeGraphics int[] java.lang.String int int int))
+      (com.ms.io.console.Console::int MessageBox (int java.lang.String java.lang.String int))
+      (com.ms.awt.peer.NativeFileDialog::void show (com.ms.awt.peer.IFileDialogCallback java.lang.String java.lang.String java.lang.String int com.ms.awt.peer.INativeComponent int int))
+      (com.ms.security.management.SecurityZone::byte[] pLoadCustomPermissions (int int java.lang.String))
+      (com.ms.awt.peer.NativeImage::int setBytePixelsDirected (int int int int com.ms.awt.peer.DirectColourModelData byte[] int int com.ms.awt.peer.INativeImageBufferDone))
+      (com.ms.awt.peer.NativeImage::void create (int int int int))
+      (com.ms.awt.peer.NativeImage::int setIntPixelsIndexed (int int int int int[] int int[] int int com.ms.awt.peer.INativeImageBufferDone))
+      (com.ms.awt.peer.NativeImage::int getCoClass ())
+      (com.ms.awt.peer.NativeImage::int getIcon (int int int))
+      (com.ms.awt.peer.NativeImage::int setBytePixelsIndexed (int int int int int[] int byte[] int int com.ms.awt.peer.INativeImageBufferDone))
+      (com.ms.awt.peer.NativeImage::void sendPixels (com.ms.awt.peer.SPData))
+      (com.ms.awt.peer.NativeImage::void fillPixels (com.ms.awt.peer.SPData byte[]))
+      (com.ms.awt.peer.NativeImage::void dispose ())
+      (com.ms.awt.peer.NativeImage::void init (int int int int int))
+      (com.ms.awt.peer.NativeImage::int setIntPixelsDirected (int int int int com.ms.awt.peer.DirectColourModelData int[] int int com.ms.awt.peer.INativeImageBufferDone))
+      (com.ms.awt.peer.NativeImage::void imageDrawStretched (com.ms.awt.peer.INativeGraphics int int int int int int int int int int))
+      (com.ms.awt.peer.NativeImage::int finish (int))
+      (com.ms.awt.peer.NativeImage::void imageDraw (int int int int int))
+      (com.ms.awt.peer.NativeResource::java.lang.String loadString (int))
+      (com.ms.awt.peer.NativeResource::int openDialogFromID (int))
+      (com.ms.awt.peer.NativeResource::boolean attach (java.lang.String))
+      (com.ms.awt.peer.NativeResource::void loadBytes (int int java.lang.String byte[] int))
+      (com.ms.awt.peer.NativeResource::int getSize (int int java.lang.String))
+      (com.ms.awt.peer.NativeResource::void detach ())
+      (com.ms.awt.peer.NativeResource::int openDialogFromName (java.lang.String))
+      (com.ms.net.wininet.WininetURLConnection::com.ms.applet.BrowserAppletFrame findOfflineContext ())
+      (com.ms.com.DispatchProxy::void finalize ())
+      (com.ms.com.DispatchProxy::void init (com.ms.com._Guid java.lang.reflect.Method[] int[]))
+      (com.ms.net.wininet.WininetInputStream::void close ())
+      (com.ms.net.wininet.WininetInputStream::int read (byte[] int int))
+      (com.ms.net.wininet.WininetInputStream::int available ())
+      (com.ms.net.wininet.WininetInputStream::long skip (long))
+      (com.ms.net.wininet.WininetInputStream::void connect (java.lang.String boolean boolean java.lang.SecurityManager))
+      (com.ms.vm.loader.CabSignatureInfo::com.ms.vm.loader.CabSignatureInfo extractFromFile0 (java.lang.String com.ms.security.management.SecurityPolicy))
+      (com.ms.net.wininet.http.HttpInputStream::byte[] getResponseHeaders ())
+      (com.ms.net.wininet.http.HttpInputStream::void close0 ())
+      (com.ms.net.wininet.http.HttpInputStream::void connect (java.lang.String int java.lang.String boolean boolean boolean boolean byte[] byte[] java.lang.SecurityManager))
+      (com.ms.vm.loader.CabCracker::int GetTempFileName (java.lang.StringBuffer java.lang.String int java.lang.StringBuffer))
+      (com.ms.vm.loader.CabCracker::void getBytes0 (int int byte[]))
+      (com.ms.vm.loader.CabCracker::void cleanup ())
+      (com.ms.vm.loader.CabCracker::int GetTempPath (int java.lang.StringBuffer))
+      (com.ms.vm.loader.CabCracker::void load0 ())
+
+
 "
 
 !
@@ -467,10 +1033,14 @@
 
     "
 "
-                    caffmark  loopmark  logicmark  sievemark  methodmark  stringmark  newstringmark  neweststringmark
-   P6/233 No JIT                 84         87        90          40          22           17              10
-   P6/233 JIT                   479       2459       393         649          28           21              12
-   P6/233 JIT         473      1805       3046       439         986          28           21              12
+                    caffmark  loopmark  logicmark  sievemark  methodmark  stringmark  float  image  graphic newstringmark  neweststringmark
+ linux:
+   P6/233 No JIT                 84         87        90          40          22                                17              10
+   P6/233 JIT                   479       2459       393         649          28                                21              12
+   P6/233 JIT         473      1805       3046       439         986          28                                21              12
+
+ w95
+   P5/200 JIT          90        95         90        95         686          18        60     54      7
 "
 
 !
@@ -810,10 +1380,18 @@
 
                            "/ KAVA ... 
                         '__builtIn__/agent'
+
+                           "/ MS-java ... 
+                        '__builtIn__/msawt'
+                        '__builtIn__/javart'
                       ).
 
+    "
+     self initializeSimulatedLibs
+    "
+
     "Created: / 4.1.1998 / 19:05:03 / cg"
-    "Modified: / 11.11.1998 / 15:02:14 / cg"
+    "Modified: / 17.11.1998 / 23:53:02 / cg"
 !
 
 initializeSimulatedNativeLibs
@@ -1428,23 +2006,26 @@
     |standardGroup threadClass|
 
     StandardThreadGroup isNil ifTrue:[
-	threadClass := Java at:'java.lang.Thread'.
-
-	standardGroup := (Java at:'java.lang.ThreadGroup') new.
-	standardGroup instVarNamed:'parent'      put:nil.
-	standardGroup instVarNamed:'name'        put:(Java as_String:'main').
-	standardGroup instVarNamed:'maxPriority' put:(threadClass instVarNamed:'MAX_PRIORITY').
-	standardGroup instVarNamed:'destroyed'   put:0.
-	standardGroup instVarNamed:'daemon'      put:nil.
-	standardGroup instVarNamed:'vmAllowSuspension' put:0.
-	standardGroup instVarNamed:'nthreads'    put:0.
-	standardGroup instVarNamed:'ngroups'     put:0.
-	standardGroup instVarNamed:'groups'      put:nil.
-	StandardThreadGroup := standardGroup.
+        threadClass := Java at:'java.lang.Thread'.
+
+        standardGroup := (Java at:'java.lang.ThreadGroup') new.
+        standardGroup instVarNamed:'parent'      put:nil.
+        standardGroup instVarNamed:'name'        put:(Java as_String:'main').
+        standardGroup instVarNamed:'maxPriority' put:(threadClass instVarNamed:'MAX_PRIORITY').
+        standardGroup instVarNamed:'destroyed'   put:0.
+        standardGroup instVarNamed:'daemon'      put:nil.
+        (standardGroup class instVarOffsetOf:'vmAllowSuspension') notNil ifTrue:[
+            standardGroup instVarNamed:'vmAllowSuspension' put:0.
+        ].
+        standardGroup instVarNamed:'nthreads'    put:0.
+        standardGroup instVarNamed:'ngroups'     put:0.
+        standardGroup instVarNamed:'groups'      put:nil.
+        StandardThreadGroup := standardGroup.
     ].
     ^ StandardThreadGroup
 
     "Created: / 3.1.1998 / 01:41:54 / cg"
+    "Modified: / 17.11.1998 / 22:55:30 / cg"
 !
 
 wakeup:anObject
@@ -4666,7 +5247,7 @@
                           Object abortSignal handle:[:ex |
                             procName := stProcess name.
                             ('JAVA: thread ' , procName , ' aborted - restarting process.') infoPrintCR.
-                            ex restart.
+                            "/ ex restart.
                           ] do:[ 
                             [
                                 JavaVM javaExceptionSignal handle:[:ex |
@@ -4725,7 +5306,7 @@
     ^ nil
 
     "Created: / 3.1.1998 / 02:05:52 / cg"
-    "Modified: / 22.10.1998 / 01:37:56 / cg"
+    "Modified: / 17.11.1998 / 23:01:17 / cg"
 !
 
 _Thread_stop0:nativeContext
@@ -5037,6 +5618,41 @@
     "Created: / 27.1.1998 / 19:53:50 / cg"
 ! !
 
+!JavaVM class methodsFor:'native - java.lang - ms'!
+
+_Runtime_setInputStreamLocalised:nativeContext
+
+    "Created: / 18.11.1998 / 00:48:24 / cg"
+    "Modified: / 18.11.1998 / 00:55:01 / cg"
+!
+
+_Runtime_setOutputStreamLocalised:nativeContext
+
+    "Created: / 18.11.1998 / 00:50:15 / cg"
+    "Modified: / 18.11.1998 / 00:55:06 / cg"
+!
+
+_String_equals:nativeContext
+    |jString1 jString2|
+
+    jString1 := nativeContext receiver.
+    jString2 := nativeContext argAt:1.
+    ^ (jString1 instVarAt:1) = (jString2 instVarAt:1)
+
+    "Created: / 18.11.1998 / 00:52:03 / cg"
+    "Modified: / 18.11.1998 / 00:53:01 / cg"
+!
+
+_String_length:nativeContext
+    |jString|
+
+    jString := nativeContext receiver.
+    ^ (jString instVarAt:3)
+
+    "Created: / 18.11.1998 / 00:53:50 / cg"
+    "Modified: / 18.11.1998 / 00:54:18 / cg"
+! !
+
 !JavaVM class methodsFor:'native - java.math'!
 
 _BigInteger_plumbInit:nativeContext
@@ -5369,6 +5985,83 @@
     "Modified: / 4.2.1998 / 15:52:40 / cg"
 ! !
 
+!JavaVM class methodsFor:'native - java.net - ms'!
+
+_ClassLoader_findSystemClass:nativeContext
+    ^ self _ClassLoader_findSystemClass0:nativeContext
+
+    "Created: / 18.11.1998 / 00:00:14 / cg"
+!
+
+_InetAddress_getInetFamily:nativeContext
+    "/ self unimplementedNativeMethod.
+    ^ 0
+
+    "Modified: / 15.8.1997 / 17:04:43 / cg"
+    "Created: / 17.11.1998 / 23:54:38 / cg"
+!
+
+_InetAddress_getLocalHostName:nativeContext
+    ""
+
+    |hostName|
+
+    hostName := OperatingSystem getHostName.
+
+    ^ (Java as_String:hostName).
+
+    "Modified: / 7.8.1997 / 21:16:55 / cg"
+    "Created: / 17.11.1998 / 23:54:54 / cg"
+!
+
+_InetAddress_lookupAllHostAddr:nativeContext
+    ""
+
+    |jAddrImpl jHostName hostName addrBytes|
+
+    jAddrImpl := nativeContext receiver.
+    jHostName := nativeContext argAt:1.
+
+    hostName := Java as_ST_String:jHostName.
+    addrBytes := Socket ipAddressOfHost:hostName.
+    addrBytes isNil ifTrue:[
+        addrBytes := #[0 0 0 0] copy
+    ].
+    ^ Array with:addrBytes
+
+    "Modified: / 8.8.1997 / 12:04:25 / cg"
+    "Created: / 17.11.1998 / 23:56:10 / cg"
+!
+
+_InetAddress_makeAnyLocalAddress:nativeContext
+    ""
+
+    |jAddrImpl jAddr hostName addrBytes address|
+
+    jAddrImpl := nativeContext receiver.
+    jAddr := nativeContext argAt:1.
+
+    hostName := OperatingSystem getHostName.
+    addrBytes := Socket ipAddressOfHost:hostName.
+    addrBytes isNil ifTrue:[
+        addrBytes := #[127 0 0 0].
+    ].
+    "/ MSB first into an integer.
+    address := (addrBytes at:1).
+    address := (address bitShift:8) bitOr:(addrBytes at:2).
+    address := (address bitShift:8) bitOr:(addrBytes at:3).
+    address := (address bitShift:8) bitOr:(addrBytes at:4).
+
+    jAddr instVarNamed:'hostName' put:(Java as_String:hostName).
+    jAddr instVarNamed:'address' put:address.
+    jAddr instVarNamed:'family' put:0.
+
+    ^ nil
+
+    "Modified: / 21.10.1998 / 03:30:29 / cg"
+    "Created: / 17.11.1998 / 23:54:00 / cg"
+! !
+
 !JavaVM class methodsFor:'native - java.utils'!
 
 _ResourceBundle_getClassContext:nativeContext
@@ -6171,6 +6864,12 @@
     "Created: / 28.1.1998 / 22:22:30 / cg"
 !
 
+_MComponentPeer_pHide:nativeContext
+    ^ self _WComponentPeer_hide:nativeContext
+
+    "Created: / 18.11.1998 / 00:15:18 / cg"
+!
+
 _MComponentPeer_pInitialize:nativeContext
 
     "Created: / 28.1.1998 / 22:27:25 / cg"
@@ -6218,6 +6917,35 @@
 
 !JavaVM class methodsFor:'native - sun.awt.windows'!
 
+_MComponentPeer_handleEvent:nativeContext
+    ^ self _WComponentPeer_handleEvent:nativeContext
+
+    "Created: / 18.11.1998 / 00:21:17 / cg"
+!
+
+_MComponentPeer_pShow:nativeContext
+    |view|
+
+    view := self viewForWPeer:nativeContext.
+
+    "/ frame views are under my browsers own control
+    (view isMemberOf:JavaEmbeddedFrameView) ifFalse:[
+        view beVisible.
+        view realize.
+    ].
+
+"/    view windowGroup notNil ifTrue:[
+"/        windowServer addGroup:(view windowGroup)
+"/    ].
+
+    ^ nil
+
+"/ self halt.
+
+    "Modified: / 25.1.1998 / 09:54:07 / cg"
+    "Created: / 18.11.1998 / 00:21:51 / cg"
+!
+
 _WButtonPeer_create:nativeContext
     |jButtonPeer jButton jFrame frame button
      lbl|
@@ -8622,6 +9350,204 @@
     "Created: / 27.1.1998 / 21:40:00 / cg"
 ! !
 
+!JavaVM class methodsFor:'native - sun.awt.windows - ms'!
+
+_MCanvasPeer_create:nativeContext
+    |jCanvasPeer jFrame frame subView|
+
+    jCanvasPeer := nativeContext receiver.
+
+    jFrame := nativeContext argAt:1.
+    jFrame isNil ifTrue:[
+        self halt:'no frame in canvasPeer create'.
+        self internalError:'no frame in canvasPeer create'.     
+        ^ self.
+    ].
+    frame := jFrame instVarNamed:'pData'.
+
+    subView := JavaView in:frame.
+    subView delegate:self.
+    subView javaPeer:jCanvasPeer.
+
+    self createdWindowsView:subView for:jCanvasPeer.
+
+    WindowCreationTrace == true ifTrue:[
+        'WCanvasPeer_create: ' print. frame print. ' -> ' print. subView printNL.
+    ].
+
+    "Modified: / 16.1.1998 / 13:40:00 / cg"
+    "Created: / 18.11.1998 / 00:14:44 / cg"
+!
+
+_MComponentPeer_pReshape:nativeContext
+    self commonReshapeComponent:nativeContext
+
+    "Created: / 18.11.1998 / 00:18:17 / cg"
+!
+
+_MComponentPeer_setBackground:nativeContext
+    |jClr rgb clr view|
+
+    view := self viewForWPeer:nativeContext.
+
+    jClr := nativeContext argAt:1.
+    rgb := jClr instVarNamed:'value'.
+"/ self halt.
+    clr := Color rgbValue:rgb.
+
+
+    clr := clr on:(view device).
+
+    (view isKindOf:ScrollableView) ifTrue:[
+        view := view scrolledView
+    ].
+    view viewBackground:clr.
+    view backgroundPaint:clr.
+
+    "Created: / 17.11.1998 / 23:49:41 / cg"
+!
+
+_MComponentPeer_setFont:nativeContext
+    |view|
+
+    view := self viewForWPeer:nativeContext.
+"/ self halt.
+
+    "Modified: / 25.1.1998 / 01:22:19 / cg"
+    "Created: / 17.11.1998 / 23:43:48 / cg"
+!
+
+_MComponentPeer_setForeground:nativeContext
+    |jClr rgb clr view|
+
+    view := self viewForWPeer:nativeContext.
+
+    jClr := nativeContext argAt:1.
+    rgb := jClr instVarNamed:'value'.
+"/ self halt.
+    clr := Color rgbValue:rgb.
+
+    clr := clr on:(view device).
+
+    view paint:clr.
+
+    "Created: / 17.11.1998 / 23:50:31 / cg"
+    "Modified: / 17.11.1998 / 23:57:29 / cg"
+!
+
+_MFramePeer_getWindowBackgroundColor:nativeContext
+    ^ View defaultViewBackgroundColor rgbValue.
+
+    "Created: / 17.11.1998 / 23:55:42 / cg"
+!
+
+_MFramePeer_pShow:nativeContext
+    |view|
+
+    view := self viewForWPeer:nativeContext.
+
+    "/ frame views are under my browsers own control
+    (view isMemberOf:JavaEmbeddedFrameView) ifFalse:[
+        view beVisible.
+        view realize.
+    ].
+
+"/    view windowGroup notNil ifTrue:[
+"/        windowServer addGroup:(view windowGroup)
+"/    ].
+
+    ^ nil
+
+"/ self halt.
+
+    "Modified: / 25.1.1998 / 09:54:07 / cg"
+    "Created: / 18.11.1998 / 00:19:59 / cg"
+!
+
+_MFramePeer_setInsets:nativeContext
+
+    "Created: / 17.11.1998 / 23:55:32 / cg"
+!
+
+_MFramePeer_setResizable:nativeContext
+    |view onOff|
+
+    view := self viewForWPeer:nativeContext.
+
+    onOff := (nativeContext argAt:1) == 1.
+    view isTopView ifTrue:[
+        onOff ifTrue:[
+            view minExtent:10@10.
+            view maxExtent:(Screen current extent).
+        ] ifFalse:[
+            view minExtent:view extent.
+            view maxExtent:view extent.
+        ]
+    ] ifFalse:[
+        (view isMemberOf:JavaEmbeddedFrameView) ifFalse:[
+            self halt.
+        ]
+    ].
+
+"/ 'JAVA: WWindowPeer_setResizable: ' print. view print. ' yes/no: ' print. onOff printNL.
+
+    ^ nil
+
+    "Modified: / 16.1.1998 / 18:08:00 / cg"
+    "Created: / 17.11.1998 / 23:51:45 / cg"
+!
+
+_MToolkit_callbackLoop:nativeContext
+    |toolKit|
+
+    toolKit := nativeContext receiver.
+^ self.
+self halt.
+    self wakeup:toolKit.
+self halt.
+
+    JavaEventThread := Processor activeProcess.
+    [
+        [true] whileTrue:[
+            AbortSignal handle:[:ex |
+                ex return
+            ] do:[
+                self doWindowsEventThread.
+            ]
+        ].
+    ] valueNowOrOnUnwindDo:[
+        JavaEventThread := nil.
+    ].
+
+    "Created: / 17.11.1998 / 23:58:33 / cg"
+    "Modified: / 18.11.1998 / 00:13:19 / cg"
+!
+
+_MToolkit_eventLoop:nativeContext
+    |toolKit|
+
+    toolKit := nativeContext receiver.
+
+    self wakeup:toolKit.
+self halt.
+
+    JavaEventThread := Processor activeProcess.
+    [
+        [true] whileTrue:[
+            AbortSignal handle:[:ex |
+                ex return
+            ] do:[
+                self doWindowsEventThread.
+            ]
+        ].
+    ] valueNowOrOnUnwindDo:[
+        JavaEventThread := nil.
+    ].
+
+    "Created: / 17.11.1998 / 23:04:29 / cg"
+    "Modified: / 18.11.1998 / 00:11:29 / cg"
+! !
+
 !JavaVM class methodsFor:'native - sun.awt.windows - ns4.0'!
 
 _WComponentPeer_setBackground:nativeContext
@@ -9411,6 +10337,6 @@
 !JavaVM class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaVM.st,v 1.72 1998/11/17 15:21:28 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaVM.st,v 1.73 1998/11/18 15:37:49 cg Exp $'
 ! !
 JavaVM initialize!