The Inbox: Collections-cwp.484.mcz

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

The Inbox: Collections-cwp.484.mcz

commits-2
A new version of Collections was added to project The Inbox:
http://source.squeak.org/inbox/Collections-cwp.484.mcz

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

Name: Collections-cwp.484
Author: cwp
Time: 13 August 2012, 3:57:08.399 pm
UUID: 6e37e40a-c863-44bd-be92-561231a1e429
Ancestors: Collections-fbs.483

Make Character>>tokenish to accept $_ if the global preference is enabled.

=============== Diff against Collections-fbs.483 ===============

Item was changed:
  ----- Method: Character>>tokenish (in category 'testing') -----
  tokenish
  "Answer whether the receiver is a valid token-character--letter, digit, or
  colon."
 
+ self == $_
+   ifTrue: [ Scanner prefAllowUnderscoreSelectors ]
+   ifFalse: [ self == $: or: [ self isLetter or: [ self isDigit ] ] ]!
- ^self isLetter or: [self isDigit or: [self = $:]]!

Item was added:
+ ----- Method: WeakRegistry class>>migrateOldRegistries (in category 'migrating registry') -----
+ migrateOldRegistries
+ Smalltalk at: #WeakFinalizationRegistry ifAbsent: [ ^ self "already done" ].
+
+ Smalltalk recreateSpecialObjectsArray.
+ WeakArray restartFinalizationProcess.
+
+ Smalltalk garbageCollect; garbageCollect.
+
+ "leave no chance to interrupt migration"
+ Compiler evaluate: '
+ [ | old new oldClass newClass |
+ old := OrderedCollection new.
+ new := OrderedCollection new.
+ WeakRegistry allInstancesDo: [:registry | | newr |
+ old add: registry.
+ newr := WeakFinalizationRegistry basicNew initialize.
+ registry migrateTo: newr.
+ new add: newr ].
+ old asArray elementsForwardIdentityTo: new asArray.
+
+ oldClass := WeakRegistry.
+ newClass := WeakFinalizationRegistry.
+
+ Smalltalk forgetClass: newClass logged: false.
+ newClass superclass removeSubclass: newClass.
+ newClass setName: #WeakRegistry.
+ oldClass becomeForward: newClass.
+ ] forkAt: Processor highestPriority.
+ '.
+ !


Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Collections-cwp.484.mcz

Levente Uzonyi-2
On Mon, 13 Aug 2012, [hidden email] wrote:

> A new version of Collections was added to project The Inbox:
> http://source.squeak.org/inbox/Collections-cwp.484.mcz
>
> ==================== Summary ====================
>
> Name: Collections-cwp.484
> Author: cwp
> Time: 13 August 2012, 3:57:08.399 pm
> UUID: 6e37e40a-c863-44bd-be92-561231a1e429
> Ancestors: Collections-fbs.483
>
> Make Character>>tokenish to accept $_ if the global preference is enabled.
>
> =============== Diff against Collections-fbs.483 ===============
>
> Item was changed:
>  ----- Method: Character>>tokenish (in category 'testing') -----
>  tokenish
>   "Answer whether the receiver is a valid token-character--letter, digit, or
>   colon."
>
> + self == $_
> +   ifTrue: [ Scanner prefAllowUnderscoreSelectors ]
> +   ifFalse: [ self == $: or: [ self isLetter or: [ self isDigit ] ] ]!
> - ^self isLetter or: [self isDigit or: [self = $:]]!
>
> Item was added:
> + ----- Method: WeakRegistry class>>migrateOldRegistries (in category 'migrating registry') -----
> + migrateOldRegistries

It sneaked back again, I wonder where did it come from.


Levente

> + Smalltalk at: #WeakFinalizationRegistry ifAbsent: [ ^ self "already done" ].
> +
> + Smalltalk recreateSpecialObjectsArray.
> + WeakArray restartFinalizationProcess.
> +
> + Smalltalk garbageCollect; garbageCollect.
> +
> + "leave no chance to interrupt migration"
> + Compiler evaluate: '
> + [ | old new oldClass newClass |
> + old := OrderedCollection new.
> + new := OrderedCollection new.
> + WeakRegistry allInstancesDo: [:registry | | newr |
> + old add: registry.
> + newr := WeakFinalizationRegistry basicNew initialize.
> + registry migrateTo: newr.
> + new add: newr ].
> + old asArray elementsForwardIdentityTo: new asArray.
> +
> + oldClass := WeakRegistry.
> + newClass := WeakFinalizationRegistry.
> +
> + Smalltalk forgetClass: newClass logged: false.
> + newClass superclass removeSubclass: newClass.
> + newClass setName: #WeakRegistry.
> + oldClass becomeForward: newClass.
> + ] forkAt: Processor highestPriority.
> + '.
> + !
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Collections-cwp.484.mcz

