[Pharo-project] HashedCollection showstopper :(
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.
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 Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
2010/9/23 Levente Uzonyi <leves@elte.hu>:
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 Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Best regards, Igor Stasenko AKA sig.
participants (2)
-
Igor Stasenko -
Levente Uzonyi