> On 6 Sep 2018, at 23:35, Petr Fischer via Pharo-users
> <[email protected]> wrote:
>
>
> From: Petr Fischer <[email protected]>
> Subject: adding instance variables (data) to the Object class
> Date: 6 September 2018 at 23:35:26 CEST
> To: [email protected]
>
>
> Hello! Weird question: why I can't add instance variables to the Object class
> (for example "oid" or something else)? Is it due to some internal (and
> different) VM "class layouts"?
>
> Or - can I inject my own information to all existing objects (any class)?
>
Behavior is a subclass of Object, too. So that means that you would add a ivar
to all the classes, but for the VM an object can only be a class that has three
ivars, and those
are accessed by offset. So if you add an ivar, you shift the offset —> problem.
As for “I want to add object specific state”: it would be nice to add an easy
to use (and efficient) mechanism to do it.
Marcus