HashedCollection showstopper :(

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

HashedCollection showstopper :(

Igor Stasenko
Unfortunately, when preparing new finalization stuff, i got stuck with
HashedCollection
which is not yet integrated to Pharo.
(Sets with nils also depending on that).

In Squeak, old WeakRegistry does the trick by setting a #finalizer: to
WeakKeyDictionary instance.

Levente, can i ask you to give me a bits, (changesets or mcz packages),
which contain HashedCollection refactorings.

Or, we can follow an easier path, just extract the delta from two packages,
which i found in mail archives:
---
I uploaded two packages which contain this change. To load it evaluate
the following:

(Installer squeakfoundation project: 'inbox')
       install: 'Collections-ul.310.mcz';
       install: 'Collections-ul.311.mcz'
---

these are only related to WeakKeyDictionary, made by Levente to
speedup old finalization.

--
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: HashedCollection showstopper :(

Levente Uzonyi-2
On Wed, 22 Sep 2010, Igor Stasenko wrote:

> Unfortunately, when preparing new finalization stuff, i got stuck with
> HashedCollection
> which is not yet integrated to Pharo.
> (Sets with nils also depending on that).
>
> In Squeak, old WeakRegistry does the trick by setting a #finalizer: to
> WeakKeyDictionary instance.
>
> Levente, can i ask you to give me a bits, (changesets or mcz packages),
> which contain HashedCollection refactorings.
I could extract them from the Squeak trunk, but it wouldn't be usable for
Pharo, because these rely on previous changes done to Sets/Dictionaries in
Squeak. Even if those are extracted it's still very hard to add them to
Pharo, because there were serveral changes applied to Sets/Dictionaries in
Pharo. The most important are:
- Andrés' changes were integrated with additional stuff to change
#identityHash -> #basicIdentityHash and #scaledIdentityHash -> #identityHash.
- WeakKeyDictionaries were replaced with another implementation
(http://code.google.com/p/pharo/issues/detail?id=1565 )


Levente

>
> Or, we can follow an easier path, just extract the delta from two packages,
> which i found in mail archives:
> ---
> I uploaded two packages which contain this change. To load it evaluate
> the following:
>
> (Installer squeakfoundation project: 'inbox')
>       install: 'Collections-ul.310.mcz';
>       install: 'Collections-ul.311.mcz'
> ---
>
> these are only related to WeakKeyDictionary, made by Levente to
> speedup old finalization.
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: HashedCollection showstopper :(

Igor Stasenko
2010/9/23 Levente Uzonyi <[hidden email]>:

> On Wed, 22 Sep 2010, Igor Stasenko wrote:
>
>> Unfortunately, when preparing new finalization stuff, i got stuck with
>> HashedCollection
>> which is not yet integrated to Pharo.
>> (Sets with nils also depending on that).
>>
>> In Squeak, old WeakRegistry does the trick by setting a #finalizer: to
>> WeakKeyDictionary instance.
>>
>> Levente, can i ask you to give me a bits, (changesets or mcz packages),
>> which contain HashedCollection refactorings.
>
> I could extract them from the Squeak trunk, but it wouldn't be usable for
> Pharo, because these rely on previous changes done to Sets/Dictionaries in
> Squeak. Even if those are extracted it's still very hard to add them to
> Pharo, because there were serveral changes applied to Sets/Dictionaries in
> Pharo. The most important are:
> - Andrés' changes were integrated with additional stuff to change
> #identityHash -> #basicIdentityHash and #scaledIdentityHash ->
> #identityHash. - WeakKeyDictionaries were replaced with another
> implementation (http://code.google.com/p/pharo/issues/detail?id=1565 )
>
>

I think i found a way how to workaround differences between squeak/pharo
in new WeakRegistry class.
So, then a new finalization can be integrated into Pharo right now.
Will post later, if i'll have any success on that.

> Levente
>
>>
>> Or, we can follow an easier path, just extract the delta from two
>> packages,
>> which i found in mail archives:
>> ---
>> I uploaded two packages which contain this change. To load it evaluate
>> the following:
>>
>> (Installer squeakfoundation project: 'inbox')
>>      install: 'Collections-ul.310.mcz';
>>      install: 'Collections-ul.311.mcz'
>> ---
>>
>> these are only related to WeakKeyDictionary, made by Levente to
>> speedup old finalization.
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project