.
authorclaus
Fri, 19 May 1995 05:57:50 +0200
changeset 94 b391ba8959e9
parent 93 c29cc158cf05
child 95 13c0174506d3
.
BCompiler.st
ByteCodeCompiler.st
ObjFLoader.st
ObjectFileLoader.st
--- a/BCompiler.st	Fri May 19 02:32:23 1995 +0200
+++ b/BCompiler.st	Fri May 19 05:57:50 1995 +0200
@@ -26,7 +26,7 @@
 COPYRIGHT (c) 1989 by Claus Gittinger
 	     All Rights Reserved
 
-$Header: /cvs/stx/stx/libcomp/Attic/BCompiler.st,v 1.22 1995-05-18 22:56:53 claus Exp $
+$Header: /cvs/stx/stx/libcomp/Attic/BCompiler.st,v 1.23 1995-05-19 03:57:37 claus Exp $
 '!
 
 !ByteCodeCompiler class methodsFor:'documentation'!
@@ -47,7 +47,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libcomp/Attic/BCompiler.st,v 1.22 1995-05-18 22:56:53 claus Exp $
+$Header: /cvs/stx/stx/libcomp/Attic/BCompiler.st,v 1.23 1995-05-19 03:57:37 claus Exp $
 "
 !
 
@@ -1413,6 +1413,8 @@
     "
      call stc to compile it
     "
+    oFileName := './' , initName , '.o'. 
+    oFileName asFilename delete.
 
     flags := ' +newIncremental -N' , initName .
     STCCompilationFlags notNil ifTrue:[
@@ -1441,6 +1443,15 @@
 	]
     ].
 
