memory settings
authorClaus Gittinger <cg@exept.de>
Thu, 12 Aug 2010 15:53:28 +0200
changeset 9545 e684fd8e06a8
parent 9544 0947c3513df7
child 9546 f28ed3386f64
memory settings
AbstractSettingsApplication.st
--- a/AbstractSettingsApplication.st	Thu Aug 12 11:12:37 2010 +0200
+++ b/AbstractSettingsApplication.st	Thu Aug 12 15:53:28 2010 +0200
@@ -143,7 +143,8 @@
 AbstractSettingsApplication subclass:#MemorySettingsAppl
 	instanceVariableNames:'newSpaceSize maxOldSpace fastMoreLimit warningLabelHolder
 		codeTrigger codeLimit oldIncr compressLimit igcFreeLimit igcLimit
-		igcFreeAmount stackLimit supportsJustInTimeCompilation'
+		igcFreeAmount stackLimit supportsJustInTimeCompilation
+		methodCodeSizeLimit'
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:AbstractSettingsApplication
@@ -5847,7 +5848,7 @@
           label: 'Memory Manager Settings'
           name: 'Memory Manager Settings'
           min: (Point 10 10)
-          bounds: (Rectangle 13 23 465 745)
+          bounds: (Rectangle 0 0 705 722)
         )
         component: 
        (SpecCollection
@@ -5878,7 +5879,7 @@
                       collection: (
                        (InputFieldSpec
                           name: 'EntryField23'
-                          layout: (LayoutFrame -95 1 3 0 -5 1 23 0)
+                          layout: (LayoutFrame 270 0 3 0 360 0 23 0)
                           model: newSpaceSize
                           type: fileSize
                           acceptOnReturn: true
@@ -5889,14 +5890,14 @@
                        (LabelSpec
                           label: 'Size of NewSpace:'
                           name: 'Label44'
-                          layout: (LayoutFrame 0 0 3 0 -95 1 23 0)
+                          layout: (LayoutFrame 0 0 3 0 265 0 23 0)
                           translateLabel: true
                           adjust: right
                         )
                        (LabelSpec
-                          label: 'Size of newSpace where objects are created'
+                          label: '(Size of Space where new objects are created)'
                           name: 'Label45'
-                          layout: (LayoutFrame 0 0.0 23 0 0 1.0 43 0)
+                          layout: (LayoutFrame 364 0.0 3 0 0 1.0 23 0)
                           translateLabel: true
                           adjust: left
                         )
@@ -5907,7 +5908,7 @@
                        )
                      
                     )
-                    extent: (Point 452 43)
+                    extent: (Point 705 30)
                   )
                  (ViewSpec
                     name: 'MaximumMemoryLimitBox'
@@ -5916,10 +5917,9 @@
                       collection: (
                        (InputFieldSpec
                           name: 'EntryField24'
-                          layout: (LayoutFrame -95 1 3 0 -5 1 23 0)
+                          layout: (LayoutFrame 270 0 3 0 360 0 23 0)
                           model: maxOldSpace
                           type: fileSize
-                          formatString: ''
                           acceptOnReturn: true
                           acceptOnTab: true
                           acceptOnLostFocus: true
@@ -5928,14 +5928,14 @@
                        (LabelSpec
                           label: 'Maximum Memory Limit:'
                           name: 'Label46'
-                          layout: (LayoutFrame 0 0 3 0 -95 1 23 0)
+                          layout: (LayoutFrame 0 0 3 0 265 0 23 0)
                           translateLabel: true
                           adjust: right
                         )
                        (LabelSpec
-                          label: 'Never allocate more than this amount of memory'
+                          label: '(Never allocate more than this amount of memory)'
                           name: 'Label47'
-                          layout: (LayoutFrame 0 0.0 23 0 0 1.0 43 0)
+                          layout: (LayoutFrame 364 0.0 3 0 0 1.0 23 0)
                           translateLabel: true
                           adjust: left
                         )
@@ -5946,7 +5946,7 @@
                        )
                      
                     )
-                    extent: (Point 452 43)
+                    extent: (Point 705 30)
                   )
                  (ViewSpec
                     name: 'QuickAllocationLimitBox'
@@ -5955,7 +5955,7 @@
                       collection: (
                        (InputFieldSpec
                           name: 'EntryField14'
-                          layout: (LayoutFrame -95 1 3 0 -5 1 23 0)
+                          layout: (LayoutFrame 270 0 3 0 360 0 23 0)
                           model: fastMoreLimit
                           type: fileSize
                           acceptOnReturn: true
@@ -5966,14 +5966,14 @@
                        (LabelSpec
                           label: 'Quick Allocation Limit:'
                           name: 'Label26'
-                          layout: (LayoutFrame 0 0 3 0 -95 1 23 0)
+                          layout: (LayoutFrame 0 0 3 0 265 0 23 0)
                           translateLabel: true
                           adjust: right
                         )
                        (LabelSpec
-                          label: 'Quickly allocate more memory (suppress GC) up to this limit'
+                          label: '(Quickly allocate more memory (suppress GC) up to this limit)'
                           name: 'Label27'
-                          layout: (LayoutFrame 0 0.0 23 0 0 1.0 43 0)
+                          layout: (LayoutFrame 364 0.0 3 0 0 1.0 23 0)
                           translateLabel: true
                           adjust: left
                         )
@@ -5984,7 +5984,7 @@
                        )
                      
                     )
-                    extent: (Point 452 43)
+                    extent: (Point 705 30)
                   )
                  (ViewSpec
                     name: 'IncrementalGCAllocationTriggerBox'
@@ -5993,7 +5993,7 @@
                       collection: (
                        (InputFieldSpec
                           name: 'EntryField25'
-                          layout: (LayoutFrame -95 1 3 0 -5 1 23 0)
+                          layout: (LayoutFrame 270 0 3 0 360 0 23 0)
                           model: igcLimit
                           type: fileSize
                           acceptOnReturn: true
@@ -6004,14 +6004,14 @@
                        (LabelSpec
                           label: 'Incremental GC Allocation Trigger:'
                           name: 'Label48'
-                          layout: (LayoutFrame 0 0 3 0 -95 1 23 0)
+                          layout: (LayoutFrame 0 0 3 0 265 0 23 0)
                           translateLabel: true
                           adjust: right
                         )
                        (LabelSpec
-                          label: 'Start IGC whenever this amount has been allocated'
+                          label: '(Start IGC whenever this amount has been allocated)'
                           name: 'Label49'
-                          layout: (LayoutFrame 0 0.0 23 0 0 1.0 43 0)
+                          layout: (LayoutFrame 364 0.0 3 0 0 1.0 23 0)
                           translateLabel: true
                           adjust: left
                         )
@@ -6022,7 +6022,7 @@
                        )
                      
                     )
-                    extent: (Point 452 43)
+                    extent: (Point 705 30)
                   )
                  (ViewSpec
                     name: 'IncrementalGCFreespaceTriggerBox'
@@ -6031,7 +6031,7 @@
                       collection: (
                        (InputFieldSpec
                           name: 'EntryField26'
-                          layout: (LayoutFrame -95 1 3 0 -5 1 23 0)
+                          layout: (LayoutFrame 270 0 3 0 360 0 23 0)
                           model: igcFreeLimit
                           type: fileSize
                           acceptOnReturn: true
@@ -6042,14 +6042,14 @@
                        (LabelSpec
                           label: 'Incremental GC Freespace Trigger:'
                           name: 'Label50'
-                          layout: (LayoutFrame 0 0 3 0 -95 1 23 0)
+                          layout: (LayoutFrame 0 0 3 0 265 0 23 0)
                           translateLabel: true
                           adjust: right
                         )
                        (LabelSpec
-                          label: 'Start IGC whenever freespace drops below this'
+                          label: '(Start IGC whenever freespace drops below this)'
                           name: 'Label51'
-                          layout: (LayoutFrame 0 0.0 23 0 0 1.0 43 0)
+                          layout: (LayoutFrame 364 0.0 3 0 0 1.0 23 0)
                           translateLabel: true
                           adjust: left
                         )
@@ -6060,7 +6060,7 @@
                        )
                      
                     )
-                    extent: (Point 452 43)
+                    extent: (Point 705 30)
                   )
                  (ViewSpec
                     name: 'GCAmountBox'
@@ -6069,7 +6069,7 @@
                       collection: (
                        (InputFieldSpec
                           name: 'EntryField17'
-                          layout: (LayoutFrame -95 1 3 0 -5 1 23 0)
+                          layout: (LayoutFrame 270 0 3 0 360 0 23 0)
                           model: igcFreeAmount
                           type: fileSize
                           acceptOnReturn: true
@@ -6080,14 +6080,14 @@
                        (LabelSpec
                           label: 'Incremental GC Amount:'
                           name: 'Label32'
-                          layout: (LayoutFrame 0 0 3 0 -95 1 23 0)
+                          layout: (LayoutFrame 0 0 3 0 265 0 23 0)
                           translateLabel: true
                           adjust: right
                         )
                        (LabelSpec
-                          label: 'Try to keep this amount for peak requests'
+                          label: '(Try to keep this amount for peak requests)'
                           name: 'Label33'
-                          layout: (LayoutFrame 0 0.0 23 0 0 1.0 43 0)
+                          layout: (LayoutFrame 364 0.0 3 0 0 1.0 23 0)
                           translateLabel: true
                           adjust: left
                         )
@@ -6098,7 +6098,7 @@
                        )
                      
                     )
-                    extent: (Point 452 43)
+                    extent: (Point 705 30)
                   )
                  (ViewSpec
                     name: 'OldspaceIncrementBox'
@@ -6107,7 +6107,7 @@
                       collection: (
                        (InputFieldSpec
                           name: 'EntryField18'
-                          layout: (LayoutFrame -95 1 3 0 -5 1.0 23 0)
+                          layout: (LayoutFrame 270 0 3 0 360 0 23 0)
                           model: oldIncr
                           type: fileSize
                           acceptOnReturn: true
@@ -6118,14 +6118,14 @@
                        (LabelSpec
                           label: 'Oldspace Increment:'
                           name: 'Label34'
-                          layout: (LayoutFrame 0 0 3 0 -95 1 23 0)
+                          layout: (LayoutFrame 0 0 3 0 265 0 23 0)
                           translateLabel: true
                           adjust: right
                         )
                        (LabelSpec
-                          label: 'Increase oldSpace in chunks of this size'
+                          label: '(Increase oldSpace in chunks of this size)'
                           name: 'Label35'
-                          layout: (LayoutFrame 0 0.0 23 0 0 1.0 43 0)
+                          layout: (LayoutFrame 364 0.0 3 0 0 1.0 23 0)
                           translateLabel: true
                           adjust: left
                         )
@@ -6136,7 +6136,7 @@
                        )
                      
                     )
-                    extent: (Point 452 43)
+                    extent: (Point 705 30)
                   )
                  (ViewSpec
                     name: 'OldSpaceCompressLimitBox'
@@ -6145,7 +6145,7 @@
                       collection: (
                        (InputFieldSpec
                           name: 'EntryField19'
-                          layout: (LayoutFrame -95 1 3 0 -5 1 23 0)
+                          layout: (LayoutFrame 270 0 3 0 360 0 23 0)
                           model: compressLimit
                           type: fileSize
                           acceptOnReturn: true
@@ -6156,14 +6156,14 @@
                        (LabelSpec
                           label: 'Oldspace Compress Limit:'
                           name: 'Label36'
-                          layout: (LayoutFrame 0 0 3 0 -95 1 23 0)
+                          layout: (LayoutFrame 0 0 3 0 265 0 23 0)
                           translateLabel: true
                           adjust: right
                         )
                        (LabelSpec
-                          label: 'Use 2-pass compressing GC if > 0 and more memory is in use'
+                          label: '(Use 2-pass compressing GC if > 0 and more memory is in use)'
                           name: 'Label37'
-                          layout: (LayoutFrame 0 0.0 23 0 0 1.0 43 0)
+                          layout: (LayoutFrame 364 0.0 3 0 0 1.0 23 0)
                           translateLabel: true
                           adjust: left
                         )
@@ -6174,7 +6174,7 @@
                        )
                      
                     )
-                    extent: (Point 452 43)
+                    extent: (Point 705 30)
                   )
                  (ViewSpec
                     name: 'StackLimitBox'
@@ -6183,7 +6183,7 @@
                       collection: (
                        (InputFieldSpec
                           name: 'EntryField20'
-                          layout: (LayoutFrame -95 1 3 0 -5 1 23 0)
+                          layout: (LayoutFrame 270 0 3 0 360 0 23 0)
                           enableChannel: supportsJustInTimeCompilation
                           model: stackLimit
                           type: fileSize
@@ -6195,14 +6195,14 @@
                        (LabelSpec
                           label: 'Stack Limit:'
                           name: 'Label38'
-                          layout: (LayoutFrame 0 0 3 0 -95 1 23 0)
+                          layout: (LayoutFrame 0 0 3 0 265 0 23 0)
                           translateLabel: true
                           adjust: right
                         )
                        (LabelSpec
-                          label: 'Trigger recursionInterrupt if more stack is used by a process'
+                          label: '(Trigger recursionInterrupt if more stack is used by a process)'
                           name: 'Label39'
-                          layout: (LayoutFrame 0 0.0 23 0 0 1.0 43 0)
+                          layout: (LayoutFrame 364 0.0 3 0 0 1.0 23 0)
                           translateLabel: true
                           adjust: left
                         )
@@ -6213,7 +6213,7 @@
                        )
                      
                     )
-                    extent: (Point 452 43)
+                    extent: (Point 705 30)
                   )
                  (ViewSpec
                     name: 'CodeLimitBox'
@@ -6222,7 +6222,7 @@
                       collection: (
                        (InputFieldSpec
                           name: 'EntryField21'
-                          layout: (LayoutFrame -95 1 3 0 -5 1 23 0)
+                          layout: (LayoutFrame 270 0 3 0 360 0 23 0)
                           enableChannel: supportsJustInTimeCompilation
                           model: codeLimit
                           type: fileSize
@@ -6234,14 +6234,14 @@
                        (LabelSpec
                           label: 'Dynamic code Limit:'
                           name: 'Label40'
-                          layout: (LayoutFrame 0 0 3 0 -95 1 23 0)
+                          layout: (LayoutFrame 0 0 3 0 265 0 23 0)
                           translateLabel: true
                           adjust: right
                         )
                        (LabelSpec
-                          label: 'Flush dynamic compiled code to stay within this limit'
+                          label: '(Flush dynamic compiled code to stay within this limit)'
                           name: 'Label41'
-                          layout: (LayoutFrame 0 0.0 23 0 0 1.0 43 0)
+                          layout: (LayoutFrame 364 0.0 3 0 0 1.0 23 0)
                           translateLabel: true
                           adjust: left
                         )
@@ -6252,7 +6252,46 @@
                        )
                      
                     )
-                    extent: (Point 452 43)
+                    extent: (Point 705 30)
+                  )
+                 (ViewSpec
+                    name: 'Box1'
+                    component: 
+                   (SpecCollection
+                      collection: (
+                       (InputFieldSpec
+                          name: 'EntryField27'
+                          layout: (LayoutFrame 270 0 3 0 360 0 23 0)
+                          enableChannel: supportsJustInTimeCompilation
+                          model: methodCodeSizeLimit
+                          type: fileSize
+                          acceptOnReturn: true
+                          acceptOnTab: true
+                          acceptOnLostFocus: true
+                          acceptOnPointerLeave: true
+                        )
+                       (LabelSpec
+                          label: 'Method Code Size Limit:'
+                          name: 'Label52'
+                          layout: (LayoutFrame 0 0 3 0 265 0 23 0)
+                          translateLabel: true
+                          adjust: right
+                        )
+                       (LabelSpec
+                          label: '(Do not JIT, if an individual method''s code size exceeds this)'
+                          name: 'Label53'
+                          layout: (LayoutFrame 364 0.0 3 0 0 1.0 23 0)
+                          translateLabel: true
+                          adjust: left
+                        )
+                       (DividerSpec
+                          name: 'Separator28'
+                          layout: (LayoutFrame 0 0.0 0 0 0 1.0 3 0)
+                        )
+                       )
+                     
+                    )
+                    extent: (Point 705 30)
                   )
                  (ViewSpec
                     name: 'CodeTriggerBox'
@@ -6261,7 +6300,7 @@
                       collection: (
                        (InputFieldSpec
                           name: 'EntryField22'
-                          layout: (LayoutFrame -95 1 3 0 -5 1 23 0)
+                          layout: (LayoutFrame 270 0 3 0 360 0 23 0)
                           model: codeTrigger
                           type: fileSize
                           acceptOnReturn: true
@@ -6272,14 +6311,14 @@
                        (LabelSpec
                           label: 'Dynamic code Limit:'
                           name: 'Label42'
-                          layout: (LayoutFrame 0 0 3 0 -95 1 23 0)
+                          layout: (LayoutFrame 0 0 3 0 265 0 23 0)
                           translateLabel: true
                           adjust: right
                         )
                        (LabelSpec
-                          label: 'Start incremental GC whenever this amount of code has been allocated'
+                          label: '(Start incremental GC whenever this amount of code has been allocated)'
                           name: 'Label43'
-                          layout: (LayoutFrame 0 0.0 23 0 0 1.0 43 0)
+                          layout: (LayoutFrame 364 0.0 3 0 0 1.0 23 0)
                           translateLabel: true
                           adjust: left
                         )
@@ -6290,7 +6329,7 @@
                        )
                      
                     )
-                    extent: (Point 452 43)
+                    extent: (Point 705 30)
                   )
                  )
                
