Patch request for 7036

Gary Chambers gazzaguru at btinternet.com
Fri Jul 7 12:01:15 UTC 2006


That's me.

While investigating condenseChanges I found that some of the trait methods
had non-shared compiled methods in the classes using them, even when not
local to the classes using them. After further delving, methods that call
super have their own compiled method (legitimate) but some without super
calls also did (not good). These extra compiled methods share the source
code pointer and so, when filed out (a subsequent time), refer to the old
changes file with the new changes pointer.

By manually fixing up the trait usage via #notifyUsersofChangedSelectors:
for all local (trait) methods I was able to get it to the point where my
suggestion for a revised #moveChangesTo: method managed to condense the
changes correctly (subject to other issues addressed elsewhere).

Saved my bacon since running into the 32MB limit.

> -----Original Message-----
> From: squeak-dev-bounces at lists.squeakfoundation.org
> [mailto:squeak-dev-bounces at lists.squeakfoundation.org]On Behalf Of
> Adrian Lienhard
> Sent: 07 July 2006 12:15 PM
> To: The general-purpose Squeak developers list
> Subject: Re: Patch request for 7036
>
>
> Hi Pavel,
>
> I started looking into the condenseChanges problem (http://
> bugs.impara.de/view.php?id=3737).
>
> In the IRC log which is attached to the Mantis report there is some
> talk about inconsistencies with the Traits structure in memory (and
> some code which should fix this). I'd like to understand what is
> wrong. Do you know more? Or do you know who is "Gazza" resp. "guru'?
>
> Cheers,
> Adrian
>
> On Jun 30, 2006, at 12:19 , Pavel Krivanek wrote:
>
> > Hi Stef,
> >
> > can you put this two patches into the next 3.9a release?
> >
> > condenseChanges fix is related to http://bugs.impara.de/view.php?
> > id=3737
> > - this patch doesn't solve all problems of condenseChanges routine but
> > it's better than nothing.
> >
> > AsyncFile fix simply renames class variable named Error to ErrorCode.
> > The first name collides with global class name.
> >
> > This will help me to update self-bootstrapping environment for Squeak
> > 3.9 and make its public repository
> > (http://www.squeaksource.com/KernelImage.html) usable.
> >
> > -- Pavel
> > <condenseChanges fix.st>
> > <AsyncFile fix.cs>
> >
>
>




More information about the Squeak-dev mailing list