I imagine that you imply keeping the cGlobalVariable binding for the real global variable.
On Wed, Sep 13, 2017 at 4:52 PM, Denis Kudriashov <dionisi...@gmail.com> wrote: > So after discussion the solution would be: > - ClassBinding for instance side method literals and globals dictionary > (instead of GlobalVariable) > - MetaclassBinding for the last literal of class side methods. It will > include proper comment about where it is used and how, with description of > current trick > > 2017-09-13 16:45 GMT+02:00 Marcus Denker <marcus.den...@inria.fr>: >> >> >> > On 12 Sep 2017, at 17:33, Guillermo Polito <guillermopol...@gmail.com> >> > wrote: >> > >> > I don't know... I found the idea of having a Metaclass binding >> > strange... >> > >> > I mean, >> > - metaclasses are not stored in any name dictionary such as Smalltalk >> > - nobody references them directly in source code but by their direct >> > classes >> > >> > The metaclass binding is there just for one thing really: methods need >> > an association to know their class in case they have to do a super send. >> > And >> > transitively this is a compiler problem also. But anybody else accesses >> > metaclasses' bindings. >> > >> yes, we need it just for the last literal. >> >> We added the “if there is a method, get the binding from there” we adde as >> else >> we would compiler every class side method with a new Association instance, >> which >> wastes lots of space. >> >> Marcus > >