[squeak-dev] The Inbox: Monticello-hjh.529.mcz
commits at source.squeak.org
commits at source.squeak.org
Tue Jan 22 21:57:32 UTC 2013
A new version of Monticello was added to project The Inbox:
http://source.squeak.org/inbox/Monticello-hjh.529.mcz
==================== Summary ====================
Name: Monticello-hjh.529
Author: hjh
Time: 22 January 2013, 9:56:58.248 pm
UUID: 4fa5f98e-0261-6240-ac33-d98759df6a77
Ancestors: Monticello-nice.528
Added comments to MCDefinition, MCPackage and MCSnapshot.
A MCDefinition is a model for Smalltalk code. A package snapshot (MCSnapshot) is a collection of these definitions.
MCPackage uses PackageInfo to find out which methods and classes belong to a package.
=============== Diff against Monticello-nice.528 ===============
Item was changed:
Object subclass: #MCDefinition
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Monticello-Base'!
MCDefinition class
instanceVariableNames: 'instances'!
+
+ !MCDefinition commentStamp: 'hjh 1/22/2013 21:38' prior: 0!
+ A MCDefinition is a model for Smalltalk code. A package snapshot (MCSnapshot) is a collection of these definitions.
+
+ What does
+ MCDefinition clearInstances.
+ do?
+
+ It nils out the quick-access cache to its subinstances. #allInstances is very slow as it needs to scan the whole object memory, whereas retrieving an instance from the "instances" WeakSet is O(1).
+
+ Why can this be done safely?
+
+ Because re-using a definition is only a space optimization.
+
+ What is the impact of doing this?
+
+ When loading/creating another snapshot, the definitions that are in both snapshots will not be shared but occupy space twice.
+ !
MCDefinition class
instanceVariableNames: 'instances'!
Item was changed:
Object subclass: #MCPackage
instanceVariableNames: 'name'
classVariableNames: ''
poolDictionaries: ''
category: 'Monticello-Base'!
+
+ !MCPackage commentStamp: 'hjh 1/22/2013 21:38' prior: 0!
+ MCPackage uses PackageInfo to find out which methods and classes belong to a package.
+
+ More see MCDefinition.
+
+ !
Item was changed:
Object subclass: #MCSnapshot
instanceVariableNames: 'definitions'
classVariableNames: ''
poolDictionaries: ''
category: 'Monticello-Base'!
+
+ !MCSnapshot commentStamp: 'hjh 1/22/2013 21:40' prior: 0!
+ A MCSnapshot is a snapshot of an MCPackage. It is a collection of MCDefinitions.
+
+ See also MCDefinition.!
More information about the Squeak-dev
mailing list
|