Hi,

up to Pharo11, the commentSourcePointer that is used to read and write the 
class comments was in ClassOrganization.

In Pharo 12, we moved the commentSourcePointer to Class, Metaclass therefore 
has no empty commentSourcePointer anymore
 via it’s organizer.

PR is merged… these are of course more steps then you would think

Started in Pharo11:

- ix-tests-commentSourcePointer #11441
        https://github.com/pharo-project/pharo/pull/11441

- Add commentSourcePointer to ClassDescription #11326
        https://github.com/pharo-project/pharo/pull/11326

Pharo 12:

- Set-CommentSourcepointer-ClassDescription #13171
        https://github.com/pharo-project/pharo/pull/13171

- remove commentSourcePointer from ClassOrganization #13176
        https://github.com/pharo-project/pharo/pull/13176

- CommentSourcePointer-move-methods-down #13640
        https://github.com/pharo-project/pharo/pull/13640

- move commentSourcePointer from ClassDescription to Class #13643
        https://github.com/pharo-project/pharo/pull/13643

- fix BehaviorTest>>#testInstSize #13648
        https://github.com/pharo-project/pharo/pull/13648

and DONE. Moving ivars around in these classes is of course not easy, it can 
only be done with creating a PR by editing
the code directly and then can be bootstapped, but you could not do that from a 
running image.

(this explains why the commentSourcePointer was in ClassOrganization to start 
with, when it was introduced, this was
the only place to put without major hassle)

- the code is now much simpler to understand (Metaclass forwards all methods 
related to comments to #instanceSide)

- it saves (a little bit) of memory 
        (Smalltalk globals allClasses size * 8)   bytes

- is just one step to move merge ClassOrganization with ClassDescription, which 
will be a bit more relevant in terms of memory


        Marcus



Reply via email to