checkin from browser
authorcg
Thu, 15 Jul 1999 00:52:40 +0000
changeset 586 55ea33ab322a
parent 585 86a82df9473c
child 587 131f0c4afb89
checkin from browser
JavaVM.st
--- a/JavaVM.st	Thu Jul 15 00:28:15 1999 +0000
+++ b/JavaVM.st	Thu Jul 15 00:52:40 1999 +0000
@@ -10970,12 +10970,19 @@
 !JavaVM class methodsFor:'vm support'!
 
 _ARRAYLENGTH:arr
+    arr isNil ifTrue:[
+        self halt:'should not happen'.
+        self throwNullPointerException.
+    ].
     ^ arr size
 
     "Created: / 8.1.1999 / 14:38:27 / cg"
 !
 
 _ATHROW:aJavaException
+    aJavaException isNil ifTrue:[
+        self halt:'cannot happen'
+    ].
     self throwException:aJavaException.
 
     "Created: / 8.1.1999 / 14:15:36 / cg"
@@ -11343,16 +11350,18 @@
 _MONITORENTER:someObject
     |mon thisProcess|
 
+    someObject isNil ifTrue:[
+        self throwNullPointerException.
+        self halt.
+        ^ self
+    ].
+
     self syncMonitorCache.
 
     LeftMonitorObject := nil.
 
     thisProcess := Processor activeProcess.
 
-    someObject isNil ifTrue:[
-        self halt
-    ].
-
     mon := self monitorFor:someObject.
 
     MonitorTrace ifTrue:[
@@ -11372,14 +11381,16 @@
 _MONITOREXIT:someObject
     |mon thisProcess wasBlocked lastMon|
 
+    someObject isNil ifTrue:[
+        self throwNullPointerException.
+        self halt.
+        ^ self
+    ].
+
     self syncMonitorCache.
 
     thisProcess := Processor activeProcess.
 
-    someObject isNil ifTrue:[
-        self halt
-    ].
-
     mon := self monitorFor:someObject.
 
     MonitorTrace ifTrue:[
@@ -12030,6 +12041,6 @@
 !JavaVM class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaVM.st,v 1.154 1999/07/15 00:28:15 cg Exp $'
+    ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaVM.st,v 1.155 1999/07/15 00:52:40 cg Exp $'
 ! !
 JavaVM initialize!