<div dir="ltr">Hello everyone,<div><br></div><div>I tried to understand how immutability is implemented in the CogVM (NewSpeak flavor). I have some questions:</div><div><br></div><div>- Does it actually work and is it used ?</div><div>- Does an object being immutable means that you can&#39;t edit its variable fields only or that you can&#39;t either edit its instance variables ? Because I don&#39;t see any code checking for instance variable stores in the Newspeak interpreter.</div><div>- 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&#39;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 ?</div><div><br></div><div>Thanks ! </div><div>
</div></div>