----- Forwarded Message -----
From: Chris Muller <[hidden email]>
To: [hidden email] Sent: Monday, April 11, 2005 10:21 AM
Subject: Re: Significant WriteBarrier bug, assistance needed
Hi Avi, I did spend some more time with it, but I wasn't able to find a
The main challenge is in updating existing instances of the * classes (e.g.,
the anonymous subclasses). My initial statement that we should need to do
nothing when WbTestA is modified was wrong, the * classes do indeed have a
different format, that's why we are unable to remove them from the
But I have not been successful in using any existing system methods (i.e.,
"ClassBuilder new mutate: oldClass to: class") because they are not equipped to
migrate instances with different instSizes. And that's the odd thing; when it
#migrateFromTarget: oldSuperclass to: newSuperclass
the oldClass' instSize is still 1, even though it has two instVars in its
superclasses (I changed the test script I sent you to start-out WbTestA with
one variable instead of none).
So, in the back of my mind, I've been thinking about potential "backup" ideas
such as writing a custom migration method that can handle this odd situation.
OR, try to find some kind of "pre-notification" from the SystemChangeNotifier
of the class-change (if even available!) and remove all and then add them back
in on the post.. I dunno, I actually hope this will be a piece of cake for you
so I don't have to resort to this.
I just posted a new Magma on SqueakSource last night that supports WriteBarrier
but leaves it off by default due to this problem. With WriteBarrier turned on,
the peak commit rate jumped from about 20 per second to 114 per second! The
bottom line is, WriteBarrier is way too cool to stop now. And I love how this
could not be done in Java.. :)
> On Apr 5, 2005 10:35 PM, Chris Muller <[hidden email]> wrote:
> > Hi, I know you just helped me with one bug but now I've run into a tougher
> > I thought I had it nailed, I think my fix is close but there is still one
> > problem which I can't seem to fix.
> Hi Chris,
> Did you ever make any progress on this?