[squeak-dev] 3.10 image

Ramon Leon ramon.leon at allresnet.com
Mon Feb 25 16:13:14 UTC 2008


> Behalf Of Damien Cassou
> Sent: Monday, February 25, 2008 8:07 AM
> To: The general-purpose Squeak developers list
> Subject: Re: [squeak-dev] 3.10 image
> 
> Ok, future versions will be much smaller. Thanks.

Here's what I run when saving a clean image, usually gets me to around 30meg
with all the dev tools loaded.

customGarbageCollect
	| tasks |
	tasks := OrderedCollection new
		add: [ EventManager cleanUp ] ;
		add: [ SmalltalkImage cleanUp ] ;
		add: [ MCMethodDefinition cleanUp ] ;
		add: [ MCFileBasedRepository flushAllCaches ] ;
		add: [ WARegistry clearAllHandlers ] ;
		add: [ SMSqueakMap default clearCaches ] ;
		add: [ Smalltalk removeEmptyMessageCategories ] ;
		add: [ Utilities cleanseOtherworldlySteppers ] ;
		add: [ Workspace allSubInstancesDo: [ : each | each
setBindings: Dictionary new ] ] ;
		add: [ Undeclared removeUnreferencedKeys ] ;
		add: [ Categorizer sortAllCategories ] ;
		add: [ Symbol compactSymbolTable ] ;
		add: [ ReleaseBuilderDeveloper new fixObsoleteReferences ] ;
		add: [ Smalltalk garbageCollectMost ] ;
		yourself.
	Utilities informUserDuring: 
		[ : bar | 
		tasks do: 
			[ : block | 
			bar value: block printString.
			[ block value ] 
				on: Error
				do: 
					[ : error | 
					Transcript
						show: error ;
						cr ] ] ].
	SystemNavigation default obsoleteClasses isEmpty 
		ifTrue: [ SmalltalkImage current saveSession ]
		ifFalse: 
			[ (self confirm: 'PointerFinder on obsolete
classes') ifFalse: [ ^ self ].
			SystemNavigation default obsoleteClasses do: 
				[ : each | 
				[ PointerFinder on: each ] 
					on: Error
					do: 
						[ : error | 
						Transcript
							show: error ;
							cr ] ] ]

Ramon Leon
http://onsmalltalk.com




More information about the Squeak-dev mailing list