|
|
|
Aug 29th, 2007
|
Squeak VMs and Code Fragments
|
From time to time I post new VMs (Virtual Machines) for the Macintosh Carbon Squeak implementation. These contain bug fixes, performance enhancements, and changes to support the Squeak community. Issues with crashs should be report to me so that we can improve your Squeak experience.
Usually the VMs are OS-X carbon based versions, but at certain points of stability I also post a bundled version of OS-X and OS-9 non-carbon. The OS-9 version can of course run on most mac platforms as far back as OS 7.5.5. Earlier versions of the VMs in the archives will still run on Mac 68K machines.
I also build custom plugins for SqueakLand support and other subsets of the Squeak community.
The Beta VMs can be found at:
ftp://ftp.smalltalkconsulting.com
An alternate location is on my dot MAC idisk web page at:
http://homepage.mac.com/johnmci/FileSharing.html
Then of course the official stable distribution site at:
ftp://ftp.squeak.org/current_stable/mac/
Funding
Over the years funding has come my way via Disney, Viewpoints Research, and from various folks in the Squeak community. However because of the MacIntel transition I feel obligated to stick a donate button here to cover the cost of my Apple Developer fees, new Intel assembler & optimization books and to cover reading time since my involvement in Intel architecture over the last 30 years has been minimal. I'll note as always support, bug fixes and new versions are always free.
Other Source Code and Plugins
The Squeak application Info.plist magic decoder page has information you may find valuable in tuning your mac squeak experience.
The SqueakLand Browser Plugin
The offical plugin is distributed by the disk image found at http://www.squeakland.org,
but from time to time I make available a new version for testing as NPSqueak.bundle.sit in the experimental directory. (Pre MacIntel version)
Please note as of Nov 14th, 2006 via funding from Viewpoints Research Inc, I rewrote the browser plugin as SqueakBrowserPlugin.plugin which is a stub responsible for launch a headless macintosh carbon os-x VM on PowerPC, and MacIntel for Safari or FireFox. Other browsers such as Opera and Internet Explorer (absolutely not supported) have not been tested.
The DashBoard Widget.
If you install the SqueakLand distribution you can then install a Dashboard widget and customize a image that appears as a Dashboard widget, this widget is called Squeak.wdgt.zip found in the experimental directory.
Plugin for Kedama
This plugin supports the Kedame particle system
As of August 2007 I recompiled a Kedame and Kedame2 plugin for mac powerpc and macIntel, check with the Kedame support person
Found in the experimental directory
See http://www.is.titech.ac.jp/~ohshima/squeak/kedama2/kedama2.html
Plugin for Locale
This plugin pulls some locale information from the hosting operating system, used by the SqueakLand implementation. Found in the experimental directory
I note that many of the plugins listed below are bundled in the Sophie application
see http://bugs.impara.de/view.php?id=1328
Plugin for MacServices
This plugin enables you to invoke macservices to either send data to a service or get back data from a service.Those are found in your applications Services Menu. This also enables you to have Squeak as a service in other applications so you can select squeak code and invoke Do-It. Please see the MacServicesReadMe.rtf in the experimental directory.
Also see http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-September/094544.html
Plugin for MacSpelling
This plugin enables you to invoke the mac os-x integrated Spell Checker, against text in Squeak. Please see the MacSpelling directory the experimental directory.
Also see http://lists.squeakfoundation.org/pipermail/squeak-dev/2005-June/092349.html
Change Sets for Garbage Collection Instrumentation data collection and active monitoring.
Most VMs by the late summer of 2005 have extra GC statistical data, and a change to how the new space GC logic works. The following changesets at: ftp://ftp.smalltalkconsulting.com/squeakGarbage/ enable access to the primitives and provide a way to monitor how the GC logic is performing.
Image and Change sets for Ffenestri logic, native host window for Squeak Tweak Systems
Found in the experimental directory as TweakFfenestri.sit
see http://minnow.cc.gatech.edu/squeak/3862
Macintosh Host Menu Support
Full access to the macintosh menu manager, alters the default menus at startup time. Found in the experimental directory as TweakFfenestri.sit
see http://minnow.cc.gatech.edu/squeak/3871
The source code for the PrintJob plugin.
The source code for the PrintJob (RealPrintJob and RealPrintJobPlugin). This source, plus the PrintJob Plugin you can find at the offical distribution site (ftp://st.cs.uiuc.edu/Smalltalk/Squeak/3.8/mac/carbonplugins/), allows you to print a Form, using the mac os print manager interface.
Printing of a Form is supported in OS-X and Mac Classic. Mac Classic users need to ensure they have the latest VM, and the right mac classic non-carbon plugin, older VM will not work.
VM for Squeak Marvin
This VM supports the Squeak Marvin Logic
Found in the experimental directory as SqueakMarvin3.8.8b14.app.zip
see http://www.comtalk.net/Squeak/95
VM for Squeak with message sent instrumentation
Oct 29th, 2005. Coming out of a conversation I had with Tim and Michael at a Sophie team meeting I built a Mac OS-X carbon VM that records messsage send information from the interpreter bytecode loop. Unlike image based solutions this solution shows the sequence of actual message sends as the interpreter process them. Needlessly to say tracing generates 100 of MB of data which is written to the messageTraceFile.txt file found in your vm directory. The two change sets JMMRecordMsgSendInterface.1.cs.zip and JMMRecordMsgSends.1.cs.zip allow you to build a patched VM, and invoke:
Smalltalk setVMStatsTraceMessageSendLevels: 1.
to set message send recording on. Note that you pass an integer so you can say
Smalltalk setVMStatsTraceMessageSendLevels: 5.
to set the number of levels in the call stack to print to 5.
Smalltalk setVMStatsTraceMessageSendLevels: 0.
turns the recording off, and closes the file, the file is always opened truncated writing.
Lastly under os-x (unix/darwin) a kill signal to turn recording on.
kill -USR1 19278 {Pick a squeak VM process id}
kill -USR1 19278 {increment the level by one, go to 2}
kill -USR1 19278 {increment the level by one, go to 3}
kill -USR2 19278 {turn recording off, and close the file}
If there is sufficent intrest we will consider incorporating this logic into other platform VMs. We also could use some post processing applications to read the raw data and construct interesting views of the data.
Found in the experimental directory as SqueakMethodTrace_2_3.8.9b7.app.zip or higher
Other Source Code can be found on the Code Fragments Page |