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! |
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
|
On Wed, Oct 9, 2019 at 12:26 AM Marcel Taeumel <[hidden email]> wrote:
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, Eliot |
Free forum by Nabble | Edit this page |