[squeak-dev] The Trunk: Kernel-mt.1380.mcz

Thiede, Christoph Christoph.Thiede at student.hpi.uni-potsdam.de
Tue Mar 9 12:02:27 UTC 2021


Hi Marcel,


that's a fair point. :-) How can we get rid of Alien in #recreateSpecialObjects? Would it be okay to move it into something like "Alien initialize"? Or should #recreateSpecialObjects provide hooks/arguments to keep control of this central array?

<http://www.hpi.de/>

The method comment states that external packages should use addGCRoot() instead. Why doesn't Alien do so?

Best,
Christoph
________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von Taeumel, Marcel
Gesendet: Dienstag, 9. März 2021 12:47:11
An: squeak-dev
Betreff: Re: [squeak-dev] The Trunk: Kernel-mt.1380.mcz

Hi Christoph.

> Duplication hurts :-)

Now think again about modularity and global state. ;-) Take the slot for "Alien" as an example, which I replaced in "FFI-Callbacks". Projects are free to switch between compatible classes as the VM will happily produce the new instances. While this may not be true for all slots in the special-objects array, it is still true for many of them. So, #recreateSpecialObjectsArray may be the actual issue here.

Best,
Marcel

Am 09.03.2021 12:42:36 schrieb Thiede, Christoph <christoph.thiede at student.hpi.uni-potsdam.de>:

Hi Marcel,


why do we need a redundant #initialize method for this? Wouldn't it have been enough to trigger #recreateSpecialObjectsArray in a postscript? Duplication hurts :-)


Best,

Christoph

<http://www.hpi.de/>
________________________________
Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von commits at source.squeak.org <commits at source.squeak.org>
Gesendet: Dienstag, 9. März 2021 11:40:22
An: squeak-dev at lists.squeakfoundation.org; packages at lists.squeakfoundation.org
Betreff: [squeak-dev] The Trunk: Kernel-mt.1380.mcz

Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-mt.1380.mcz

==================== Summary ====================

Name: Kernel-mt.1380
Author: mt
Time: 9 March 2021, 11:40:18.855529 am
UUID: cef64cd0-d892-584e-8bce-6f5dac0202fc
Ancestors: Kernel-eem.1379

Make sure that special object no. 38 is FullBlockClosure.

See discussion at http://forum.world.st/Smalltalk-specialObjectsArray-at-38-tp5125148p5125164.html

=============== Diff against Kernel-eem.1379 ===============

Item was added:
+ ----- Method: FullBlockClosure class>>initialize (in category 'class initialization') -----
+ initialize
+        "Also see SmalltalkImage >> #recreateSpecialObjectsArray."
+
+        (Smalltalk specialObjectsArray at: 38)
+                ifNil: [Smalltalk specialObjectsArray at: 38 put: self].!


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20210309/729efa91/attachment.html>


More information about the Squeak-dev mailing list