[Fwd: [squeak-dev] The Trunk: Kernel-ar.411.mcz]

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

[Fwd: [squeak-dev] The Trunk: Kernel-ar.411.mcz]

Miguel Cobá
Maybe we can add this to the cleanUpForRelease script.

Cheers
--
Miguel Cobá
http://miguel.leugim.com.mx

Andreas Raab uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-ar.411.mcz

==================== Summary ====================

Name: Kernel-ar.411
Author: ar
Time: 26 February 2010, 7:36:40.257 pm
UUID: b69a28db-8475-bc4b-89ed-285ccf3841cd
Ancestors: Kernel-ul.410

Add MethodDictionary class>>compactAllInstances to save space in releases. Compacting all MDs in my images saves 600k in image size which isn't bad at all.

=============== Diff against Kernel-ul.410 ===============

Item was added:
+ ----- Method: MethodDictionary class>>compactAllInstances (in category 'initialization') -----
+ compactAllInstances "MethodDictionary compactAllInstances"
+ "Compacts all MethodDictionaries to save space"
+
+ | oldInstances newInstances |
+ oldInstances := self allInstances.
+ newInstances := oldInstances collect:[:md|
+ (self new: md size)
+ compactCopyFrom: md;
+ yourself].
+ oldInstances elementsForwardIdentityTo: newInstances.
+ !

Item was added:
+ ----- Method: MethodDictionary>>compactCopyFrom: (in category 'private') -----
+ compactCopyFrom: sourceMD
+ "Copy the contents of source dictionary without growing"
+
+ sourceMD keysAndValuesDo:[:key :value| | index |
+ index := self scanFor: key.
+ (self basicAt: index) ifNotNil:[self error: 'Something is horribly broken'].
+ self basicAt: index put: key.
+ array at: index put: value.
+ tally := tally + 1.
+ ].
+ self size = self capacity ifTrue:[self grow]. "grow only if we reach capacity"
+ !



_______________________________________________
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: [Fwd: [squeak-dev] The Trunk: Kernel-ar.411.mcz]

Stéphane Ducasse
Thanks a lot miguel

Stef

On Feb 27, 2010, at 8:29 AM, Miguel Enrique Cobá Martinez wrote:

> Maybe we can add this to the cleanUpForRelease script.
>
> Cheers
> --
> Miguel Cobá
> http://miguel.leugim.com.mx
>
> From: [hidden email]
> Date: February 26, 2010 6:38:01 PM GMT+01:00
> To: [hidden email], [hidden email]
> Subject: [squeak-dev] The Trunk: Kernel-ar.411.mcz
> Reply-To: [hidden email]
>
>
> Andreas Raab uploaded a new version of Kernel to project The Trunk:
> http://source.squeak.org/trunk/Kernel-ar.411.mcz
>
> ==================== Summary ====================
>
> Name: Kernel-ar.411
> Author: ar
> Time: 26 February 2010, 7:36:40.257 pm
> UUID: b69a28db-8475-bc4b-89ed-285ccf3841cd
> Ancestors: Kernel-ul.410
>
> Add MethodDictionary class>>compactAllInstances to save space in releases. Compacting all MDs in my images saves 600k in image size which isn't bad at all.
>
> =============== Diff against Kernel-ul.410 ===============
>
> Item was added:
> + ----- Method: MethodDictionary class>>compactAllInstances (in category 'initialization') -----
> + compactAllInstances "MethodDictionary compactAllInstances"
> + "Compacts all MethodDictionaries to save space"
> +
> + | oldInstances newInstances |
> + oldInstances := self allInstances.
> + newInstances := oldInstances collect:[:md|
> + (self new: md size)
> + compactCopyFrom: md;
> + yourself].
> + oldInstances elementsForwardIdentityTo: newInstances.
> + !
>
> Item was added:
> + ----- Method: MethodDictionary>>compactCopyFrom: (in category 'private') -----
> + compactCopyFrom: sourceMD
> + "Copy the contents of source dictionary without growing"
> +
> + sourceMD keysAndValuesDo:[:key :value| | index |
> + index := self scanFor: key.
> + (self basicAt: index) ifNotNil:[self error: 'Something is horribly broken'].
> + self basicAt: index put: key.
> + array at: index put: value.
> + tally := tally + 1.
> + ].
> + self size = self capacity ifTrue:[self grow]. "grow only if we reach capacity"
> + !
>
>
>
>
> _______________________________________________
> 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: [Fwd: [squeak-dev] The Trunk: Kernel-ar.411.mcz]

