Date: May 1, 2009 7:31:05 PM CEDT
Subject: Re: [Pharo-project] Closure update from eliot
I just used this in an updated Pharo0.1Core-10281cl.image
PseudoContext becomeUncompact.
LargeNegativeInteger becomeCompact.
Smalltalk compactClassesArray at: 12 put: nil. "Stomp on the obsolete Translated whatsit"
BlockClosure becomeCompact
On Fri, May 1, 2009 at 9:29 AM, John M McIntosh
<johnmci@smalltalkconsulting.com> wrote:
Also see
http://code.google.com/p/pharo/issues/detail?id=467
Eliot wants
#(CompiledMethod MethodProperties Array LargeNegativeInteger LargePositiveInteger Float MethodDictionary Association Point Rectangle ByteString BlockClosure BlockContext MethodContext nil Bitmap nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil)
so do
(Smalltalk compactClassesArray select: [:e | e notNil and: [e isObsolete]])
do: [:i | i becomeUncompact].
PseudoContext becomeUncompact.
Smalltalk garbageCollect.
LargeNegativeInteger becomeCompact.
BlockClosure becomeCompact.
gives then
Smalltalk compactClassesArray inspect
{CompiledMethod . MethodProperties . Array . LargeNegativeInteger . LargePositiveInteger . Float . MethodDictionary . Association . Point . Rectangle . ByteString . BlockClosure . BlockContext . MethodContext . nil . Bitmap . nil . nil . nil . nil . nil . nil . nil . nil . nil . nil . nil . nil . nil . nil . nil}
Which my squinting eyeballs this morning seem to say it's the same...
A post check is
Smalltalk compactClassesArray doWithIndex:
[:c :i | c == nil ifFalse:
[c indexIfCompact = i ifFalse: [self halt]]]
On 1-May-09, at 3:10 AM, St�phane Ducasse wrote:
Smalltalk compactClassesArray
--
===========================================================================
John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
===========================================================================