[squeak-dev] Closure testers needed
Andreas Raab
andreas.raab at gmx.de
Thu Jul 16 06:28:34 UTC 2009
Folks -
I have a closure version for the trunk that's ready for testing. Since
converting an image to closures is tricky I would like a couple of
people to give it a test run before I push it for real. I am interested
in both positive feedback ("works for me") as well as negative feedback
("crashes, hangs, core-dumps when trying to load x,y,z") in particular
if you use custom 3.10[.2] based images.
In order to test the load process you need to:
1) Get a closure-enabled VM from:
http://squeakvm.org/win32/release/SqueakVM-Win32-3.11.3-bin.zip (win)
ftp://ftp.smalltalkconsulting.com/Squeak%204.1.1beta2U.app.zip (mac)
2) A 3.10-based image. I used 3.10.2 but any 3.10-based image should
work. Make really, *really* sure you launch this image with the
closure-enabled VM or you *will* die along the way.
3) The updated MonticelloConfigurations package from
http://source.squeak.org/trunk (if you are a trunk user already you can
skip this step)
4) Run the following doIt:
MCMcmUpdater updateFromRepositories: #(
'http://source.squeak.org/trunk'
'http://squeaksource.com/MCUpdateTest'
).
When you run the above doIt, the following will happen:
* First, you will load the updates from the trunk to make sure you're as
close as reasonably possible to a uniform starting point.
* Then you will load Eliot's closure code in carefully crafted form as
to not screw up in the middle.
* At the end the entire system will be recompiled using closures.
When all of it is complete, you are already running with real closures.
Test it by opening a workspace and running our good old friend fib(n):
fib := [:n| n < 2 ifTrue:[1] ifFalse:[(fib value:n-1) + (fib value:n-2)]].
fib value: 10.
There is then only one step left. In order to expunge any leftover
contexts, do the following:
* Close all open SystemWindows (browsers, monticello, filelist etc).
* Hit Alt-Period and terminate the resulting notifier (this is to get
rid of the Morphic UI process that holds onto contexts)
* Destroy all shared global flaps (World Menu >> Flaps >> Destroy all
shared flaps)
* Open a new workspace, execute "Utilities postRecompileCleanup"
If everything is in order, you will be congratulated that the bootstrap
is complete. If not, you will end up with inspectors on any left-over
contexts and unbound methods and you will have to to figure out how to
get rid of them (but feel free to ask here; someone might have an idea).
Thanks for your help and let me know if the load process works for you!
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|