<div dir="ltr">Hi,<div><br></div><div>with Yuriy and Miroslava we have tried to finish a pull request for conversion of rules to Renraku. But we had to face to a strange failing tests. It was not clear on the first sight but these tests were failing because of time-outs. Then we realized that the reason for this may be in big amount of records in the ASTCache. After some investigation with Denis we discovered that the real reason is in the presence of garbageCollect call in PharoClassInstaller>>#migrateClasses:to:using: and the big ASTCache only made this call significantly slower.</div><div><br></div><div>It looks like Denis proved that the removal of this garbageCollect call is safe. So we should try to remove it in Pharo 7 because it evidently makes performance issues.</div><div><br></div><div>-- Pavel<br><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-04-16 8:48 GMT+02:00 Tudor Girba <span dir="ltr"><<a href="mailto:tudor@tudorgirba.com" target="_blank">tudor@tudorgirba.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
Please let’s move this discussion on pharo-dev. And keep going :)<br>
<br>
Cheers,<br>
Doru<br>
<div><div class="h5"><br>
<br>
<br>
<br>
> On Apr 14, 2017, at 12:09 PM, Denis Kudriashov <<a href="mailto:dionisiydk@gmail.com">dionisiydk@gmail.com</a>> wrote:<br>
><br>
><br>
> 2017-04-14 11:09 GMT+02:00 <a href="mailto:tesonep@gmail.com">tesonep@gmail.com</a> <<a href="mailto:tesonep@gmail.com">tesonep@gmail.com</a>>:<br>
> Hi, I think the problem was not clearly explained. This is the scenario that is problematic.<br>
> This scenario does not happen in the new Spur implementation of forwarding, but I think is happening in the old one.<br>
><br>
> 1. You have, let's say 3 instances of ClassA.<br>
> 2. You add a new instance variable to ClassA. It produces<br>
>    2a. A new ClassAv2 is created with the instances variables of ClassA and the newone<br>
>    2b. 3 Instances of ClassAv2 are created<br>
>    2c. The values of the instance variables of ClassA are copied to the ones in ClassAv2 (the ones missing are left in nil).<br>
>    2d. The 3 instances of ClassA are becomed forward to the 3 instances of ClassAv2<br>
>    2e. The ClassA is becomed forward ClassAv2<br>
><br>
> I still not see why my example not reflects all these steps. I checked also scenario with class becoming:<br>
><br>
> c1 := Class1 new.<br>
> c2 := Class2 new.<br>
> c1 becomeForward: c2.<br>
> Class1 becomeForward: Class2.<br>
> Class2 allInstances "=>#(aClass2)"<br>
><br>
> It also works in Cog<br>
<br>
</div></div>--<br>
<a href="http://www.tudorgirba.com" rel="noreferrer" target="_blank">www.tudorgirba.com</a><br>
<a href="http://www.feenk.com" rel="noreferrer" target="_blank">www.feenk.com</a><br>
<br>
"What we can governs what we wish."<br>
<br>
<br>
<br>
<br>
<br>
</blockquote></div><br></div>