Stéphane Ducasse
In reply to this post by Miguel Cobá
:)

http://code.google.com/p/pharo/issues/detail?id=2087

:)

On Feb 27, 2010, at 8:29 AM, Miguel Enrique Cobá Martinez wrote:

> Maybe we can add this to the cleanUpForRelease script.
>
> Cheers
> --
> Miguel Cobá
> http://miguel.leugim.com.mx
>
> From: [hidden email]
> Date: February 26, 2010 6:38:01 PM GMT+01:00
> To: [hidden email], [hidden email]
> Subject: [squeak-dev] The Trunk: Kernel-ar.411.mcz
> Reply-To: [hidden email]
>
>
> Andreas Raab uploaded a new version of Kernel to project The Trunk:
> http://source.squeak.org/trunk/Kernel-ar.411.mcz
>
> ==================== Summary ====================
>
> Name: Kernel-ar.411
> Author: ar
> Time: 26 February 2010, 7:36:40.257 pm
> UUID: b69a28db-8475-bc4b-89ed-285ccf3841cd
> Ancestors: Kernel-ul.410
>
> Add MethodDictionary class>>compactAllInstances to save space in releases. Compacting all MDs in my images saves 600k in image size which isn't bad at all.
>
> =============== Diff against Kernel-ul.410 ===============
>
> Item was added:
> + ----- Method: MethodDictionary class>>compactAllInstances (in category 'initialization') -----
> + compactAllInstances "MethodDictionary compactAllInstances"
> + "Compacts all MethodDictionaries to save space"
> +
> + | oldInstances newInstances |
> + oldInstances := self allInstances.
> + newInstances := oldInstances collect:[:md|
> + (self new: md size)
> + compactCopyFrom: md;
> + yourself].
> + oldInstances elementsForwardIdentityTo: newInstances.
> + !
>
> Item was added:
> + ----- Method: MethodDictionary>>compactCopyFrom: (in category 'private') -----
> + compactCopyFrom: sourceMD
> + "Copy the contents of source dictionary without growing"
> +
> + sourceMD keysAndValuesDo:[:key :value| | index |
> + index := self scanFor: key.
> + (self basicAt: index) ifNotNil:[self error: 'Something is horribly broken'].
> + self basicAt: index put: key.
> + array at: index put: value.
> + tally := tally + 1.
> + ].
> + self size = self capacity ifTrue:[self grow]. "grow only if we reach capacity"
> + !
>
>
>
>
> _______________________________________________
> 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: [Fwd: [squeak-dev] The Trunk: Kernel-ar.411.mcz]

Miguel Cobá
El sáb, 27-02-2010 a las 09:44 +0100, Stéphane Ducasse escribió:
> :)
>
> http://code.google.com/p/pharo/issues/detail?id=2087
>
> :)

:), yes, I was in a hurry and I didn't create a issue, thanks for
creating it.

Cheers

