[squeak-dev] Re: [ANN] Monticello 2.0.20

Eliot Miranda eliot.miranda at gmail.com
Fri Aug 15 21:42:19 UTC 2008


On Fri, Aug 15, 2008 at 7:20 AM, Colin Putney <cputney at wiresong.ca> wrote:

>
> On 14-Aug-08, at 6:57 PM, Eliot Miranda wrote:
>
>  Does a ChangeSetSlice record the preamble and postscript?  Do these get
>> run automaticaly when a ChangeSetSlice is loaded?
>>
>
> No, that doesn't really fit with MC's versioning model.
>
> Does your closure bootstrap have preamble and postscript? What do they do?


There are a few.  Preamble is essentially commentary so we can ignore it,
but it would be great if MC2 supported a per-package or per-slice comment
that allowed one to document the purpose, api and authorship et al of a
package/slice.

Postscripts do the following:

compiler preload.cs
- rename MethodContext's receiverMap inst var to closureOrNil via
        MethodContext instVarNames at: 2 put: 'closureOrNil'
MethodContext can't be recompiled without brining the system down (infinite
loop enumerating contexts for one).

Closure Compiler.cs:
- remove unused CompiledMethod class vars.  CompiledMethod can't reliably be
recompiled because the ClassBuilder restricts it.
- run Smalltalk recreateSpecialObjectsArray to add BlockClosure to the array

Compile Using Closures.cs
- recompiles the system (could be done elsewhere in the bootstrap script,
but its the kind of thing one needs to do after loading a slice/package that
modifies the compiler)

Married Context Management Access.cs
- recompiles ContextPart and subclasses after changing the way inst var
access is compiled (use long-form bytecodes instead of short-form, a hack
used by the stack vm)

MultiPaneBrowser.cs
- toggles a preference enabling multi-pane browsing once entire change set
has loaded

So recompilation, running low-level system inits, setting preferences,
getting around limitations in the class builder.

HTH




>
> Colin
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20080815/2bbecb80/attachment.htm


More information about the Squeak-dev mailing list