[Cuis-dev] Changes to unwind logic and termination
Jaromir Matas
mail at jaromir.net
Thu Nov 20 12:44:23 PST 2025
Hi Juan,
On Nov 20 2025, at 6:52 pm, Juan Vuletich via Cuis-dev
<cuis-dev at lists.cuis.st> wrote:
> Hi Jaromir,
>
> On 2025-11-20 10:37 AM, Jaromir Matas via Cuis-dev wrote:
>> ...
>>
>>>> What still confuses me
>>>> is when you debug
>>>>
>>>> `true not`
>>>>
>>>> then step into #not and explore thisContext: what's the meaning of the
>>>> pc counter relative to the method? It doesn't point to an existing
>>>> bytecode (there's none actually) - is it ok? Why 25? It's confusing...
>>>
>>> Well, it is a primitive method, the first (and only) bytecode there is
>>> the 3 byte "Call Primitive" bytecode, at position 25. Maybe some
>>> clarification is needed somewhere.
>>>
>> It's clear now, I could have known better though :) I've enclosed the
>> explorer screenshot I found confusing/inconsistent. The pc says 25 but
>> there's no bytecode 25; they start at 28. Of course the last literal is
>> literal2 so the next must refer to the three byte bytecode conveniently
>> translated to "symbolic: Quick return false" but it's quite a lot to
>> realize without prior experience ;o
>>
>>> ...
>
> Well, you're right. The inspector was slightly better though...
>
> Based on your experience and feedback I changed how bytecodes for
> methods are shown in Browser, Explorer and Inspector. I hope it is
> clearer now!
>
Much more understandable, thank you! This is great:
(True>>#not) symbolic
Quick return false
<primitive: 258>
25 <F8 02 01> callPrimitive: 258
One thing, perhaps: <primitive: 258> would hint there's a pragma there
but there's not really, right? `(True>>#not) pragmas` answers #().
In "standard" cases like:
(BlockClosure>>#value) symbolic
<primitive: 201>
49 <F8 C9 00> callPrimitive: 201
52 <02> pushRcvr: 2 "numArgs"
...
the pragma is there and `(BlockClosure>>#value) pragmas` answers
{<primitive: 201>}
But I'm not closely familiar with pragmas so I don't suggest anything :)
Again, many thanks for your help,
Jaromir
> Cheers,
>
> --
> Juan Vuletich
> www.cuis.st
> github.com/jvuletich
> researchgate.net/profile/Juan-Vuletich
> independent.academia.edu/JuanVuletich
> patents.justia.com/inventor/juan-manuel-vuletich
>
> --
> Cuis-dev mailing list
> Cuis-dev at lists.cuis.st
> https://lists.cuis.st/mailman/listinfo/cuis-dev
>
More information about the Cuis-dev
mailing list