>
> On Feb 27, 2010, at 8:29 AM, Miguel Enrique Cobá Martinez wrote:
>
> > Maybe we can add this to the cleanUpForRelease script.
> >
> > Cheers
> > --
> > Miguel Cobá
> > http://miguel.leugim.com.mx
> >
> > From: [hidden email]
> > Date: February 26, 2010 6:38:01 PM GMT+01:00
> > To: [hidden email], [hidden email]
> > Subject: [squeak-dev] The Trunk: Kernel-ar.411.mcz
> > Reply-To: [hidden email]
> >
> >
> > Andreas Raab uploaded a new version of Kernel to project The Trunk:
> > http://source.squeak.org/trunk/Kernel-ar.411.mcz
> >
> > ==================== Summary ====================
> >
> > Name: Kernel-ar.411
> > Author: ar
> > Time: 26 February 2010, 7:36:40.257 pm
> > UUID: b69a28db-8475-bc4b-89ed-285ccf3841cd
> > Ancestors: Kernel-ul.410
> >
> > Add MethodDictionary class>>compactAllInstances to save space in releases. Compacting all MDs in my images saves 600k in image size which isn't bad at all.
> >
> > =============== Diff against Kernel-ul.410 ===============
> >
> > Item was added:
> > + ----- Method: MethodDictionary class>>compactAllInstances (in category 'initialization') -----
> > + compactAllInstances "MethodDictionary compactAllInstances"
> > + "Compacts all MethodDictionaries to save space"
> > +
> > + | oldInstances newInstances |
> > + oldInstances := self allInstances.
> > + newInstances := oldInstances collect:[:md|
> > + (self new: md size)
> > + compactCopyFrom: md;
> > + yourself].
> > + oldInstances elementsForwardIdentityTo: newInstances.
> > + !
> >
> > Item was added:
> > + ----- Method: MethodDictionary>>compactCopyFrom: (in category 'private') -----
> > + compactCopyFrom: sourceMD
> > + "Copy the contents of source dictionary without growing"
> > +
> > + sourceMD keysAndValuesDo:[:key :value| | index |
> > + index := self scanFor: key.
> > + (self basicAt: index) ifNotNil:[self error: 'Something is horribly broken'].
> > + self basicAt: index put: key.
> > + array at: index put: value.
> > + tally := tally + 1.
> > + ].
> > + self size = self capacity ifTrue:[self grow]. "grow only if we reach capacity"
> > + !
> >
> >
> >
> >
> > _______________________________________________
> > 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

--
Miguel Cobá
http://miguel.leugim.com.mx


_______________________________________________
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: [Fwd: [squeak-dev] The Trunk: Kernel-ar.411.mcz]

Stéphane Ducasse
I updated it
Thanks anyway because this is good to see people pushing some changes from sqeuak to pharo.
I'm reimplementing my  package class right now.
See you later :)

Stef

On Feb 27, 2010, at 3:17 PM, Miguel Enrique Cobá Martinez wrote:

> El sáb, 27-02-2010 a las 09:44 +0100, Stéphane Ducasse escribió:
>> :)
>>
>> http://code.google.com/p/pharo/issues/detail?id=2087
>>
>> :)
>
> :), yes, I was in a hurry and I didn't create a issue, thanks for
> creating it.
>
> Cheers
>>
>> On Feb 27, 2010, at 8:29 AM, Miguel Enrique Cobá Martinez wrote:
>>
>>> Maybe we can add this to the cleanUpForRelease script.
>>>
>>> Cheers
>>> --
>>> Miguel Cobá
>>> http://miguel.leugim.com.mx
>>>
>>> From: [hidden email]
>>> Date: February 26, 2010 6:38:01 PM GMT+01:00
>>> To: [hidden email], [hidden email]
>>> Subject: [squeak-dev] The Trunk: Kernel-ar.411.mcz
>>> Reply-To: [hidden email]
>>>
>>>
>>> Andreas Raab uploaded a new version of Kernel to project The Trunk:
>>> http://source.squeak.org/trunk/Kernel-ar.411.mcz
>>>
>>> ==================== Summary ====================
>>>
>>> Name: Kernel-ar.411
>>> Author: ar
>>> Time: 26 February 2010, 7:36:40.257 pm
>>> UUID: b69a28db-8475-bc4b-89ed-285ccf3841cd
>>> Ancestors: Kernel-ul.410
>>>
>>> Add MethodDictionary class>>compactAllInstances to save space in releases. Compacting all MDs in my images saves 600k in image size which isn't bad at all.
>>>
>>> =============== Diff against Kernel-ul.410 ===============
>>>
>>> Item was added:
>>> + ----- Method: MethodDictionary class>>compactAllInstances (in category 'initialization') -----
>>> + compactAllInstances "MethodDictionary compactAllInstances"
>>> + "Compacts all MethodDictionaries to save space"
>>> +
>>> + | oldInstances newInstances |
>>> + oldInstances := self allInstances.
>>> + newInstances := oldInstances collect:[:md|
>>> + (self new: md size)
>>> + compactCopyFrom: md;
>>> + yourself].
>>> + oldInstances elementsForwardIdentityTo: newInstances.
>>> + !
>>>
>>> Item was added:
>>> + ----- Method: MethodDictionary>>compactCopyFrom: (in category 'private') -----
>>> + compactCopyFrom: sourceMD
>>> + "Copy the contents of source dictionary without growing"
>>> +
>>> + sourceMD keysAndValuesDo:[:key :value| | index |
>>> + index := self scanFor: key.
>>> + (self basicAt: index) ifNotNil:[self error: 'Something is horribly broken'].
>>> + self basicAt: index put: key.
>>> + array at: index put: value.
>>> + tally := tally + 1.
>>> + ].
>>> + self size = self capacity ifTrue:[self grow]. "grow only if we reach capacity"
>>> + !
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>
> --
> Miguel Cobá
> http://miguel.leugim.com.mx
>
>
> _______________________________________________
> 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: [Fwd: [squeak-dev] The Trunk: Kernel-ar.411.mcz]

