A new version of Monticello was added to project The Inbox:
http://source.squeak.org/inbox/Monticello-hjh.530.mcz ==================== Summary ==================== Name: Monticello-hjh.530 Author: hjh Time: 22 January 2013, 10:27:20.512 pm UUID: a02278e6-4e36-ca40-ad26-7239863e76cd Ancestors: Monticello-hjh.529 Updated comments in MCDefinition, MCPackage and MCSnapshot after review by Bert Freudenberg. =============== Diff against Monticello-hjh.529 =============== Item was changed: Object subclass: #MCDefinition instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Monticello-Base'! MCDefinition class instanceVariableNames: 'instances'! + !MCDefinition commentStamp: 'hjh 1/22/2013 22:25' prior: 0! - !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 22:22' prior: 0! - !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 22:26' prior: 0! - !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.! |
Actually I should have added as well the following to the MCSnapshot comment.
I will to the change tomorrow and resubmit it. "A snapshot is how MC models the contents of a package. Saving a package means storing a snapshot of it. Loading means taking another snapshot of what's currently in the image and comparing it to the stored snapshot, then filing in just the differences between the two. " --Hannes On Tue, 22 Jan 2013 22:27:38.511 0000, [hidden email] <[hidden email]> wrote: > A new version of Monticello was added to project The Inbox: > http://source.squeak.org/inbox/Monticello-hjh.530.mcz > > ==================== Summary ==================== > > Name: Monticello-hjh.530 > Author: hjh > Time: 22 January 2013, 10:27:20.512 pm > UUID: a02278e6-4e36-ca40-ad26-7239863e76cd > Ancestors: Monticello-hjh.529 > > Updated comments in MCDefinition, MCPackage and MCSnapshot after review by > Bert Freudenberg. > > =============== Diff against Monticello-hjh.529 =============== > > Item was changed: > Object subclass: #MCDefinition > instanceVariableNames: '' > classVariableNames: '' > poolDictionaries: '' > category: 'Monticello-Base'! > MCDefinition class > instanceVariableNames: 'instances'! > > + !MCDefinition commentStamp: 'hjh 1/22/2013 22:25' prior: 0! > - !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 22:22' prior: 0! > - !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 22:26' prior: 0! > - !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.! > > > |
Free forum by Nabble | Edit this page |