Issue 5276 in pharo: replaced MCMethodDefinition's Definitions class variable with a class instance variable.

classic Classic list List threaded Threaded
6 messages Options
pharo pharo
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Issue 5276 in pharo: replaced MCMethodDefinition's Definitions class variable with a class instance variable.

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
pharo pharo
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Issue 5276 in pharo: replaced MCMethodDefinition's Definitions class variable with a class instance variable.


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
pharo pharo
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Issue 5276 in pharo: replaced MCMethodDefinition's Definitions class variable with a class instance variable.


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
pharo pharo
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Issue 5276 in pharo: replaced MCMethodDefinition's Definitions class variable with a class instance variable.


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
pharo pharo
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Issue 5276 in pharo: replaced MCMethodDefinition's Definitions class variable with a class instance variable.

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
pharo pharo
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Issue 5276 in pharo: replaced MCMethodDefinition's Definitions class variable with a class instance variable.

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
Loading...