Mariano Martinez Peck
I saw the issue closed but the message compactAllInstances  is not being sent in cleanUnForProduction or cleanUpForRelease.

should it be  ?

On Sat, Feb 27, 2010 at 4:09 PM, Stéphane Ducasse <[hidden email]> wrote:
I updated it
Thanks anyway because this is good to see people pushing some changes from sqeuak to pharo.
I'm reimplementing my  package class right now.
See you later :)

Stef

On Feb 27, 2010, at 3:17 PM, Miguel Enrique Cobá Martinez wrote:

> El sáb, 27-02-2010 a las 09:44 +0100, Stéphane Ducasse escribió:
>> :)
>>
>> http://code.google.com/p/pharo/issues/detail?id=2087
>>
>> :)
>
> :), yes, I was in a hurry and I didn't create a issue, thanks for
> creating it.
>
> Cheers
>>
>> On Feb 27, 2010, at 8:29 AM, Miguel Enrique Cobá Martinez wrote:
>>
>>> Maybe we can add this to the cleanUpForRelease script.
>>>
>>> Cheers
>>> --
>>> Miguel Cobá
>>> http://miguel.leugim.com.mx
>>>
>>> From: [hidden email]
>>> Date: February 26, 2010 6:38:01 PM GMT+01:00
>>> To: [hidden email], [hidden email]
>>> Subject: [squeak-dev] The Trunk: Kernel-ar.411.mcz
>>> Reply-To: [hidden email]
>>>
>>>
>>> Andreas Raab uploaded a new version of Kernel to project The Trunk:
>>> http://source.squeak.org/trunk/Kernel-ar.411.mcz
>>>
>>> ==================== Summary ====================
>>>
>>> Name: Kernel-ar.411
>>> Author: ar
>>> Time: 26 February 2010, 7:36:40.257 pm
>>> UUID: b69a28db-8475-bc4b-89ed-285ccf3841cd
>>> Ancestors: Kernel-ul.410
>>>
>>> Add MethodDictionary class>>compactAllInstances to save space in releases. Compacting all MDs in my images saves 600k in image size which isn't bad at all.
>>>
>>> =============== Diff against Kernel-ul.410 ===============
>>>
>>> Item was added:
>>> + ----- Method: MethodDictionary class>>compactAllInstances (in category 'initialization') -----
>>> + compactAllInstances       "MethodDictionary compactAllInstances"
>>> +   "Compacts all MethodDictionaries to save space"
>>> +
>>> +   | oldInstances newInstances |
>>> +   oldInstances := self allInstances.
>>> +   newInstances := oldInstances collect:[:md|
>>> +           (self new: md size)
>>> +                   compactCopyFrom: md;
>>> +                   yourself].
>>> +   oldInstances elementsForwardIdentityTo: newInstances.
>>> + !
>>>
>>> Item was added:
>>> + ----- Method: MethodDictionary>>compactCopyFrom: (in category 'private') -----
>>> + compactCopyFrom: sourceMD
>>> +   "Copy the contents of source dictionary without growing"
>>> +
>>> +   sourceMD keysAndValuesDo:[:key :value| | index |
>>> +           index := self scanFor: key.
>>> +           (self basicAt: index) ifNotNil:[self error: 'Something is horribly broken'].
>>> +           self basicAt: index put: key.
>>> +           array at: index put: value.
>>> +           tally := tally + 1.
>>> +   ].
>>> +   self size = self capacity ifTrue:[self grow]. "grow only if we reach capacity"
>>> + !
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>
> --
> Miguel Cobá
> http://miguel.leugim.com.mx
>
>
> _______________________________________________
> 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


