MemoryMonitor.st
changeset 972 7f8884cb99e2
parent 844 95fde6837db3
child 989 0f047353b974
equal deleted inserted replaced
971:3f31069f85ce 972:7f8884cb99e2
   557     |m specialMenu labels selectors|
   557     |m specialMenu labels selectors|
   558 
   558 
   559     labels :=    #(
   559     labels :=    #(
   560                     'scavenge'
   560                     'scavenge'
   561                     'tenure'
   561                     'tenure'
   562                     'incremental collect'
   562                     'hi prio incremental collect'
   563                     '-'
   563                     '-'
   564                     'cleanup memory'
   564                     'cleanup memory'
   565                     'flush method history'
   565                     'flush method history'
   566                     '-'
   566                     '-'
   567                     'compress sources'
   567                     'compress sources'
   583 
   583 
   584     device ctrlDown ifTrue:[
   584     device ctrlDown ifTrue:[
   585         ^ specialMenu
   585         ^ specialMenu
   586     ].
   586     ].
   587 
   587 
   588     labels :=    #(
   588     ObjectMemory backgroundCollectorRunning ifFalse:[
   589                     'collect garbage'
   589         labels :=    #(
   590                     'collect garbage & symbols'
   590                         'collect garbage'
   591                     'collect garbage & compress'
   591                         'collect garbage & symbols'
   592                     '-'
   592                         'collect garbage & compress'
   593                     'background collect'
   593                         '-'
   594                     '-'
   594                         'background collect now'
   595                     'reset statistic values'
   595                         'start background collector'
   596                     '-'
   596                         '-'
   597                     'others'
   597                         'reset statistic values'
   598                   ).
   598                         '-'
   599 
   599                         'others'
   600     selectors := #(
   600                       ).
   601                     garbageCollect
   601 
   602                     garbageCollectAndSymbols
   602         selectors := #(
   603                     compressingGarbageCollect
   603                         garbageCollect
   604                     nil
   604                         garbageCollectAndSymbols
   605                     backgroundCollect
   605                         compressingGarbageCollect
   606                     nil
   606                         nil
   607                     resetStatisticValues
   607                         backgroundCollect
   608                     nil
   608                         restartBackgroundCollector
   609                     otherMenu
   609                         nil
   610                   ).
   610                         resetStatisticValues
       
   611                         nil
       
   612                         otherMenu
       
   613                       ).
       
   614     ] ifTrue:[
       
   615         labels :=    #(
       
   616                         'collect garbage'
       
   617                         'collect garbage & symbols'
       
   618                         'collect garbage & compress'
       
   619                         '-'
       
   620                         'background collect'
       
   621                         '-'
       
   622                         'reset statistic values'
       
   623                         '-'
       
   624                         'others'
       
   625                       ).
       
   626 
       
   627         selectors := #(
       
   628                         garbageCollect
       
   629                         garbageCollectAndSymbols
       
   630                         compressingGarbageCollect
       
   631                         nil
       
   632                         backgroundCollect
       
   633                         nil
       
   634                         resetStatisticValues
       
   635                         nil
       
   636                         otherMenu
       
   637                       ).
       
   638     ].
   611     m := PopUpMenu labels:(resources array:labels)
   639     m := PopUpMenu labels:(resources array:labels)
   612                    selectors:selectors.
   640                    selectors:selectors.
   613 
   641 
   614     m subMenuAt:#otherMenu put:specialMenu.
   642     m subMenuAt:#otherMenu put:specialMenu.
   615     ^ m
   643     ^ m
       
   644 
       
   645     "Modified: 21.1.1997 / 00:20:27 / cg"
   616 !
   646 !
   617 
   647 
   618 realize
   648 realize
   619     super realize.
   649     super realize.
   620     updateBlock notNil ifTrue:[
   650     updateBlock notNil ifTrue:[
   784     ObjectMemory resetMinScavengeReclamation.
   814     ObjectMemory resetMinScavengeReclamation.
   785 
   815 
   786     "Created: 7.11.1995 / 17:44:59 / cg"
   816     "Created: 7.11.1995 / 17:44:59 / cg"
   787 !
   817 !
   788 
   818 
       
   819 restartBackgroundCollector
       
   820     "start a background (non disturbing) incremental GC. 
       
   821      Since the GC is performed at a low priority, it may not make progress if higher
       
   822      prio processes are running"
       
   823  
       
   824     ObjectMemory backgroundCollectorRunning
       
   825     ifFalse:[
       
   826         ObjectMemory startBackgroundCollectorAt:5.
       
   827         ObjectMemory startBackgroundCollectorAt:5
       
   828     ]
       
   829 
       
   830     "Created: 21.1.1997 / 00:09:30 / cg"
       
   831 !
       
   832 
   789 scavenge 
   833 scavenge 
   790     "perform a blocking newspace garbage collect.
   834     "perform a blocking newspace garbage collect.
   791      (this is for debugging only - the system does this automatically)"
   835      (this is for debugging only - the system does this automatically)"
   792 
   836 
   793     ObjectMemory scavenge
   837     ObjectMemory scavenge
   802 ! !
   846 ! !
   803 
   847 
   804 !MemoryMonitor class methodsFor:'documentation'!
   848 !MemoryMonitor class methodsFor:'documentation'!
   805 
   849 
   806 version
   850 version
   807     ^ '$Header: /cvs/stx/stx/libtool/MemoryMonitor.st,v 1.39 1996-11-07 18:43:15 cg Exp $'
   851     ^ '$Header: /cvs/stx/stx/libtool/MemoryMonitor.st,v 1.40 1997-01-20 23:21:09 cg Exp $'
   808 ! !
   852 ! !