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

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

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

espin
Hi all,
in latest Trunk (update: 10352) I run all tests and found that
ReleaseTest>>testUndeclared
is failing due to references to
   WeakFinalizationList
   WeakFinalizerItem
in
   WeakFinalizersTest>>testNewFinalizationSupported

It seems to me that weak finalization was provided by Igor as a Mantis bug fix
(see last email in thread [1] and related mantis bug [2]) but not in Trunk.
Maybe remnants of it got in by accident or it has not been completely
integrated in Trunk: it is difficult for me to dig further...

Hope it helps
Bye
Enrico

[1] http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-May/150986.html
[2] http://bugs.squeak.org/view.php?id=7473
--
Enrico Spinielli
"Do Androids dream of electric sheep?"— Philip K. Dick
"Hear and forget; see and remember;do and understand."—Mitchel Resnick

Reply | Threaded
Open this post in threaded view
|

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

Levente Uzonyi-2
On Thu, 12 Aug 2010, Enrico Spinielli wrote:

> Hi all,
> in latest Trunk (update: 10352) I run all tests and found that
> ReleaseTest>>testUndeclared
> is failing due to references to
>   WeakFinalizationList
>   WeakFinalizerItem
> in
>   WeakFinalizersTest>>testNewFinalizationSupported
>
> It seems to me that weak finalization was provided by Igor as a Mantis bug fix
> (see last email in thread [1] and related mantis bug [2]) but not in Trunk.
> Maybe remnants of it got in by accident or it has not been completely
> integrated in Trunk: it is difficult for me to dig further...
IIRC the packages for these classes are in the Inbox, though Igor said he
will rewrite parts of the image-side code. But to use this new
finalization mechanism, the VM has to support it. Currently the necessary
changes are not in the VM trunk. AFAIK Eliot is working on a new garbage
collector, which may make these changes obsolete.


Levente

>
> Hope it helps
> Bye
> Enrico
>
> [1] http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-May/150986.html
> [2] http://bugs.squeak.org/view.php?id=7473
> --
> Enrico Spinielli
> "Do Androids dream of electric sheep?"˙˙ Philip K. Dick
> "Hear and forget; see and remember;do and understand."˙˙Mitchel Resnick
>
>

Reply | Threaded
Open this post in threaded view
|

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

espin
Then WeakFinalizersTest should be removed from Trunk, shouldn't it?

Bye
Enrico

2010/8/12 Levente Uzonyi <[hidden email]>:

> On Thu, 12 Aug 2010, Enrico Spinielli wrote:
>
>> Hi all,
>> in latest Trunk (update: 10352) I run all tests and found that
>> ReleaseTest>>testUndeclared
>> is failing due to references to
>>  WeakFinalizationList
>>  WeakFinalizerItem
>> in
>>  WeakFinalizersTest>>testNewFinalizationSupported
>>
>> It seems to me that weak finalization was provided by Igor as a Mantis bug
>> fix
>> (see last email in thread [1] and related mantis bug [2]) but not in
>> Trunk.
>> Maybe remnants of it got in by accident or it has not been completely
>> integrated in Trunk: it is difficult for me to dig further...
>
> IIRC the packages for these classes are in the Inbox, though Igor said he
> will rewrite parts of the image-side code. But to use this new finalization
> mechanism, the VM has to support it. Currently the necessary changes are not
> in the VM trunk. AFAIK Eliot is working on a new garbage collector, which
> may make these changes obsolete.
>
>
> Levente
>
>>
>> Hope it helps
>> Bye
>> Enrico
>>
>> [1]
>> http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-May/150986.html
>> [2] http://bugs.squeak.org/view.php?id=7473
>> --
>> Enrico Spinielli
>> "Do Androids dream of electric sheep?"˙˙ Philip K. Dick
>> "Hear and forget; see and remember;do and understand."˙˙Mitchel Resnick
>>
>
>
>
>



--
Enrico Spinielli
"Do Androids dream of electric sheep?"— Philip K. Dick
"Hear and forget; see and remember;do and understand."—Mitchel Resnick

Reply | Threaded
Open this post in threaded view
|

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

Levente Uzonyi-2
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.


Levente

>
> Bye
> Enrico
>
> 2010/8/12 Levente Uzonyi <[hidden email]>:
>> On Thu, 12 Aug 2010, Enrico Spinielli wrote:
>>
>>> Hi all,
>>> in latest Trunk (update: 10352) I run all tests and found that
>>> ReleaseTest>>testUndeclared
>>> is failing due to references to
>>>  WeakFinalizationList
>>>  WeakFinalizerItem
>>> in
>>>  WeakFinalizersTest>>testNewFinalizationSupported
>>>
>>> It seems to me that weak finalization was provided by Igor as a Mantis bug
>>> fix
>>> (see last email in thread [1] and related mantis bug [2]) but not in
>>> Trunk.
>>> Maybe remnants of it got in by accident or it has not been completely
>>> integrated in Trunk: it is difficult for me to dig further...
>>
>> IIRC the packages for these classes are in the Inbox, though Igor said he
>> will rewrite parts of the image-side code. But to use this new finalization
>> mechanism, the VM has to support it. Currently the necessary changes are not
>> in the VM trunk. AFAIK Eliot is working on a new garbage collector, which
>> may make these changes obsolete.
>>
>>
>> Levente
>>
>>>
>>> Hope it helps
>>> Bye
>>> Enrico
>>>
>>> [1]
>>> http://lists.squeakfoundation.org/pipermail/squeak-dev/2010-May/150986.html
>>> [2] http://bugs.squeak.org/view.php?id=7473
>>> --
>>> Enrico Spinielli
>>> "Do Androids dream of electric sheep?"˙˙ Philip K. Dick
>>> "Hear and forget; see and remember;do and understand."˙˙Mitchel Resnick
>>>
>>
>>
>>
>>
>
>
>
> --
> Enrico Spinielli
> "Do Androids dream of electric sheep?"˙˙ Philip K. Dick
> "Hear and forget; see and remember;do and understand."˙˙Mitchel Resnick
>
>

Reply | Threaded
Open this post in threaded view
|

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

David T. Lewis
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