[Vm-beginners] A question concerning the proposed become implementation

Mateusz Grotek unoduetre at poczta.onet.pl
Fri Mar 21 12:28:31 UTC 2014


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


More information about the VM-beginners mailing list