diff -r 65b404d51704 -r 9a6ea7ab9585 smalltalk.rc --- a/smalltalk.rc Thu Feb 27 10:30:39 2014 +0100 +++ b/smalltalk.rc Fri Feb 28 22:38:37 2014 +0100 @@ -42,8 +42,8 @@ "/ the JIT translator is (was) known to work with the following "/ architectures: "/ ix86 (linux, win32, unixware) -"/ sgi-mips (irix) -"/ alpha (osf) +"/ sgi-mips (irix) [no longer supported] +"/ alpha (osf) [no longer supported] "/ sparc (solaris) [only tested with v7 & v8 & v9 cpus] "/ rs6k (aix) [not very well tested] "/ mc68k [no longer supported] @@ -56,17 +56,17 @@ (#( 'i386' 'sparc' - 'mips' - 'alpha' +"/ 'mips' +"/ 'alpha' ) includes:cpu) ifTrue:[ enableJIT := true. cpu = 'sparc' ifTrue:[ "/ for now, disable if we detect running on a sparcV10; "/ Reason: - "/ we do not have v10 machines here at Exept (they even do not exist at this time), + "/ we do not have v10 machines here at exept , "/ and therefore have no way of checking if it runs on v10. - "/ I dont want ST/X to crash on your side in that case ... + "/ I don't want ST/X to crash on your side in that case ... "/ ... better run a bit slower than not running at all. "/ Please let us know if it runs and we will remove the code below "/ (which you should do as well). @@ -87,9 +87,9 @@ ObjectMemory infoPrinting:false. "/ Smalltalk loadBinaries:true. -Compiler allowUnderscoreInIdentifier:true. -Compiler warnUnderscoreInIdentifier:false. -Compiler warnSTXSpecials:false. +"/ Compiler allowUnderscoreInIdentifier:true. +"/ Compiler warnUnderscoreInIdentifier:false. +"/ Compiler warnSTXSpecials:false. ! "/ @@ -281,18 +281,6 @@ "/ Display unBuffered. -"SV: switched off splash screen - it does not work in windows anyway, and it is annoying - in linux/unix" -"/(buildClasses -"/ or:[ (args includes:'--noBanner') -"/ or:[ (args includes:'--quick') -"/ or:[ (args includes:'--faststart') -"/ or:[ (args includes:'--fastStart') -"/ or:[ Smalltalk isPlugin -"/]]]]]) ifFalse:[ -"/ Smalltalk fileIn:'showBanner.rc'. -"/]. - "/ "/ lazy loading "/ (faster fileIn) - this is EXPERIMENTAL. @@ -314,7 +302,6 @@ "/ read the abbrev.stc file, extract class names "/ and install all nonExisting classes as autoloaded "/ - Class withoutUpdatingChangesDo:[ |needToReactivate| @@ -393,10 +380,10 @@ "/ during idle time. (I often walk around in the fileBrowser, loading big "/ files like XWorkstation.st or SystemBrowser.st ....) -ObjectMemory freeSpaceGCAmount:1000000. +ObjectMemory freeSpaceGCAmount:(1024*1024). ObjectMemory freeSpaceGCLimit:(256*1024). -ObjectMemory incrementalGCLimit:(512*1024). -ObjectMemory oldSpaceIncrement:(512*1024). +ObjectMemory incrementalGCLimit:(1024*1024). +ObjectMemory oldSpaceIncrement:(1024*1024). ObjectMemory oldSpaceCompressLimit:0. "/ temporary kludge ObjectMemory startBackgroundCollectorAt:5. ObjectMemory startBackgroundFinalizationAt:5. @@ -407,6 +394,7 @@ "/ ObjectMemory maxOldSpace:1024*1024*128. "/ ObjectMemory maxOldSpace:1024*1024*512. + ExternalBytes sizeofPointer == 8 ifTrue:[ "/ limit to 2GB to prevent a runaway program from thrashing the system "/ if you really need more, change that line @@ -423,10 +411,31 @@ "/ ObjectMemory newSpaceSize:(2*1024*1024). "/ ObjectMemory newSpaceSize:(8*1024*1024). -"/ experimental: +"/ experimental: configure the memory manager to quickly increase +"/ its oldSpace, as long as it stays below 256Mb +"/ (i.e. do not enter a blocking mark&sweep or compress, +"/ but go straight ahead increasing the oldSpace). +"/ Above that, behave as usual, i.e. try a GC first, +"/ then increase the oldSpace size if that did not help. +"/ If you have a machine with lots of (real) memory, you may want to +"/ increase the number. +"/ +ObjectMemory fastMoreOldSpaceLimit:256*1024*1024. +ObjectMemory fastMoreOldSpaceAllocation:true. + +"/ server settings; possibly longer worst case pause times, +"/ but less overhead overall. +"/ Use this for webservers, protocol servers etc, where blocking times +"/ above 30ms are acceptable (also works for interactive programming) + +ObjectMemory newSpaceSize:(16*1024*1024). +ObjectMemory incrementalGCLimit:(32*1024*1024). +ObjectMemory oldSpaceIncrement:(4*1024*1024). + +"/ "/ run the background collector at a dynamic priority - it will "/ now always get a chance to make some progress ... - +"/ Smalltalk addStartBlock:[ "/ 'smalltalk.rc [info]: start timeSlicing...' infoPrintCR. Processor startTimeSlicing. @@ -434,17 +443,6 @@ ObjectMemory backgroundCollectProcess priorityRange:(4 to:9). ObjectMemory backgroundFinalizationProcess priorityRange:(4 to:9). ]. - -"/ experimental: configure the memory manager to quickly increase -"/ its oldSpace, as long as it stays below 8Mb (i.e. do not enter -"/ a blocking mark&sweep or compress, but go straight ahead increasing -"/ the oldSpace). Above that, behave as usual, i.e. try a GC first, -"/ then increase the oldSpace size if that did not help. -"/ If you have a machine with lots of (real) memory, you may want to -"/ increase the number. The value below should be ok for 16-32Mb machines. -"/ -ObjectMemory fastMoreOldSpaceLimit:64*1024*1024. -ObjectMemory fastMoreOldSpaceAllocation:true. ! "/ another experimental (and a secret for now, since I don't want @@ -649,10 +647,10 @@ ex return. ] do:[ "JV@2012-03-07: Try following settings files: + $HOME/.smalltalk/settings.stx + $HOME/.smalltalk/settings.rc $PWD/settings.stx $PWD/settings.rc - $HOME/.smalltalk/settings.stx - $HOME/.smalltalk/settings.rc in that order. Whichever is found, it is read and the rest is not used. Also, path to the file which has beed read is @@ -660,11 +658,12 @@ " | files continue | - files := Array - with: (Smalltalk getSystemFileName: 'settings.stx') "/ old stx default - with: (Smalltalk getSystemFileName: 'settings.rc') "/ for backward compatibility with jv-branch - with: (Filename homeDirectory / '.smalltalk' / 'settings.stx') "/ per-user settings file (new default?) - with: (Filename homeDirectory / '.smalltalk' / 'settings.rc') . "/ for backward compatibility with jv-branch + files := { + (Filename homeDirectory / '.smalltalk' / 'settings.stx') . "/ per-user settings file (new default?) + (Filename homeDirectory / '.smalltalk' / 'settings.rc') . "/ for backward compatibility with jv-branch + (Smalltalk getSystemFileName: 'settings.stx') . "/ old stx default + (Smalltalk getSystemFileName: 'settings.rc') . "/ for backward compatibility with jv-branch + }. continue := true. files do:[:each| | eachFile |