JavaVM.st
changeset 474 6e583001b16c
parent 471 ae5216f34461
child 475 9f72432385fc
--- a/JavaVM.st	Wed Dec 02 23:21:32 1998 +0000
+++ b/JavaVM.st	Wed Dec 02 23:24:00 1998 +0000
@@ -24,12 +24,13 @@
 		WindowCreationTrace EventTrace ThreadTrace MonitorTrace
 		ExceptionTrace InsnCount InsnCounts FileOpenTrace
 		FileOpenConfirmation SocketConnectConfirmation FileIOTrace
-		OpenFileTable CachedNativeMethodTable ExceptionDebug
+		OpenFileTable CachedNativeMethodTable ExceptionDebug ExitDebug
 		JavaConsoleStream StandardThreadGroup EnteredMonitorsPerProcess
 		JavaClasses JavaMethods DUMMY_LONG_HIGHWORD DUMMY_DOUBLE_HIGHWORD
 		NoAudio FirstWindowCreationSemaphore ScreenUpdaterProcess
-		PermittedDirectories O_WGgraphics_originX O_WGgraphics_originY
-		O_WGgraphics_pData O_FramePeer_pNativeWidget O_FramePeer_pData'
+		PermittedDirectories SimulatedOS O_WGgraphics_originX
+		O_WGgraphics_originY O_WGgraphics_pData O_FramePeer_pNativeWidget
+		O_FramePeer_pData'
 	poolDictionaries:''
 	category:'Java-Support'
 !
@@ -1085,8 +1086,14 @@
                     63146          55949          9302                   14899
                     62970          56085          9352     3226    4837   8779  37573  22815  33899  241297
    -O               43662          40292          7181     2530    4696   8170  34555  22116  32337  195539
+
    +IALOAD          39162          36347
    +IASTORE         32461          30663          4299             3667                19556  30563  166868
+
+   -IALOAD/IASTORE
+                                                                                34167  19347
+                                                                                       19232  29726  
+                                                                                       18821
 ------------------------------------------------------------------------------------------------------------
 
    Sun JDK         274625         244461         52676    50653   65183  26668  78133  28572  61608  882583
@@ -1227,7 +1234,7 @@
     FullExceptionTrace := StackTrace := false.
     WindowOPTrace := DrawOPTrace := EventTrace := ThreadTrace := false.
     MonitorTrace := ExceptionTrace := FileOpenTrace := FileIOTrace := false.
-    ExceptionDebug := false.
+    ExceptionDebug := ExitDebug := false.
     WindowCreationTrace := false.
 
     FileOpenConfirmation := true.
@@ -1270,7 +1277,7 @@
     "
 
     "Created: / 2.1.1998 / 18:02:34 / cg"
-    "Modified: / 19.10.1998 / 16:01:25 / cg"
+    "Modified: / 2.12.1998 / 23:02:22 / cg"
 !
 
 initializeAdditionalJavaProtocol
@@ -1482,8 +1489,12 @@
     cpu = 'i386' ifTrue:[
         cpu := 'ix86'
     ].
-    os := OperatingSystem getOSType.
-    os := os asUppercaseFirst.
+    SimulatedOS := 'Solaris' notNil ifTrue:[
+        os := SimulatedOS
+    ] ifFalse:[
+        os := OperatingSystem getOSType.
+        os := os asUppercaseFirst.
+    ].
 
     props at:'java.version'       put:'1'.
     props at:'java.vendor'        put:'eXept Software AG'.
@@ -1503,7 +1514,6 @@
 
     props at:'awt.toolkit'        put:(self defaultWindowingToolKit).
 
-    props at:'jws.home'           put:(self defaultJWSHome).
     props at:'hotjava.home'       put:(self defaultHotJavaHome).
 
     "/ undocumented ?
@@ -1513,10 +1523,14 @@
     props at:'appletviewer.version' put:'1.1'.
 
     "/ new with jdk 1.2
-
     props at:'java.awt.graphicsenv' put:'sun.awt.X11GraphicsEnvironment'.
     props at:'java.awt.fonts'       put:'/usr/lib/X11/fonts'.
 
+    "/ jws
+    props at:'jws.home'             put:(self defaultJWSHome).
+    "/ new with jws 2.0 ...
+    props at:'jws.startcmd'         put:'jws.showwin.mainide'.
+
     ^ props
 
     "
@@ -1524,7 +1538,7 @@
     "
 
     "Created: / 3.1.1998 / 14:26:39 / cg"
-    "Modified: / 17.10.1998 / 21:52:54 / cg"
+    "Modified: / 2.12.1998 / 23:09:13 / cg"
 !
 
 initializeVM
@@ -1861,10 +1875,14 @@
 !
 
 defaultJWSHome
+    '/phys/idefix/home2/java/JWS2_0/Java-WorkShop2.0/JWS' asFilename exists ifTrue:[
+        ^ 'phys/idefix/home2/java/JWS2_0/Java-WorkShop2.0/JWS'
+    ].
+
     ^ '/usr/local/java/JWS'.
 
-    "Modified: / 5.8.1997 / 04:14:34 / cg"
     "Created: / 3.1.1998 / 14:27:42 / cg"
+    "Modified: / 2.12.1998 / 23:10:08 / cg"
 !
 
 defaultWindowingToolKit
@@ -4837,6 +4855,10 @@
 
     |enteredMonitors|
 
