[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