[squeak-dev] The Inbox: Monticello-hjh.530.mcz

H. Hirzel hannes.hirzel at gmail.com
Tue Jan 22 22:37:07 UTC 2013


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, commits at source.squeak.org
<commits at source.squeak.org> 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.!
>
>
>


More information about the Squeak-dev mailing list