+    ExitDebug == true ifTrue:[
+        self halt:'Java code called exit'.
+    ].
+
     (enteredMonitors := self enteredMonitors) size > 0 ifTrue:[
         enteredMonitors do:[:handle | 
             | mon |
@@ -4861,7 +4883,7 @@
     self halt.
 
     "Created: / 7.1.1998 / 22:48:51 / cg"
-    "Modified: / 3.2.1998 / 16:13:39 / cg"
+    "Modified: / 2.12.1998 / 23:03:18 / cg"
 !
 
 _Runtime_freeMemory:nativeContext
@@ -7429,14 +7451,22 @@
 
     view := self viewForWPeer:nativeContext.
     view notNil ifTrue:[
-        (view isKindOf:JavaView) ifFalse:[
-            jEv := nativeContext argAt:1.
-            stEv := jEv instVarNamed:'data'.
-            (stEv notNil and:[stEv ~~ 0]) ifTrue:[
+        jEv := nativeContext argAt:1.
+        stEv := jEv instVarNamed:'data'.
+        (stEv notNil and:[stEv ~~ 0]) ifTrue:[
+            (view isKindOf:JavaView) ifFalse:[
+"/                view isTopView ifTrue:[
+"/                    stEv isFocusEvent ifFalse:[
+"/                        stEv isPointerEnterLeaveEvent ifFalse:[
+"/                            self halt.
+"/                        ]
+"/                    ]
+"/                ].
+
                 EventTrace == true ifTrue:[
                     ('JAVA: WComponent - handleEvent: ' , stEv type , ' for ' , view printString) infoPrintCR.
                 ].
-                stEv sendEventWithFocusOn:nil.
+                view dispatchEvent:stEv. 
                 ^ self.
             ]
         ]
@@ -7446,7 +7476,7 @@
     ]
 
     "Created: / 6.1.1998 / 21:10:17 / cg"
-    "Modified: / 6.2.1998 / 00:54:42 / cg"
+    "Modified: / 3.12.1998 / 00:20:53 / cg"
 !
 
 _WComponentPeer_hide:nativeContext
@@ -7869,7 +7899,7 @@
 !
 
 _WFramePeer_create:nativeContext
-    |jFramePeer jFrame frame pDataIdx|
+    |jFramePeer jFrame top frame pDataIdx|
 
     jFramePeer := nativeContext receiver.
 
@@ -7903,9 +7933,24 @@
             jFramePeer class name infoPrintCR.
         ].
     ] ifFalse:[
-        frame := StandardSystemView new.
+"/ OLD
+"/        frame := StandardSystemView new.
+"/        self createdWindowsView:frame for:jFramePeer.
+"/        JavaWindowGroup addTopView:frame.
+
+        frame := JavaTopView new.
+        frame delegate:self.
+        frame javaPeer:jFramePeer.
         self createdWindowsView:frame for:jFramePeer.
         JavaWindowGroup addTopView:frame.
+
+"/        top := StandardSystemView new.
+"/        frame := JavaView origin:0.0@0.0 corner:1.0@1.0 in:top.
+"/        frame delegate:self.
+"/        frame javaPeer:jFramePeer.
+"/        self createdWindowsView:frame for:jFramePeer.
+"/        JavaWindowGroup addTopView:top.
+        
     ].
 
     WindowCreationTrace == true ifTrue:[
@@ -7914,7 +7959,7 @@
     ].
 
     "Created: / 4.1.1998 / 17:56:39 / cg"
-    "Modified: / 6.2.1998 / 02:29:00 / cg"
+    "Modified: / 3.12.1998 / 00:10:21 / cg"
 !
 
 _WFramePeer_setMenuBar0:nativeContext
@@ -10220,7 +10265,8 @@
 
     (type == #terminate) ifTrue:[
         jWindowEventClass := Java classForName:'java.awt.event.WindowEvent'.
-        id := (jWindowEventClass instVarNamed:'WINDOW_CLOSED').
+        id := (jWindowEventClass instVarNamed:'WINDOW_CLOSING').
+"/OLD        id := (jWindowEventClass instVarNamed:'WINDOW_CLOSED').
         jEv := jWindowEventClass newCleared "basicNew".
         jEv instVarNamed:'id'        put:id.
         ^ Array with:jEv.
@@ -10232,7 +10278,7 @@
     ^ nil.
 
     "Created: / 6.1.1998 / 20:38:58 / cg"
-    "Modified: / 25.11.1998 / 20:35:06 / cg"
+    "Modified: / 3.12.1998 / 00:08:25 / cg"
 !
 
 doWindowsEventThread
@@ -10305,7 +10351,7 @@
     v := event view.
     jWinPeer := self jPeerForView:v.
     jWinPeer isNil ifTrue:[
-        (v isKindOf:JavaView) ifTrue:[
+        ((v isKindOf:JavaView) or:[v isKindOf:JavaTopView]) ifTrue:[
             "/ mhmh - an event for a JavaView,
             "/ which has no peer (anyMore ?)
             "/ should not happen.
@@ -10364,7 +10410,7 @@
     "/ selectively filter exposeEvents from Java ...
 
     eventConsumed := false.
-    v class == JavaView ifTrue:[
+    (v class == JavaView or:[v class == JavaTopView]) ifTrue:[
         "/ all events handled by Java ...
     ] ifFalse:[
         eventConsumed := true.
@@ -10441,12 +10487,12 @@
     ^ false
 
     "Created: / 6.1.1998 / 20:36:36 / cg"
-    "Modified: / 12.11.1998 / 16:30:09 / cg"
+    "Modified: / 2.12.1998 / 23:50:38 / cg"
 ! !
 
 !JavaVM class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaVM.st,v 1.83 1998/11/28 18:30:14 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaVM.st,v 1.84 1998/12/02 23:24:00 cg Exp $'
 ! !
 JavaVM initialize!