[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