MemoryMonitor.st
changeset 844 95fde6837db3
parent 798 5ef299968209
child 972 7f8884cb99e2
--- 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 $'
 ! !