Quantcast

A question concerning the proposed become implementation

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

A question concerning the proposed become implementation

Mateusz Grotek
Dear VM specialists,

I have the following question concerning the proposed (is it already
implemented?) become implementation:
http://www.mirandabanda.org/cogblog/2013/09/13/lazy-become-and-a-partial-read-barrier/

How does this implementation prevent forming long chains of redirections?

Let's say I have a variable V1 pointing to an object O1. (V1 -> O1).
I have another variable V2 pointing to an object O2. (V2 -> O2).
After that I do: V1 becomeForward: V2.
Now A points to B, so I have V1 -> O1 -> O2
Now I assign to V2 an object O3: (V2 -> O3)
And again do:
V1 becomeForward: V2.

So I have: V1 -> O1 -> O2 -> O3

I do it a couple of times. Now I have a long chain of redirections:
V1 -> O1 -> O2 -> O3 -> O4 -> O5 -> .... -> ON

If I save my image it gets saved inside it. So the longer I use my image
the longer the chain is. In the end it's longer than my memory and the
image crashes.

What am I missing?

Yours sincerely,
Mateusz Grotek
_______________________________________________
VM-beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: A question concerning the proposed become implementation

Mateusz Grotek
> Now A points to B,
should be: Now O1 points to O2

_______________________________________________
VM-beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/vm-beginners
Loading...