experimental 3.5 VM
ian.piumarta at inria.fr
Tue Feb 11 00:52:52 UTC 2003
I would like all who are interested and have a few minutes to spare to
take a look at the brand new 3.5-1devel VM. This VM is a significant
departure from 3. and is still in flux -- so please feel free to
critique it and to suggest how it might be changed for the better.
Nothing is cast in stone yet -- if you don't like the way it works, make a
case for changing how it works! (If you are new to Squeak, or need a
rock-solid VM, stick with 3.4 [obviously ;].)
Here are the major departures from 3.2/3.4:
- MacOSX is now fully supported (Quartz window, CoreAudio sound
input/output, drag&drop, etc.). The VM can be installed as a
clickable app and should behave like any other Cocoa application.
(As usual, X11 is also supported -- when present on the host
- The core was generated out of a fully-updated Croquet image and runs
Croquet fine. The support code provides acceleration for both
X11+GLX and Quartz+CoreGL.
- Display and sound support code has been moved out of the main
executable into runtime modules. The choice of display method
(Quartz, X11, no display at all) and sound (CoreAudio, OSS, NAS,
Sun, no sound at all) can be changed via command-line options when
staring the VM.
- Memory allocation for the heap is now dynamic, based on mmap(). The
heap will grow and shrink as the image's memory requirements change
over time. This can be disabled by giving the option `-memory
<N>[nk]' which tells the VM to use a fixed-size heap. A new option
`-mmap <N>[mk]' is provided to limit the size to which mmap() will
dynamically grow the heap (the default is 1Gbyte or 75% of your
available virtual memory, whichever is smaller). If both options
are given then `-memory' has precedence (disabling the mmap()-based
- A new option `-nodisplay' has been added. It differs from
`-headless' in that the former disables display entirely (making the
memory footprint of the VM smaller) while the latter loads the
display code but does not open the Window (allowing the possibility
of retroactively opening the window at a some later time using
whichever is your favorite recapitation hack).
- A new option `-nosound' has been added and does for sound what
`-nodisplay' does for the display.
- The configure option `--with-audio=...' has been removed. configure
will arrange to build as many sound modules for which it can find
the required headers/libraries.
- configure will also build as many window system support modules for
which it can find headers/libraries. The options `--without-x' and
`--without-quartz' are available to explicitly disable one or both.
I have put the following archives in the "development code" section of my
download page (aka "the usual place"):
- clickable app bundle for MacOSX (Squeak.app) 
- "unix-like" archive for Darwin/MacOSX (/usr/local/...) 
- GNU/Linux PowerPC
- GNU/Linux x86
- full source code
Note that the manual page is still not quite updated. (Sorry. There
are only 24 hours in a day...)
Please feel free to send any and all feedback, suggestions, complaints,
bug reports, etc. Enjoy!
 Does not require X11, although support for X11 is included if it's
installed on the machine.
 Does not require Quartz, although support for Quartz is included if
it's installed on the machine.
 In fact the binaries are identical. They just install into different
places and the .app bundle has the icon, resource and info files
(which are omitted in the unixy archive).
More information about the Squeak-dev