----- Forwarded Message ----- From: Chris Muller chris@funkyobjects.org To: avi@beta4.com 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 solution.
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 WriteBarrier.
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 comes into
#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.. :)
Please let me know if I can help in any way.
Thanks, Chris
--- Avi Bryant avi.bryant@gmail.com wrote:
On Apr 5, 2005 10:35 PM, Chris Muller chris@funkyobjects.org wrote:
Hi, I know you just helped me with one bug but now I've run into a tougher
one.
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?
Avi
magma@lists.squeakfoundation.org