[squeak-dev] The Trunk: Monticello-ar.334.mcz

Eliot Miranda eliot.miranda at gmail.com
Thu Dec 10 17:38:57 UTC 2009


or you might borrow a line from Apple.  Their installer says "Optimizing
system performance..." once it gets to the last phase ;)

On Thu, Dec 10, 2009 at 12:43 AM, <commits at source.squeak.org> wrote:

> Andreas Raab uploaded a new version of Monticello to project The Trunk:
> http://source.squeak.org/trunk/Monticello-ar.334.mcz
>
> ==================== Summary ====================
>
> Name: Monticello-ar.334
> Author: ar
> Time: 10 December 2009, 12:42:59 pm
> UUID: 4a73ef6b-47d1-9b44-b744-e5b9e3071518
> Ancestors: Monticello-ar.333
>
> A little white lie: When loading sizable packages, most of the time can be
> spent in notifying the observers. Tell the users that we're still installing
> because it's embarrassing to let them know that we're wasting our time in
> notifications.
>
> =============== Diff against Monticello-ar.333 ===============
>
> Item was changed:
>  ----- Method: MCPackageLoader>>basicLoad (in category 'private') -----
>  basicLoad
>        errorDefinitions := OrderedCollection new.
>        [["Pass 1: Load everything but the methods,  which are collected in
> methodAdditions."
>        additions do: [:ea |
>                [ea isMethodDefinition
>                        ifTrue:[methodAdditions add: ea asMethodAddition]
>                        ifFalse:[ea load]]on: Error do: [errorDefinitions
> add: ea].
>        ] displayingProgress: 'Reshaping classes...'.
>
>        "Pass 2: We compile new / changed methods"
>        methodAdditions do:[:ea| ea createCompiledMethod]
> displayingProgress: 'Compiling...'.
>
>        'Installing...' displayProgressAt: Sensor cursorPoint from: 0 to: 2
> during:[:bar|
>                "There is progress *during* installation since a progress
> bar update
>                will redraw the world and potentially call methods that
> we're just trying to install."
>                bar value: 1.
>
>                "Pass 3: Install the new / changed methods
>                (this is a separate pass to allow compiler changes to be
> loaded)"
>                methodAdditions do:[:ea| ea installMethod].
>
>                "Pass 4: Remove the obsolete methods"
>                removals do:[:ea| ea unload].
>        ].
>
>        "Try again any delayed definitions"
>        self shouldWarnAboutErrors ifTrue: [self warnAboutErrors].
>        errorDefinitions do: [:ea | ea load] displayingProgress:
> 'Reloading...'.
>
>        "Finally, notify observers for the method additions"
> +       methodAdditions do: [:each | each notifyObservers]
> +               "the message is fake but actually telling people how much
> time we spend
> +               in the notifications is embarrassing so lie instead"
> +               displayingProgress: 'Installing...'.
> -       methodAdditions do: [:each | each notifyObservers].
>
>        additions do: [:ea | ea postloadOver: (self obsoletionFor: ea)]
> displayingProgress: 'Initializing...'
>        ] on: InMidstOfFileinNotification do: [:n | n resume: true]
>        ] ensure: [self flushChangesFile]!
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20091210/f51007e7/attachment.htm


More information about the Squeak-dev mailing list