On 14 April 2017 at 10:19, Stephane Ducasse <stepharo.s...@gmail.com> wrote:
> But I do not get how doing that would handle the old instances? > Because you want to migrate the old instances. > > +1 there are no such thing as 'bad zombies', if they are there, it means you either don't care about migrating data or again, don't care about doing #becomeForward-ing them properly. In any case i don't see how GC could help to fix these issues. You either have consistency or don't have it, and GC cannot do anything magical to fix it. > Stef > > On Wed, Apr 12, 2017 at 1:26 PM, Denis Kudriashov <dionisi...@gmail.com> > wrote: > >> >> 2017-04-12 13:17 GMT+02:00 Guillermo Polito <guillermopol...@gmail.com>: >> >>> 1) each instance of A is becomed into its corresponding instance of A' >>> 2) finally we become class A into A' >>> This step will make that old instances of A now have: >>> - the old format >>> - but point to the new class A >>> >> >> step 1) ensures that there are no instances of class A anymore. >> Check following script: >> >> c1 := Class1 new. >> c2 := Class2 new. >> c1 becomeForward: c2. >> Class1 allInstances "=> #()". >> >> >> And full migration is executed in high priority uninterrupted process to >> ensure that between 1) and 2) nobody will instantiate Class1 >> >> > -- Best regards, Igor Stasenko.