MemoryMonitor.st
changeset 844 95fde6837db3
parent 798 5ef299968209
child 972 7f8884cb99e2
equal deleted inserted replaced
843:1b6ae381074a 844:95fde6837db3
   560                     'scavenge'
   560                     'scavenge'
   561                     'tenure'
   561                     'tenure'
   562                     'incremental collect'
   562                     'incremental collect'
   563                     '-'
   563                     '-'
   564                     'cleanup memory'
   564                     'cleanup memory'
       
   565                     'flush method history'
   565                     '-'
   566                     '-'
   566                     'compress sources'
   567                     'compress sources'
   567                   ).
   568                   ).
   568     selectors := #(
   569     selectors := #(
   569                     scavenge
   570                     scavenge
   570                     tenure
   571                     tenure
   571                     incrementalCollect
   572                     incrementalCollect
   572                     nil
   573                     nil
   573                     cleanupMemory
   574                     cleanupMemory
       
   575                     cleanupMethodHistory
   574                     nil
   576                     nil
   575                     compressSources
   577                     compressSources
   576                   ).
   578                   ).
   577 
   579 
   578     specialMenu := PopUpMenu
   580     specialMenu := PopUpMenu
   664      finally, compress
   666      finally, compress
   665     "
   667     "
   666     ObjectMemory verboseGarbageCollect.
   668     ObjectMemory verboseGarbageCollect.
   667 !
   669 !
   668 
   670 
       
   671 cleanupMethodHistory
       
   672     "release the oldMethod history"
       
   673 
       
   674     (self confirm:'This removes the previous method history,
       
   675 which is kept for all changed methods in the system.
       
   676 After that, the browsers cannot easily switch back to a methods
       
   677 previous version.
       
   678 
       
   679 However, this is normally not a problem, since
       
   680 a methods previous code should still be accessable through
       
   681 either the changes-file, the sourceCode repository or the classes original
       
   682 source file.
       
   683 
       
   684 cleanup now ?') ifTrue:[
       
   685 
       
   686 
       
   687         Class flushMethodHistory.
       
   688 
       
   689         "
       
   690          then, perform a GC (incl. symbol reclamation)
       
   691         "
       
   692         ObjectMemory reclaimSymbols.
       
   693         "
       
   694          finally, compress
       
   695         "
       
   696         ObjectMemory verboseGarbageCollect.
       
   697    ]
       
   698 
       
   699 
       
   700 
       
   701 !
       
   702 
   669 compressSources
   703 compressSources
   670     (self confirm:'This saves all in-memory source strings into a file
   704     (self confirm:'This saves all in-memory source strings into a file
   671 and makes methods reference these (file-) strings,
   705 and makes methods reference these (file-) strings,
   672 freeing all in-memory sources.
   706 freeing all in-memory sources.
   673 
   707 
   768 ! !
   802 ! !
   769 
   803 
   770 !MemoryMonitor class methodsFor:'documentation'!
   804 !MemoryMonitor class methodsFor:'documentation'!
   771 
   805 
   772 version
   806 version
   773     ^ '$Header: /cvs/stx/stx/libtool/MemoryMonitor.st,v 1.38 1996-10-23 00:10:12 cg Exp $'
   807     ^ '$Header: /cvs/stx/stx/libtool/MemoryMonitor.st,v 1.39 1996-11-07 18:43:15 cg Exp $'
   774 ! !
   808 ! !