|
|
Status: FixReviewNeeded
Owner: [hidden email] CC: [hidden email] Labels: Milestone-1.4 New issue 5276 by [hidden email]: replaced MCMethodDefinition's Definitions class variable with a class instance variable. http://code.google.com/p/pharo/issues/detail?id=5276 levente did the following in squeak - replaced MCMethodDefinition's Definitions class variable with a class instance variable. The cached definitions are no longer registered for finalization. - a bit of cleanup around MCDefinition's Instances class variable MCdefinition class>>instanceLike: aDefinition ^(instances ifNil: [ instances := WeakSet new ]) like: aDefinition ifAbsent: [ instances add: aDefinition ] cachedDefinitions Definitions ifNil: [Definitions := WeakIdentityKeyDictionary new. WeakArray addWeakDependent: Definitions]. ^ Definitions => MCMethodDefinition>>cachedDefinitions ^definitions ifNil: [ definitions := WeakIdentityKeyDictionary new ] igor I want to have look at that with you. _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
|
|
Comment #1 on issue 5276 by [hidden email]: replaced MCMethodDefinition's Definitions class variable with a class instance variable. http://code.google.com/p/pharo/issues/detail?id=5276 Object subclass: #MCDefinition instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Monticello-Base' MCDefinition class instanceVariableNames: 'instances' MCDefinition class>>clearInstances instances := nil. self subclassesDo: #clearInstances _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
|
|
Comment #2 on issue 5276 by [hidden email]: replaced MCMethodDefinition's Definitions class variable with a class instance variable. http://code.google.com/p/pharo/issues/detail?id=5276 This was: [hidden email] via lists.squeakfoundation.org 28/02/10 à squeak-dev, packages Levente Uzonyi uploaded a new version of Monticello to project The Trunk: http://source.squeak.org/trunk/Monticello-ul.375.mcz ==================== Summary ==================== Name: Monticello-ul.375 Author: ul Time: 28 February 2010, 2:58:21.945 pm UUID: 2e3b9ffd-b728-364b-84c2-1f189c89fcdf Ancestors: Monticello-ul.374 - replaced MCDefinition's Instances class variable with a class instance variable. Smaller WeakSets are better than a large one. =============== Diff against Monticello-ul.374 =============== Item was changed: Object subclass: #MCDefinition instanceVariableNames: '' + classVariableNames: '' - classVariableNames: 'Instances' poolDictionaries: '' category: 'Monticello-Base'! + MCDefinition class + instanceVariableNames: 'instances'! + MCDefinition class + instanceVariableNames: 'instances'! Item was changed: ----- Method: MCDefinition class>>instanceLike: (in category 'as yet unclassified') ----- instanceLike: aDefinition + ^(instances ifNil: [ instances := WeakSet new ]) - ^(Instances ifNil: [ Instances := WeakSet new ]) like: aDefinition + ifAbsent: [ instances add: aDefinition ]! - ifAbsent: [ Instances add: aDefinition ]! Item was changed: + (PackageInfo named: 'Monticello') preamble: ''! - (PackageInfo named: 'Monticello') preamble: 'WeakArray removeDependent: (MCMethodDefinition classPool at: #Definitions)'! Item was changed: ----- Method: MCDefinition class>>clearInstances (in category 'as yet unclassified') ----- clearInstances + instances := nil. + self subclassesDo: #clearInstances! - Instances := nil! _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
|
|
Comment #3 on issue 5276 by [hidden email]: replaced MCMethodDefinition's Definitions class variable with a class instance variable. http://code.google.com/p/pharo/issues/detail?id=5276 And Levente Uzonyi uploaded a new version of Monticello to project The Trunk: http://source.squeak.org/trunk/Monticello-ul.374.mcz ==================== Summary ==================== Name: Monticello-ul.374 Author: ul Time: 28 February 2010, 2:57:06.129 pm UUID: c8779e3f-6e45-2d4a-828e-d6e02cb40546 Ancestors: Monticello-ar.372 - replaced MCMethodDefinition's Definitions class variable with a class instance variable. The cached definitions are no longer registered for finalization. - a bit of cleanup around MCDefinition's Instances class variable =============== Diff against Monticello-ar.372 =============== Item was changed: ----- Method: MCMethodDefinition class>>shutDown (in category 'as yet unclassified') ----- shutDown + + definitions := nil.! - WeakArray removeWeakDependent: Definitions. - Definitions := nil.! Item was changed: ----- Method: MCMethodDefinition class>>cachedDefinitions (in category 'as yet unclassified') ----- cachedDefinitions + + ^definitions ifNil: [ definitions := WeakIdentityKeyDictionary new ]! - Definitions ifNil: [Definitions := WeakIdentityKeyDictionary new. WeakArray addWeakDependent: Definitions]. - ^ Definitions! Item was changed: MCDefinition subclass: #MCMethodDefinition instanceVariableNames: 'classIsMeta source category selector className timeStamp' + classVariableNames: '' - classVariableNames: 'Definitions' poolDictionaries: '' category: 'Monticello-Modeling'! + MCMethodDefinition class + instanceVariableNames: 'definitions'! + MCMethodDefinition class + instanceVariableNames: 'definitions'! Item was changed: ----- Method: MCDefinition class>>instanceLike: (in category 'as yet unclassified') ----- instanceLike: aDefinition + + ^(Instances ifNil: [ Instances := WeakSet new ]) + like: aDefinition + ifAbsent: [ Instances add: aDefinition ]! - Instances ifNil: [Instances := WeakSet new]. - ^ (Instances like: aDefinition) ifNil: [Instances add: aDefinition]! Item was added: + (PackageInfo named: 'Monticello') preamble: 'WeakArray removeDependent: (MCMethodDefinition classPool at: #Definitions)'! Item was changed: ----- Method: MCDefinition class>>clearInstances (in category 'as yet unclassified') ----- clearInstances + - WeakArray removeWeakDependent: Instances. Instances := nil! Item was removed: - ----- Method: MCSnapshotBrowser>>aboutToStyle: (in category 'morphic ui') ----- - aboutToStyle: aStyler - - | classOrMetaClass shouldStyle | - classSelection ifNil: [ ^false ]. - switch = #comment ifTrue: [ ^false ]. - (protocolSelection notNil and: [ - methodSelection notNil ]) - ifTrue: [ - classOrMetaClass := self selectedClassOrMetaClass. - shouldStyle := true ] - ifFalse: [ - classOrMetaClass := nil. - shouldStyle := categorySelection ~= self extensionsCategory ]. - aStyler classOrMetaClass: classOrMetaClass. - ^shouldStyle! _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
|
|
Updates:
Status: Workneeded Labels: Type-Enh Comment #4 on issue 5276 by [hidden email]: replaced MCMethodDefinition's Definitions class variable with a class instance variable. http://code.google.com/p/pharo/issues/detail?id=5276 (No comment was entered for this change.) _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
|
|
Updates:
Labels: -Milestone-1.4 Comment #5 on issue 5276 by [hidden email]: replaced MCMethodDefinition's Definitions class variable with a class instance variable. http://code.google.com/p/pharo/issues/detail?id=5276 Not a show stopper for releasing 1.4. (but *if* someone posts code, we are happy to consider it to 1.4.. but nobody needs to stay awake and fix it before we can release 1.4) _______________________________________________ Pharo-bugtracker mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-bugtracker |
| Powered by Nabble | See how NAML generates this page |