*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Tue, 31 Oct 1995 14:18:25 +0100
changeset 462 fdccb7651d2e
parent 461 96bcfff55a0e
child 463 447ead9f870c
*** empty log message ***
WeakArr.st
WeakArray.st
--- a/WeakArr.st	Tue Oct 31 14:17:16 1995 +0100
+++ b/WeakArr.st	Tue Oct 31 14:18:25 1995 +0100
@@ -21,7 +21,7 @@
 COPYRIGHT (c) 1991 by Claus Gittinger
 	      All Rights Reserved
 
-$Header: /cvs/stx/stx/libbasic/Attic/WeakArr.st,v 1.15 1995-08-11 03:04:54 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/WeakArr.st,v 1.16 1995-10-31 13:18:25 cg Exp $
 '!
 
 !WeakArray class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libbasic/Attic/WeakArr.st,v 1.15 1995-08-11 03:04:54 claus Exp $
+$Header: /cvs/stx/stx/libbasic/Attic/WeakArr.st,v 1.16 1995-10-31 13:18:25 cg Exp $
 "
 !
 
@@ -177,11 +177,18 @@
 	    ok = __addShadowObject(self, 0);
 #endif
 	    if (ok == false) {
+		extern int __oldGCGeneration__, __igcGeneration__;
+
 		/* 
 		 * hard stuff - need full collect
+		 * if this is the very first GC, assume that we are in
+		 * the startup phase. Then do no GC.
+		 * Heuristics showed, that this GC does not find much ...
 		 */
-		__markAndSweepIfUseful(__context);
-		ok = __addShadowObject(self, 0);
+		if ((__oldGCGeneration__ != 0) || (__igcGeneration__ != 0)) {
+		    __markAndSweepIfUseful(__context);
+		    ok = __addShadowObject(self, 0);
+		}
 		if (ok == false) {
 		    /*
 		     * mhmh - it seems that there are really many shadow 
--- a/WeakArray.st	Tue Oct 31 14:17:16 1995 +0100
+++ b/WeakArray.st	Tue Oct 31 14:18:25 1995 +0100
@@ -21,7 +21,7 @@
 COPYRIGHT (c) 1991 by Claus Gittinger
 	      All Rights Reserved
 
-$Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.15 1995-08-11 03:04:54 claus Exp $
+$Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.16 1995-10-31 13:18:25 cg Exp $
 '!
 
 !WeakArray class methodsFor:'documentation'!
@@ -42,7 +42,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.15 1995-08-11 03:04:54 claus Exp $
+$Header: /cvs/stx/stx/libbasic/WeakArray.st,v 1.16 1995-10-31 13:18:25 cg Exp $
 "
 !
 
@@ -177,11 +177,18 @@
 	    ok = __addShadowObject(self, 0);
 #endif
 	    if (ok == false) {
+		extern int __oldGCGeneration__, __igcGeneration__;
+
 		/* 
 		 * hard stuff - need full collect
+		 * if this is the very first GC, assume that we are in
+		 * the startup phase. Then do no GC.
+		 * Heuristics showed, that this GC does not find much ...
 		 */
-		__markAndSweepIfUseful(__context);
-		ok = __addShadowObject(self, 0);
+		if ((__oldGCGeneration__ != 0) || (__igcGeneration__ != 0)) {
+		    __markAndSweepIfUseful(__context);
+		    ok = __addShadowObject(self, 0);
+		}
 		if (ok == false) {
 		    /*
 		     * mhmh - it seems that there are really many shadow