[Vm-dev] Why "context top" points to "tempVector" and not to
variable value?
Denis Kudriashov
dionisiydk at gmail.com
Wed May 11 10:02:31 UTC 2016
I found reason about it.
When message send executed it pops receiver from current stack.
But anyway it is very confusing to not see receiver as stack top in
debugger. Maybe extra field "current receiver" should be added to debugger
in that case
2016-05-11 11:51 GMT+02:00 Denis Kudriashov <dionisiydk at gmail.com>:
> Here better example to see problem:
>
> | t d |
> [ t := 'test'.
> d := 'test2' ] value.
> t.
> ^ d halt
>
>
> Stack top here will show #('test' test2') which is completely confusing
>
> 2016-05-11 11:45 GMT+02:00 Denis Kudriashov <dionisiydk at gmail.com>:
>
>> Hi.
>>
>> Try to debug following script:
>>
>> | t |
>> [ t := 'test' ] value.
>> ^ t halt
>>
>>
>> You will see in debugger #('test') as stack top value. Why it is not
>> 'test'?
>> I understand that hidden arrays used for variables which are used in
>> closures. But why "context top" in that cases points to vector instead of
>> variable value?
>>
>> Best regards,
>> Denis
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20160511/1eaee593/attachment.htm
More information about the Vm-dev
mailing list