@@ -6320,9 +6359,12 @@
     self compressLimit value:ObjectMemory oldSpaceCompressLimit.
     self codeLimit value:ObjectMemory dynamicCodeLimit.
     self codeTrigger value:ObjectMemory dynamicCodeGCTrigger.
+    self methodCodeSizeLimit value:(ObjectMemory codeSizeLimitForDynamicCompilation:-1).
     self fastMoreLimit value:(ObjectMemory fastMoreOldSpaceLimit:-1).
 
     self stackLimit value:Process defaultMaximumStackSize.
+
+    "Modified: / 12-08-2010 / 15:34:24 / cg"
 !
 
 basicSaveSettings
@@ -6342,8 +6384,11 @@
     ObjectMemory oldSpaceCompressLimit:self compressLimit value.
     ObjectMemory dynamicCodeLimit:self codeLimit value.
     ObjectMemory dynamicCodeGCTrigger:self codeTrigger value.
+    ObjectMemory codeSizeLimitForDynamicCompilation:(self methodCodeSizeLimit value).
 
     Process defaultMaximumStackSize:self stackLimit value.
+
+    "Modified: / 12-08-2010 / 15:34:47 / cg"
 ! !
 
 !AbstractSettingsApplication::MemorySettingsAppl methodsFor:'aspects'!
