[squeak-dev] Weird transient Traits test error

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Sun May 5 15:09:07 UTC 2013


And about moving the biding to undeclared, this might be a good thing,
because removing class TUTU, then adding it again will re-bind all
references.


2013/5/5 Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com>

> Previous versions did not move the binding to undeclared. They did just
> remove it.
> The binding did still point to the obsolete class, and that is what is
> tested in testMethodClass.
>
> I don't know what the correct Behaviour is...
> I can just tell that it has changed.
>
> In VW, there is a direct pointer from a CompiledMethod to the class
> because become is cheap.
> In Squeak, the pointer is indirect thru the binding, so IMO it's an
> implementation detail.
>
> Since we still have the binding name though, I wonder if it's really
> interesting to have the value pointing to obsolete class...
> If not, we can eventually change the test.
>
>
> 2013/5/4 Colin Putney <colin at wiresong.com>
>
>>
>>
>>
>> On Fri, May 3, 2013 at 1:18 PM, Nicolas Cellier <
>> nicolas.cellier.aka.nice at gmail.com> wrote:
>>
>>> Yes but Environments are not stabilized yet.
>>> Look for example at CompiledMethodTest>>#testMethodClass
>>> It is failing because Environment>>#forgetClass:logged: moves the class
>>> binding in undeclared (Dictionary>>#declare:from: ), but then overwrite the
>>> value with nil.
>>> Thus the references to AnObsoleteTUTU are then nilled out...
>>>
>>
>> Isn't that the correct behaviour? Direct references to the class by name
>> should be nil, but any variables that refer to the class object still have
>> a reference to the obsolete class, and instances still have their state but
>> don't understand messages because their class is obsolete.
>>
>> If that's not the correct behaviour, what is?
>>
>> Colin
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20130505/832d5e0d/attachment.htm


More information about the Squeak-dev mailing list