+    oFileName asFilename exists ifTrue:[
+	ok ifFalse:[
+	    'oops - system says it failed - but o-file is there ...' printNL.
+	    ok := true
+	]
+    ] ifFalse:[
+	ok := false
+    ].
+
     ok ifFalse:[
 	status := OperatingSystem lastExecStatus.
 	status >= 16r200 ifTrue:[
@@ -1451,7 +1462,6 @@
 	^ #Error
     ].
 
-    oFileName := './' , initName , '.o'. 
     OperatingSystem getOSType = 'irix' ifTrue:[
 	"
 	 link it to a shared object
@@ -1489,7 +1499,12 @@
 
 "/    ('init at ' , address printString) printNL.
 
-    ObjectFileLoader callFunctionAt:address forceOld:true arg:2.
+    ObjectFileLoader 
+	callInitFunctionAt:address 
+	specialInit:true
+	forceOld:true 
+	interruptable:false
+	argument:2.
 
     "
      did it work ?
--- a/ByteCodeCompiler.st	Fri May 19 02:32:23 1995 +0200
+++ b/ByteCodeCompiler.st	Fri May 19 05:57:50 1995 +0200
@@ -26,7 +26,7 @@
 COPYRIGHT (c) 1989 by Claus Gittinger
 	     All Rights Reserved
 
-$Header: /cvs/stx/stx/libcomp/ByteCodeCompiler.st,v 1.22 1995-05-18 22:56:53 claus Exp $
+$Header: /cvs/stx/stx/libcomp/ByteCodeCompiler.st,v 1.23 1995-05-19 03:57:37 claus Exp $
 '!
 
 !ByteCodeCompiler class methodsFor:'documentation'!
@@ -47,7 +47,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libcomp/ByteCodeCompiler.st,v 1.22 1995-05-18 22:56:53 claus Exp $
+$Header: /cvs/stx/stx/libcomp/ByteCodeCompiler.st,v 1.23 1995-05-19 03:57:37 claus Exp $
 "
 !
 
@@ -1413,6 +1413,8 @@
     "
      call stc to compile it
     "
+    oFileName := './' , initName , '.o'. 
+    oFileName asFilename delete.
 
     flags := ' +newIncremental -N' , initName .
     STCCompilationFlags notNil ifTrue:[
@@ -1441,6 +1443,15 @@
 	]
     ].
 
+    oFileName asFilename exists ifTrue:[
+	ok ifFalse:[
+	    'oops - system says it failed - but o-file is there ...' printNL.
+	    ok := true
+	]
+    ] ifFalse:[
+	ok := false
+    ].
+
     ok ifFalse:[
 	status := OperatingSystem lastExecStatus.
 	status >= 16r200 ifTrue:[
@@ -1451,7 +1462,6 @@
 	^ #Error
     ].
 
-    oFileName := './' , initName , '.o'. 
     OperatingSystem getOSType = 'irix' ifTrue:[
 	"
 	 link it to a shared object
@@ -1489,7 +1499,12 @@
 
 "/    ('init at ' , address printString) printNL.
 
-    ObjectFileLoader callFunctionAt:address forceOld:true arg:2.
+    ObjectFileLoader 
+	callInitFunctionAt:address 
+	specialInit:true
+	forceOld:true 
+	interruptable:false
+	argument:2.
 
     "
      did it work ?
--- a/ObjFLoader.st	Fri May 19 02:32:23 1995 +0200
+++ b/ObjFLoader.st	Fri May 19 05:57:50 1995 +0200
@@ -21,7 +21,7 @@
 COPYRIGHT (c) 1993 by Claus Gittinger
 	     All Rights Reserved
 
-$Header: /cvs/stx/stx/libcomp/Attic/ObjFLoader.st,v 1.23 1995-05-19 00:32:23 claus Exp $
+$Header: /cvs/stx/stx/libcomp/Attic/ObjFLoader.st,v 1.24 1995-05-19 03:57:50 claus Exp $
 '!
 
 !ObjectFileLoader class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libcomp/Attic/ObjFLoader.st,v 1.23 1995-05-19 00:32:23 claus Exp $
+$Header: /cvs/stx/stx/libcomp/Attic/ObjFLoader.st,v 1.24 1995-05-19 03:57:50 claus Exp $
 "
 !
 
@@ -936,6 +936,18 @@
 	Transcript showCr:'openDynamic: ' , pathName
     ].
 
+    "/ already loaded ?
+
+    LoadedObjects notNil ifTrue:[
+	handle := LoadedObjects at:pathName ifAbsent:nil.
+	handle notNil ifTrue:[
+	    Verbose ifTrue:[
+		Transcript showCr:'openDynamic: ' , pathName , ' already loaded.'.
+	    ].
+	    ^ handle
+	].
+    ].
+
     handle := self primOpenDynamicObject:pathName into:(Array new:2).
     handle isNil ifTrue:[
 	LastError == #notImplemented ifTrue:[
--- a/ObjectFileLoader.st	Fri May 19 02:32:23 1995 +0200
+++ b/ObjectFileLoader.st	Fri May 19 05:57:50 1995 +0200
@@ -21,7 +21,7 @@
 COPYRIGHT (c) 1993 by Claus Gittinger
 	     All Rights Reserved
 
-$Header: /cvs/stx/stx/libcomp/ObjectFileLoader.st,v 1.23 1995-05-19 00:32:23 claus Exp $
+$Header: /cvs/stx/stx/libcomp/ObjectFileLoader.st,v 1.24 1995-05-19 03:57:50 claus Exp $
 '!
 
 !ObjectFileLoader class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libcomp/ObjectFileLoader.st,v 1.23 1995-05-19 00:32:23 claus Exp $
+$Header: /cvs/stx/stx/libcomp/ObjectFileLoader.st,v 1.24 1995-05-19 03:57:50 claus Exp $
 "
 !
 
@@ -936,6 +936,18 @@
 	Transcript showCr:'openDynamic: ' , pathName
     ].
 
+    "/ already loaded ?
+
+    LoadedObjects notNil ifTrue:[
+	handle := LoadedObjects at:pathName ifAbsent:nil.
+	handle notNil ifTrue:[
+	    Verbose ifTrue:[
+		Transcript showCr:'openDynamic: ' , pathName , ' already loaded.'.
+	    ].
+	    ^ handle
+	].
+    ].
+
     handle := self primOpenDynamicObject:pathName into:(Array new:2).
     handle isNil ifTrue:[
 	LastError == #notImplemented ifTrue:[