@@ -6420,6 +6465,17 @@
     ^ maxOldSpace.
 !
 
+methodCodeSizeLimit
+
+    methodCodeSizeLimit isNil ifTrue:[
+        methodCodeSizeLimit := (ObjectMemory codeSizeLimitForDynamicCompilation:-1) asValue.
+        methodCodeSizeLimit onChangeSend:#updateModifiedChannel to:self
+    ].
+    ^ methodCodeSizeLimit.
+
+    "Created: / 12-08-2010 / 15:31:56 / cg"
+!
+
 newSpaceSize
 
     newSpaceSize isNil ifTrue:[
@@ -6496,9 +6552,12 @@
     ObjectMemory oldSpaceCompressLimit ~= self compressLimit value ifTrue:[^ true].
     ObjectMemory dynamicCodeLimit ~= self codeLimit value ifTrue:[^ true].
     ObjectMemory dynamicCodeGCTrigger ~= self codeTrigger value ifTrue:[^ true].
+    (ObjectMemory codeSizeLimitForDynamicCompilation:-1) ~= self methodCodeSizeLimit value ifTrue:[^ true].
 
     Process defaultMaximumStackSize ~= self stackLimit value ifTrue:[^ true].
     ^ false
+
+    "Modified: / 12-08-2010 / 15:33:12 / cg"
 ! !
 
 !AbstractSettingsApplication::MiscCommunicationSettingsAppl class methodsFor:'image specs'!
@@ -16349,9 +16408,9 @@
 !AbstractSettingsApplication class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.363 2010-08-04 16:36:56 sr Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.364 2010-08-12 13:53:28 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.363 2010-08-04 16:36:56 sr Exp $'
-! !
+    ^ '$Header: /cvs/stx/stx/libtool/AbstractSettingsApplication.st,v 1.364 2010-08-12 13:53:28 cg Exp $'
+! !