Colin Putney-3
On Mon, Aug 13, 2012 at 4:01 PM, Levente Uzonyi <[hidden email]> wrote:
>> + migrateOldRegistries

> It sneaked back again, I wonder where did it come from.

I think the culprit is the "Squeak4.4-11925" image on ftp.squeak.org.
It's in a strange state. The version of Collections that's loaded,
Collections-dtl.469, doesn't include the method, but it is present in
the image, and Monticello shows the package as clean. Easy for an
unsuspecting developer to miss it in the changes when he commits.

Colin

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Collections-cwp.484.mcz

Bert Freudenberg
On 14.08.2012, at 01:48, Colin Putney <[hidden email]> wrote:

> On Mon, Aug 13, 2012 at 4:01 PM, Levente Uzonyi <[hidden email]> wrote:
>>> + migrateOldRegistries
>
>> It sneaked back again, I wonder where did it come from.
>
> I think the culprit is the "Squeak4.4-11925" image on ftp.squeak.org.
> It's in a strange state. The version of Collections that's loaded,
> Collections-dtl.469, doesn't include the method, but it is present in
> the image, and Monticello shows the package as clean. Easy for an
> unsuspecting developer to miss it in the changes when he commits.
>
> Colin


I used to have a do-it that would check the entire system for cleanness, that is, the MC snapshot of each package would match the image, and there were no methods left out. Should have committed that as utility method somewhere I guess. Would be good to run as a release check ...

- Bert -
Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Collections-cwp.484.mcz

Chris Muller-3
In reply to this post by Colin Putney-3
> I think the culprit is the "Squeak4.4-11925" image on ftp.squeak.org.
> It's in a strange state. The version of Collections that's loaded,
> Collections-dtl.469, doesn't include the method, but it is present in
> the image, and Monticello shows the package as clean. Easy for an
> unsuspecting developer to miss it in the changes when he commits.

Good catch -- Frank we should not let this image be an ancestor of the
release image.  If possible for the final 4.4 build to be from a fresh
4.3 release image would probably be best.

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Collections-cwp.484.mcz

Frank Shearar-3
On 14 August 2012 20:14, Chris Muller <[hidden email]> wrote:
>> I think the culprit is the "Squeak4.4-11925" image on ftp.squeak.org.
>> It's in a strange state. The version of Collections that's loaded,
>> Collections-dtl.469, doesn't include the method, but it is present in
>> the image, and Monticello shows the package as clean. Easy for an
>> unsuspecting developer to miss it in the changes when he commits.
>
> Good catch -- Frank we should not let this image be an ancestor of the
> release image.  If possible for the final 4.4 build to be from a fresh
> 4.3 release image would probably be best.

I'm happy to replace the image. In fact, we already have a CI job
taking an image from 4.3's release, so I'll use the output of that to
permanently remove the trunkish image.

Can we please _remove_ 11925 from the FTP site then, and replace it
with something that's in a sane state?

frank

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Collections-cwp.484.mcz

Frank Shearar-3
On 14 August 2012 21:15, Frank Shearar <[hidden email]> wrote:

> On 14 August 2012 20:14, Chris Muller <[hidden email]> wrote:
>>> I think the culprit is the "Squeak4.4-11925" image on ftp.squeak.org.
>>> It's in a strange state. The version of Collections that's loaded,
>>> Collections-dtl.469, doesn't include the method, but it is present in
>>> the image, and Monticello shows the package as clean. Easy for an
>>> unsuspecting developer to miss it in the changes when he commits.
>>
>> Good catch -- Frank we should not let this image be an ancestor of the
>> release image.  If possible for the final 4.4 build to be from a fresh
>> 4.3 release image would probably be best.
>
> I'm happy to replace the image. In fact, we already have a CI job
> taking an image from 4.3's release, so I'll use the output of that to
> permanently remove the trunkish image.

I've updated the "snapshot" image with a freshly upgraded 4.3. Please
also inspect the relevant artifacts at
http://squeakci.org/job/UpdateFromLastRelease/8/ as a sample of what
these look like.

frank

> Can we please _remove_ 11925 from the FTP site then, and replace it
> with something that's in a sane state?
>
> frank