[Cuis-dev] Cuis on SqueakJS

Juan Vuletich juan at cuis.st
Fri Oct 27 13:31:35 PDT 2023

Hi Vanessa,

On 10/27/2023 2:36 AM, Vanessa Freudenberg via Cuis-dev wrote:
> Hi Juan,
> primitive 184 (Object>>pin) was missing. I added that to the VM as a 
> no-op answering true and now it works.

Please don't. Pin is assumed to answer whether the the object was 
already pinned or not, and the primitive is assumed to pin/unpin as 
requested if it doesn't fail. Please keep the primitive failing if 
pinning is not supported. I just pushed an update to handle that 
situation. Now #pin and #unpin silently answer false if the primitive 
fails, so calling code can be aware of the situation.

> There is no HostWindowPlugin, that's why there is an error when 
> resizing the window.

Another update just pushed for that.

> Spur Cuis is slower than necessary because there is a full GC 
> in VectorEngineDrawer>>pvtSetForm:. So it often collects garbage 
> manually which is slow (you can see that if you open the JS console).

Yes. I just pushed an update to just unpin the old objects, and removed 
the GC. It shouldn't be needed at all.

> This link uses a spur image:
> https://tinyurl.com/cuis6053spur
> And btw there's actually a bug in th v3 image: Behavior>>identityHash 
> should be deleted, since in v3 there is no primitive 175.

Oh, good catch! Just fixed that too.

> Vanessa

Thank you so much for taking the time to carefully test Cuis on 
SqueakJS. Hopefully no special hacks in the VM will be needed to run Cuis.


Juan Vuletich

More information about the Cuis-dev mailing list