[Vm-dev] Questions related to immutability in Cog

Clément Bera bera.clement at gmail.com
Tue Nov 10 14:17:32 UTC 2015


Hello everyone,

I tried to understand how immutability is implemented in the CogVM
(NewSpeak flavor). I have some questions:

- Does it actually work and is it used ?
- Does an object being immutable means that you can't edit its variable
fields only or that you can't either edit its instance variables ? Because
I don't see any code checking for instance variable stores in the Newspeak
interpreter.
- How does the immutability check works in machine code ? In the Newspeak
interpreter there is an immutability check in #at:put: . In the at:put:
generated by the JIT (for example CogObjectRepresentationFor32BitSpur) I
don't see any immutability check. Did I miss some clever bit trick ? Does
the Newspeak spur VMs use the #at:put: machine code version of the
primitive ?

Thanks !
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20151110/16343dfa/attachment-0001.htm


More information about the Vm-dev mailing list