_______________________________________________
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: [Fwd: [squeak-dev] The Trunk: Kernel-ar.411.mcz]

Stéphane Ducasse

On Mar 1, 2010, at 9:57 AM, Mariano Martinez Peck wrote:

> I saw the issue closed but the message compactAllInstances  is not being sent in cleanUnForProduction or cleanUpForRelease.
>
> should it be  ?

yes
I imagine that I will integrate also all the cleanUp: methods and adapt them to pharo.

Stef

>
> On Sat, Feb 27, 2010 at 4:09 PM, Stéphane Ducasse <[hidden email]> wrote:
> I updated it
> Thanks anyway because this is good to see people pushing some changes from sqeuak to pharo.
> I'm reimplementing my  package class right now.
> See you later :)
>
> Stef
>
> On Feb 27, 2010, at 3:17 PM, Miguel Enrique Cobá Martinez wrote:
>
> > El sáb, 27-02-2010 a las 09:44 +0100, Stéphane Ducasse escribió:
> >> :)
> >>
> >> http://code.google.com/p/pharo/issues/detail?id=2087
> >>
> >> :)
> >
> > :), yes, I was in a hurry and I didn't create a issue, thanks for
> > creating it.
> >
> > Cheers
> >>
> >> On Feb 27, 2010, at 8:29 AM, Miguel Enrique Cobá Martinez wrote:
> >>
> >>> Maybe we can add this to the cleanUpForRelease script.
> >>>
> >>> Cheers
> >>> --
> >>> Miguel Cobá
> >>> http://miguel.leugim.com.mx
> >>>
> >>> From: [hidden email]
> >>> Date: February 26, 2010 6:38:01 PM GMT+01:00
> >>> To: [hidden email], [hidden email]
> >>> Subject: [squeak-dev] The Trunk: Kernel-ar.411.mcz
> >>> Reply-To: [hidden email]
> >>>
> >>>
> >>> Andreas Raab uploaded a new version of Kernel to project The Trunk:
> >>> http://source.squeak.org/trunk/Kernel-ar.411.mcz
> >>>
> >>> ==================== Summary ====================
> >>>
> >>> Name: Kernel-ar.411
> >>> Author: ar
> >>> Time: 26 February 2010, 7:36:40.257 pm
> >>> UUID: b69a28db-8475-bc4b-89ed-285ccf3841cd
> >>> Ancestors: Kernel-ul.410
> >>>
> >>> Add MethodDictionary class>>compactAllInstances to save space in releases. Compacting all MDs in my images saves 600k in image size which isn't bad at all.
> >>>
> >>> =============== Diff against Kernel-ul.410 ===============
> >>>
> >>> Item was added:
> >>> + ----- Method: MethodDictionary class>>compactAllInstances (in category 'initialization') -----
> >>> + compactAllInstances       "MethodDictionary compactAllInstances"
> >>> +   "Compacts all MethodDictionaries to save space"
> >>> +
> >>> +   | oldInstances newInstances |
> >>> +   oldInstances := self allInstances.
> >>> +   newInstances := oldInstances collect:[:md|
> >>> +           (self new: md size)
> >>> +                   compactCopyFrom: md;
> >>> +                   yourself].
> >>> +   oldInstances elementsForwardIdentityTo: newInstances.
> >>> + !
> >>>
> >>> Item was added:
> >>> + ----- Method: MethodDictionary>>compactCopyFrom: (in category 'private') -----
> >>> + compactCopyFrom: sourceMD
> >>> +   "Copy the contents of source dictionary without growing"
> >>> +
> >>> +   sourceMD keysAndValuesDo:[:key :value| | index |
> >>> +           index := self scanFor: key.
> >>> +           (self basicAt: index) ifNotNil:[self error: 'Something is horribly broken'].
> >>> +           self basicAt: index put: key.
> >>> +           array at: index put: value.
> >>> +           tally := tally + 1.
> >>> +   ].
> >>> +   self size = self capacity ifTrue:[self grow]. "grow only if we reach capacity"
> >>> + !
> >>>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> 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
> >
> > --
> > Miguel Cobá
> > http://miguel.leugim.com.mx
> >
> >
> > _______________________________________________
> > 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
>
> _______________________________________________
> 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