Hi,

All methods (and methods of blocks) that are executing already will keep 
executing the wrong code.

As only offsets change, one could do on-stack replacement of these methods, but 
nobody has implemented that
yet.

It might be good to have a check that warns when changing layout of classes 
that are active on the stack….

> On 30 Aug 2015, at 14:49, Yuriy Tymchuk <[email protected]> wrote:
> 
> Yes, but the situation is weird, because if you look at the variable in the 
> debugger - everything is ok. Is there a way to understand what has not 
> mutated?
> 
> Uko
> 
> 
>> On 30 Aug 2015, at 13:35, stepharo <[email protected]> wrote:
>> 
>> may be code executing the check did not get mutated when the system changed 
>> shape.
>> 
>> Le 30/8/15 11:00, Marcus Denker a écrit :
>>>> On 30 Aug 2015, at 10:57, Yuriy Tymchuk <[email protected]> wrote:
>>>> 
>>>> So the byte symbol comes from the “position” inst var of the superclass. 
>>>> I’m not completely sure how it works on low level, but I guess that 
>>>> because you a a new variable, the others shift and it accesses the value 
>>>> that is actually mapped to another variable. Is it the issue of my 
>>>> implementation? How can I improve it?
>>>> 
>>> The class builder is normally supposed to fix that transparently: You add 
>>> var, all methods are recompiled and all instances are migrated. There could 
>>> be bugs there.
>>> 
>>>> Uko
>>>> 
>>>>> On 28 Aug 2015, at 10:50, stepharo <[email protected]> wrote:
>>>>> 
>>>>> When I add an iv to Model I get a ByteSymbol>>entity:
>>>>> 
>>>>> QANautilusPluggin>>initialize
>>>>> 
>>>>>  changeHandler := GLMAsyncTask new
>>>>>      priority: Processor activePriority - 1;
>>>>>      doInBackground: [ morph entity: self currentEntity ];
>>>>>      yourself
>>>>> 
>>>>> And in the debugger morph is a a Morph exactly a 
>>>>> QANautilusPluginMorph(493092864)
>>>>> 
>>>>> Yuriy do you use thread?
>>>>> 
>>>>> Stef
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
> 
> 


Reply via email to