--- a/MemoryMonitor.st Thu Nov 07 19:38:15 1996 +0100
+++ b/MemoryMonitor.st Thu Nov 07 19:43:15 1996 +0100
@@ -562,6 +562,7 @@
'incremental collect'
'-'
'cleanup memory'
+ 'flush method history'
'-'
'compress sources'
).
@@ -571,6 +572,7 @@
incrementalCollect
nil
cleanupMemory
+ cleanupMethodHistory
nil
compressSources
).
@@ -666,6 +668,38 @@
ObjectMemory verboseGarbageCollect.
!
+cleanupMethodHistory
+ "release the oldMethod history"
+
+ (self confirm:'This removes the previous method history,
+which is kept for all changed methods in the system.
+After that, the browsers cannot easily switch back to a methods
+previous version.
+
+However, this is normally not a problem, since
+a methods previous code should still be accessable through
+either the changes-file, the sourceCode repository or the classes original
+source file.
+
+cleanup now ?') ifTrue:[
+
+
+ Class flushMethodHistory.
+
+ "
+ then, perform a GC (incl. symbol reclamation)
+ "
+ ObjectMemory reclaimSymbols.
+ "
+ finally, compress
+ "
+ ObjectMemory verboseGarbageCollect.
+ ]
+
+
+
+!
+
compressSources
(self confirm:'This saves all in-memory source strings into a file
and makes methods reference these (file-) strings,
@@ -770,5 +804,5 @@
!MemoryMonitor class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/MemoryMonitor.st,v 1.38 1996-10-23 00:10:12 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/MemoryMonitor.st,v 1.39 1996-11-07 18:43:15 cg Exp $'
! !