The Inbox: Monticello-hjh.530.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Monticello-hjh.530.mcz

commits-2
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.!


Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Monticello-hjh.530.mcz

Hannes Hirzel
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.!
>
>
>