The Trunk: Kernel-eem.1273.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Kernel-eem.1273.mcz

commits-2
Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1273.mcz

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

Name: Kernel-eem.1273
Author: eem
Time: 8 October 2019, 12:59:35.689325 pm
UUID: 50bfe346-15d7-4aa9-ba69-0c21d3d8d011
Ancestors: Kernel-mt.1272

Add a method that documents the postRecompileAction convention for rebuilding state affected by a Compiler recompileAll.

=============== Diff against Kernel-mt.1272 ===============

Item was added:
+ ----- Method: Object class>>postRecompileAction (in category 'documentation') -----
+ postRecompileAction
+ "This is a stub method to document the convention for reinitializing state at the end of Compiler recompileAll.
+ The issue is that after recompiling all methods, processes or blocks could remain that refer to old methods,
+ and that somehow those processes should be restarted and objects referring to blocks rebuilt.  For example,
+ PluggableDictionary integerDictionary creates a PluggableDictionary with a hashBlock that refers to the
+ PluggableDictionary class>>#integerDictionary method.  Users of PluggableDictionary integerDictionary can
+ rebuild structures containing it after recompile by implementing thsi method to do so.  Compiler will then
+ invoke any and all such methods after recompileAll."
+
+ ^self!


Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Kernel-eem.1273.mcz

marcel.taeumel
Nice! :-)

Is it kind of related to ReleaseBuilder class >> #prepareProcesses? Or do we need both kinds of mechanisms? Maybe could get rid of #prepareProcesses in the ReleaseBuilder?

Best,
Marcel

Am 08.10.2019 21:59:48 schrieb [hidden email] <[hidden email]>:

Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1273.mcz

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

Name: Kernel-eem.1273
Author: eem
Time: 8 October 2019, 12:59:35.689325 pm
UUID: 50bfe346-15d7-4aa9-ba69-0c21d3d8d011
Ancestors: Kernel-mt.1272

Add a method that documents the postRecompileAction convention for rebuilding state affected by a Compiler recompileAll.

=============== Diff against Kernel-mt.1272 ===============

Item was added:
+ ----- Method: Object class>>postRecompileAction (in category 'documentation') -----
+ postRecompileAction
+ "This is a stub method to document the convention for reinitializing state at the end of Compiler recompileAll.
+ The issue is that after recompiling all methods, processes or blocks could remain that refer to old methods,
+ and that somehow those processes should be restarted and objects referring to blocks rebuilt. For example,
+ PluggableDictionary integerDictionary creates a PluggableDictionary with a hashBlock that refers to the
+ PluggableDictionary class>>#integerDictionary method. Users of PluggableDictionary integerDictionary can
+ rebuild structures containing it after recompile by implementing thsi method to do so. Compiler will then
+ invoke any and all such methods after recompileAll."
+
+ ^self!




Reply | Threaded
Open this post in threaded view
|

Re: The Trunk: Kernel-eem.1273.mcz

Eliot Miranda-2


On Wed, Oct 9, 2019 at 12:26 AM Marcel Taeumel <[hidden email]> wrote:
Nice! :-)

Is it kind of related to ReleaseBuilder class >> #prepareProcesses? Or do we need both kinds of mechanisms? Maybe could get rid of #prepareProcesses in the ReleaseBuilder?

Good question.  Let me live with the code for a few more days.  I like prepareProcess; it's explicit, but at the same time postRecompileAction makes it clear when and why we're doing this.
 

Best,
Marcel

Am 08.10.2019 21:59:48 schrieb [hidden email] <[hidden email]>:

Eliot Miranda uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-eem.1273.mcz

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

Name: Kernel-eem.1273
Author: eem
Time: 8 October 2019, 12:59:35.689325 pm
UUID: 50bfe346-15d7-4aa9-ba69-0c21d3d8d011
Ancestors: Kernel-mt.1272

Add a method that documents the postRecompileAction convention for rebuilding state affected by a Compiler recompileAll.

=============== Diff against Kernel-mt.1272 ===============

Item was added:
+ ----- Method: Object class>>postRecompileAction (in category 'documentation') -----
+ postRecompileAction
+ "This is a stub method to document the convention for reinitializing state at the end of Compiler recompileAll.
+ The issue is that after recompiling all methods, processes or blocks could remain that refer to old methods,
+ and that somehow those processes should be restarted and objects referring to blocks rebuilt. For example,
+ PluggableDictionary integerDictionary creates a PluggableDictionary with a hashBlock that refers to the
+ PluggableDictionary class>>#integerDictionary method. Users of PluggableDictionary integerDictionary can
+ rebuild structures containing it after recompile by implementing thsi method to do so. Compiler will then
+ invoke any and all such methods after recompileAll."
+
+ ^self!





--
_,,,^..^,,,_
best, Eliot