--- 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 |