[squeak-dev] Latest Trunk: WeakFinalizerList and WeakFinalizerItem are Undeclared (Weak Finalization not completely [or accidentally] in Trunk?)

David T. Lewis lewis at mail.msen.com
Fri Aug 13 01:48:41 UTC 2010


On Thu, Aug 12, 2010 at 11:45:23PM +0200, Levente Uzonyi wrote:
> On Thu, 12 Aug 2010, Enrico Spinielli wrote:
> 
> >Then WeakFinalizersTest should be removed from Trunk, shouldn't it?
> 
> Not yet. :)
> If the community decides that the VM should support this finalization 
> mechanism and the VM maintainers add it to the VM, then we can load the 
> rest of the (possibly updated) image-side code and have much faster 
> finalization (O(1) instead of O(n) cost).
> But if there's no decision till the release of Squeak 4.2, then we will
> remove it from the Trunk before the release. Until then it's a good 
> reminder IMO.

Absolutely agree, this is important work.

See also http://bugs.squeak.org/view.php?id=7473

The VM changes already be in place (as of VMMaker versionString 4.2.2)
such that they will be included in future VM builds:

  VMMaker-dtl.175.mcz	Dave Lewis, 26 May 2010 2:05:43 am
  VMMaker 4.2.2
  
  Reference Mantis 7473: VM changes for better finalization support
  
  Add Igor's VM changes to support better finalization (weak-finalizers-VM.1.cs merged with Alien support updates).
  
  Expand special object array with slots needed for Alien as well as for new finalization
  support. The new entries in ObjectMemory class>>initializeSpecialObjectIndices are:
  
  SelectorAttemptToAssign := 50.
  "PrimErrTableIndex := 51. in Interpreter class>>initializePrimitiveErrorCodes"
  ClassAlien := 52.
  InvokeCallbackSelector := 53.
  ClassUnsafeAlien := 54.
  ClassWeakFinalizer := 55

Dave




More information about the Squeak-dev mailing list