[Pharo-project] SLICE-Mantis-Collection-Fix-mining-nice-2
I have uploaded a SLICE in PharoInbox gathering some more or less important collection fixes from mantis. GATHER SEVERAL COLLECTION RELATED MANTIS TESTS AND FIXES ---------------------------------------- http://bugs.squeak.org/view.php?id=7172 CharacterSetComplement has spoiled previous byteArrayMap optimization. Using #byteArrayMap is an optimization per se, possibly tailored for tight loops. Taking too much time to compute this map is spoiling efficiency. It is necessary to cache this map for restoring efficiency to the level preceding introduction of CharacterSetComplement. ---------------------------------------- http://bugs.squeak.org/view.php?id=6998 ((String new: 1) at: 1 put: $a) = $a -> true. ((WideString new: 1) at: 1 put: $a) = $a -> false. WideString at:put: should return the put object like any other collection ---------------------------------------- http://bugs.squeak.org/view.php?id=5331 http://bugs.squeak.org/view.php?id=6366 Lots of tests and few patches for WideString not behaving correctly. ---------------------------------------- http://bugs.squeak.org/view.php?id=7180 +6455 +1603 +1602 Patches for Interval indexOf: and includes: ---------------------------------------- http://bugs.squeak.org/view.php?id=6994 Authorize this: (#(1 2 3) as: ByteArray) as: Interval ---------------------------------------- http://bugs.squeak.org/view.php?id=7121 (ar) Patches for OrderedCollection add:after: add:before: Try this one to be convinced for the necessity: | oc | oc := #(1 2 3 4) asOrderedCollection. (oc first:3) do: [:e | oc remove: e]. oc add: 0 beforeIndex: -2. ^oc ---------------------------------------- http://bugs.squeak.org/view.php?id=6977 incorrect use of super (super basicNew in #new: dating from some 3.9 changes) ---------------------------------------- http://bugs.squeak.org/view.php?id=6778 SkipList copy is shallow ---------------------------------------- http://bugs.squeak.org/view.php?id=6994 deprecate the Service related #startsWith: because single implementor completely redundant with beginsWith:
nicolas cellier <ncellier@...> writes:
I have uploaded a SLICE in PharoInbox gathering some more or less important collection fixes from mantis.
snip...
----------------------------------------
http://bugs.squeak.org/view.php?id=6994 deprecate the Service related #startsWith: because single implementor completely redundant with beginsWith:
Ah, the last one is rather http://bugs.squeak.org/view.php?id=6964
**Thanks** I will harvest that stef On Oct 9, 2008, at 12:54 AM, nicolas cellier wrote:
I have uploaded a SLICE in PharoInbox gathering some more or less important collection fixes from mantis.
GATHER SEVERAL COLLECTION RELATED MANTIS TESTS AND FIXES
----------------------------------------
http://bugs.squeak.org/view.php?id=7172
CharacterSetComplement has spoiled previous byteArrayMap optimization. Using #byteArrayMap is an optimization per se, possibly tailored for tight loops. Taking too much time to compute this map is spoiling efficiency. It is necessary to cache this map for restoring efficiency to the level preceding introduction of CharacterSetComplement.
----------------------------------------
http://bugs.squeak.org/view.php?id=6998
((String new: 1) at: 1 put: $a) = $a -> true. ((WideString new: 1) at: 1 put: $a) = $a -> false.
WideString at:put: should return the put object like any other collection
----------------------------------------
http://bugs.squeak.org/view.php?id=5331 http://bugs.squeak.org/view.php?id=6366
Lots of tests and few patches for WideString not behaving correctly.
----------------------------------------
http://bugs.squeak.org/view.php?id=7180 +6455 +1603 +1602
Patches for Interval indexOf: and includes:
----------------------------------------
http://bugs.squeak.org/view.php?id=6994
Authorize this: (#(1 2 3) as: ByteArray) as: Interval
----------------------------------------
http://bugs.squeak.org/view.php?id=7121 (ar)
Patches for OrderedCollection add:after: add:before: Try this one to be convinced for the necessity: | oc | oc := #(1 2 3 4) asOrderedCollection. (oc first:3) do: [:e | oc remove: e]. oc add: 0 beforeIndex: -2. ^oc
----------------------------------------
http://bugs.squeak.org/view.php?id=6977 incorrect use of super (super basicNew in #new: dating from some 3.9 changes)
----------------------------------------
http://bugs.squeak.org/view.php?id=6778 SkipList copy is shallow
----------------------------------------
http://bugs.squeak.org/view.php?id=6994 deprecate the Service related #startsWith: because single implementor completely redundant with beginsWith:
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
**Thanks** I will harvest that stef On Oct 9, 2008, at 12:54 AM, nicolas cellier wrote:
I have uploaded a SLICE in PharoInbox gathering some more or less important collection fixes from mantis.
GATHER SEVERAL COLLECTION RELATED MANTIS TESTS AND FIXES
----------------------------------------
http://bugs.squeak.org/view.php?id=7172
CharacterSetComplement has spoiled previous byteArrayMap optimization. Using #byteArrayMap is an optimization per se, possibly tailored for tight loops. Taking too much time to compute this map is spoiling efficiency. It is necessary to cache this map for restoring efficiency to the level preceding introduction of CharacterSetComplement.
----------------------------------------
http://bugs.squeak.org/view.php?id=6998
((String new: 1) at: 1 put: $a) = $a -> true. ((WideString new: 1) at: 1 put: $a) = $a -> false.
WideString at:put: should return the put object like any other collection
----------------------------------------
http://bugs.squeak.org/view.php?id=5331 http://bugs.squeak.org/view.php?id=6366
Lots of tests and few patches for WideString not behaving correctly.
----------------------------------------
http://bugs.squeak.org/view.php?id=7180 +6455 +1603 +1602
Patches for Interval indexOf: and includes:
----------------------------------------
http://bugs.squeak.org/view.php?id=6994
Authorize this: (#(1 2 3) as: ByteArray) as: Interval
----------------------------------------
http://bugs.squeak.org/view.php?id=7121 (ar)
Patches for OrderedCollection add:after: add:before: Try this one to be convinced for the necessity: | oc | oc := #(1 2 3 4) asOrderedCollection. (oc first:3) do: [:e | oc remove: e]. oc add: 0 beforeIndex: -2. ^oc
----------------------------------------
http://bugs.squeak.org/view.php?id=6977 incorrect use of super (super basicNew in #new: dating from some 3.9 changes)
----------------------------------------
http://bugs.squeak.org/view.php?id=6778 SkipList copy is shallow
----------------------------------------
http://bugs.squeak.org/view.php?id=6994 deprecate the Service related #startsWith: because single implementor completely redundant with beginsWith:
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Thu, Oct 9, 2008 at 12:54 AM, nicolas cellier <ncellier@ifrance.com> wrote:
http://bugs.squeak.org/view.php?id=6994 deprecate the Service related #startsWith: because single implementor completely redundant with beginsWith:
#startsWith: is not there anymore but it's still used (e.g. by the mercury field in OB) -- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet
Sequenceable>>startsWith: start | comp | self size < start size ifTrue: [^ false]. comp := true. (self first: start size) with: start do: [:ea :ea2 | ea = ea2 ifFalse: [comp := false]]. ^ comp And indeed with should use deprecate:... Stef On Oct 13, 2008, at 4:34 PM, Damien Pollet wrote:
On Thu, Oct 9, 2008 at 12:54 AM, nicolas cellier <ncellier@ifrance.com> wrote:
http://bugs.squeak.org/view.php?id=6994 deprecate the Service related #startsWith: because single implementor completely redundant with beginsWith:
#startsWith: is not there anymore but it's still used (e.g. by the mercury field in OB)
-- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
In my image the problems are that OB-Enhancements and OB-Standard each have a sender of #startsWith: OBEnrichedMercuryQuery class>>selectClassForQuery: OBCodeBrowser class>>defaultBrowserClass Replacing them with #beginsWith: fixes the problem. On Mon, Oct 13, 2008 at 4:44 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Sequenceable>>startsWith: start | comp | self size < start size ifTrue: [^ false]. comp := true. (self first: start size) with: start do: [:ea :ea2 | ea = ea2 ifFalse: [comp := false]]. ^ comp
And indeed with should use deprecate:...
Stef
On Oct 13, 2008, at 4:34 PM, Damien Pollet wrote:
On Thu, Oct 9, 2008 at 12:54 AM, nicolas cellier <ncellier@ifrance.com> wrote:
http://bugs.squeak.org/view.php?id=6994 deprecate the Service related #startsWith: because single implementor completely redundant with beginsWith:
#startsWith: is not there anymore but it's still used (e.g. by the mercury field in OB)
-- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet
_______________________________________________ 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
-- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet
Tx. We should use more often deprecate: because this is a cheap way to support evolution without impacting directly clients. Stef On Oct 13, 2008, at 9:01 PM, Damien Pollet wrote:
In my image the problems are that OB-Enhancements and OB-Standard each have a sender of #startsWith: OBEnrichedMercuryQuery class>>selectClassForQuery: OBCodeBrowser class>>defaultBrowserClass
Replacing them with #beginsWith: fixes the problem.
On Mon, Oct 13, 2008 at 4:44 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Sequenceable>>startsWith: start | comp | self size < start size ifTrue: [^ false]. comp := true. (self first: start size) with: start do: [:ea :ea2 | ea = ea2 ifFalse: [comp := false]]. ^ comp
And indeed with should use deprecate:...
Stef
On Oct 13, 2008, at 4:34 PM, Damien Pollet wrote:
On Thu, Oct 9, 2008 at 12:54 AM, nicolas cellier <ncellier@ifrance.com
wrote:
http://bugs.squeak.org/view.php?id=6994 deprecate the Service related #startsWith: because single implementor completely redundant with beginsWith:
#startsWith: is not there anymore but it's still used (e.g. by the mercury field in OB)
-- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet
_______________________________________________ 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
-- Damien Pollet type less, do more [ | ] http://people.untyped.org/damien.pollet _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Thanks, Nicolas! These fixes will appear in update 10095. It would be helpful if you could also create a report in the issue tracker and post the comments there too. This helps us to better track changes. I created the following issue for this mail: http://code.google.com/p/pharo/issues/detail?id=245 Cheers, Adrian On Oct 9, 2008, at 00:54 , nicolas cellier wrote:
I have uploaded a SLICE in PharoInbox gathering some more or less important collection fixes from mantis.
GATHER SEVERAL COLLECTION RELATED MANTIS TESTS AND FIXES
----------------------------------------
http://bugs.squeak.org/view.php?id=7172
CharacterSetComplement has spoiled previous byteArrayMap optimization. Using #byteArrayMap is an optimization per se, possibly tailored for tight loops. Taking too much time to compute this map is spoiling efficiency. It is necessary to cache this map for restoring efficiency to the level preceding introduction of CharacterSetComplement.
----------------------------------------
http://bugs.squeak.org/view.php?id=6998
((String new: 1) at: 1 put: $a) = $a -> true. ((WideString new: 1) at: 1 put: $a) = $a -> false.
WideString at:put: should return the put object like any other collection
----------------------------------------
http://bugs.squeak.org/view.php?id=5331 http://bugs.squeak.org/view.php?id=6366
Lots of tests and few patches for WideString not behaving correctly.
----------------------------------------
http://bugs.squeak.org/view.php?id=7180 +6455 +1603 +1602
Patches for Interval indexOf: and includes:
----------------------------------------
http://bugs.squeak.org/view.php?id=6994
Authorize this: (#(1 2 3) as: ByteArray) as: Interval
----------------------------------------
http://bugs.squeak.org/view.php?id=7121 (ar)
Patches for OrderedCollection add:after: add:before: Try this one to be convinced for the necessity: | oc | oc := #(1 2 3 4) asOrderedCollection. (oc first:3) do: [:e | oc remove: e]. oc add: 0 beforeIndex: -2. ^oc
----------------------------------------
http://bugs.squeak.org/view.php?id=6977 incorrect use of super (super basicNew in #new: dating from some 3.9 changes)
----------------------------------------
http://bugs.squeak.org/view.php?id=6778 SkipList copy is shallow
----------------------------------------
http://bugs.squeak.org/view.php?id=6994 deprecate the Service related #startsWith: because single implementor completely redundant with beginsWith:
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
But I harvested them in 10093 :) Stef On Oct 13, 2008, at 10:19 PM, Adrian Lienhard wrote:
Thanks, Nicolas!
These fixes will appear in update 10095.
It would be helpful if you could also create a report in the issue tracker and post the comments there too. This helps us to better track changes. I created the following issue for this mail: http://code.google.com/p/pharo/issues/detail?id=245
Cheers, Adrian
On Oct 9, 2008, at 00:54 , nicolas cellier wrote:
I have uploaded a SLICE in PharoInbox gathering some more or less important collection fixes from mantis.
GATHER SEVERAL COLLECTION RELATED MANTIS TESTS AND FIXES
----------------------------------------
http://bugs.squeak.org/view.php?id=7172
CharacterSetComplement has spoiled previous byteArrayMap optimization. Using #byteArrayMap is an optimization per se, possibly tailored for tight loops. Taking too much time to compute this map is spoiling efficiency. It is necessary to cache this map for restoring efficiency to the level preceding introduction of CharacterSetComplement.
----------------------------------------
http://bugs.squeak.org/view.php?id=6998
((String new: 1) at: 1 put: $a) = $a -> true. ((WideString new: 1) at: 1 put: $a) = $a -> false.
WideString at:put: should return the put object like any other collection
----------------------------------------
http://bugs.squeak.org/view.php?id=5331 http://bugs.squeak.org/view.php?id=6366
Lots of tests and few patches for WideString not behaving correctly.
----------------------------------------
http://bugs.squeak.org/view.php?id=7180 +6455 +1603 +1602
Patches for Interval indexOf: and includes:
----------------------------------------
http://bugs.squeak.org/view.php?id=6994
Authorize this: (#(1 2 3) as: ByteArray) as: Interval
----------------------------------------
http://bugs.squeak.org/view.php?id=7121 (ar)
Patches for OrderedCollection add:after: add:before: Try this one to be convinced for the necessity: | oc | oc := #(1 2 3 4) asOrderedCollection. (oc first:3) do: [:e | oc remove: e]. oc add: 0 beforeIndex: -2. ^oc
----------------------------------------
http://bugs.squeak.org/view.php?id=6977 incorrect use of super (super basicNew in #new: dating from some 3.9 changes)
----------------------------------------
http://bugs.squeak.org/view.php?id=6778 SkipList copy is shallow
----------------------------------------
http://bugs.squeak.org/view.php?id=6994 deprecate the Service related #startsWith: because single implementor completely redundant with beginsWith:
_______________________________________________ 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
On Oct 13, 2008, at 22:40 , Stéphane Ducasse wrote:
But I harvested them in 10093 :)
Oh, really? When I merged the slice from the inbox I think I saw changes and I don't think your log mentions these fixes. Adrian
Stef
On Oct 13, 2008, at 10:19 PM, Adrian Lienhard wrote:
Thanks, Nicolas!
These fixes will appear in update 10095.
It would be helpful if you could also create a report in the issue tracker and post the comments there too. This helps us to better track changes. I created the following issue for this mail: http://code.google.com/p/pharo/issues/detail?id=245
Cheers, Adrian
On Oct 9, 2008, at 00:54 , nicolas cellier wrote:
I have uploaded a SLICE in PharoInbox gathering some more or less important collection fixes from mantis.
GATHER SEVERAL COLLECTION RELATED MANTIS TESTS AND FIXES
----------------------------------------
http://bugs.squeak.org/view.php?id=7172
CharacterSetComplement has spoiled previous byteArrayMap optimization. Using #byteArrayMap is an optimization per se, possibly tailored for tight loops. Taking too much time to compute this map is spoiling efficiency. It is necessary to cache this map for restoring efficiency to the level preceding introduction of CharacterSetComplement.
----------------------------------------
http://bugs.squeak.org/view.php?id=6998
((String new: 1) at: 1 put: $a) = $a -> true. ((WideString new: 1) at: 1 put: $a) = $a -> false.
WideString at:put: should return the put object like any other collection
----------------------------------------
http://bugs.squeak.org/view.php?id=5331 http://bugs.squeak.org/view.php?id=6366
Lots of tests and few patches for WideString not behaving correctly.
----------------------------------------
http://bugs.squeak.org/view.php?id=7180 +6455 +1603 +1602
Patches for Interval indexOf: and includes:
----------------------------------------
http://bugs.squeak.org/view.php?id=6994
Authorize this: (#(1 2 3) as: ByteArray) as: Interval
----------------------------------------
http://bugs.squeak.org/view.php?id=7121 (ar)
Patches for OrderedCollection add:after: add:before: Try this one to be convinced for the necessity: | oc | oc := #(1 2 3 4) asOrderedCollection. (oc first:3) do: [:e | oc remove: e]. oc add: 0 beforeIndex: -2. ^oc
----------------------------------------
http://bugs.squeak.org/view.php?id=6977 incorrect use of super (super basicNew in #new: dating from some 3.9 changes)
----------------------------------------
http://bugs.squeak.org/view.php?id=6778 SkipList copy is shallow
----------------------------------------
http://bugs.squeak.org/view.php?id=6994 deprecate the Service related #startsWith: because single implementor completely redundant with beginsWith:
_______________________________________________ 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
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Adrian Lienhard <adi@...> writes:
On Oct 13, 2008, at 22:40 , Stéphane Ducasse wrote:
But I harvested them in 10093 :)
Oh, really? When I merged the slice from the inbox I think I saw changes and I don't think your log mentions these fixes.
Adrian
Seems like there is a little confusion between Collection and KernelNumber Stef collected SLICE-Mantis-Collection-Fix-mining-nice-2 Adrian collected SLICE-Mantis-KernelNumber-Fix-mining-nice-1 Cheers
Stéphane Ducasse <stephane.ducasse@...> writes:
Tx. We should use more often deprecate: because this is a cheap way to support evolution without impacting directly clients. Stef
On Oct 13, 2008, at 9:01 PM, Damien Pollet wrote:
In my image the problems are that OB-Enhancements and OB-Standard each have a sender of #startsWith: OBEnrichedMercuryQuery class>>selectClassForQuery: OBCodeBrowser class>>defaultBrowserClass
Replacing them with #beginsWith: fixes the problem.
Please note that original Collections-nice.111 has the deprecated method (at least my local copy of it). SequenceableCollection>>startsWith: aCollection self deprecated: 'Use beginsWith:.'. ^self beginsWith: aCollection Since I replaced two sole senders in Base image (Service-Base-nice.38), maybe Stef was overzealous ? PS: Sorry if I repost, but first attempt did not reach the list...
OK Indeed I thought that it was a better version. On Oct 14, 2008, at 12:28 AM, nicolas cellier wrote:
Adrian Lienhard <adi@...> writes:
On Oct 13, 2008, at 22:40 , Stéphane Ducasse wrote:
But I harvested them in 10093 :)
Oh, really? When I merged the slice from the inbox I think I saw changes and I don't think your log mentions these fixes.
Adrian
Seems like there is a little confusion between Collection and KernelNumber
Stef collected SLICE-Mantis-Collection-Fix-mining-nice-2 Adrian collected SLICE-Mantis-KernelNumber-Fix-mining-nice-1
Cheers
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Oc
Please note that original Collections-nice.111 has the deprecated method (at least my local copy of it).
SequenceableCollection>>startsWith: aCollection
self deprecated: 'Use beginsWith:.'. ^self beginsWith: aCollection
Since I replaced two sole senders in Base image (Service-Base-nice. 38), maybe Stef was overzealous ?
No I did not changed anything. So this is strange because we should not loose code like that.
participants (4)
-
Adrian Lienhard -
Damien Pollet -
nicolas cellier -
Stéphane Ducasse