Thanks John for this explanation.
Ah, you'll need to explain which VM you built? Also when you build you get to pick between DEBUG and Deployment/Release in OS-X and I assure you the DEBUG version is 10x slower than the non-debug one.
I downloaded the platforms folder with "svn co http://squeakvm.org/svn/squeak/trunk/platforms/" Generating the last version of the VM Source raises some error: - findLastOccurranceOfString:startingAt: does not exist. I had to replace it by findLastOccurrenceOfString:startingAt: - fixTemps is sent many times. I had to remove the deprecation error message to proceed with the generation How long time does it take to generate the source? My macbook pro has turned itself into a furnace about 30 minutes ago. Pass 18 is indicated, 50% of the progress bar. John, will you be at esug? Cheers, Alexandre
Now.
VMMaker translates a subset of Smalltalk known as Slang to C code. This is the core of the Virtual Machine and processes Smalltalk byte codes it reads from the Squeak Image to perform some obscure task... As Block Closures and Cog JIT work , UTC time, etc, have been added in the last year that has resulted in new versions of VMMaker since we are changing the functionality of the VM.
However the VM is decoupled from the issue of the supporting platform, which progresses at a different rate.
In order to run the VM on a particular hardware device/software platform the person wanting to port the VM has to follow documentation such as found as http://isqueak.org/PlatformVMAPI to create the platform specific API to enable a user of the device to enter UI input and have the VM produce some form of output (may or may not be visual).
The 'Mac OS' folder contains platform code to build a carbon based OS-X system which has it's roots in Apple's OS 7.5.x from 1991. This evolved over the years to support OS-X as an 'OS-X legacy carbon application' and is known as the 3.x series before MacIntel machines, and 4.x after MacIntel with 4.2.5 being the last shipped version.
In June of 2008 the ESUG board provided funding to assist in the development of the platform files for the iPhone, further funding granted in October of 2009 enabled us to rebuild a new set of platform files for OS-X and iOS that
(a) Bring the macintosh os-x platform support code up to the latest version of API support using Cocoa. (b) Enable the ability of the VM & API to run in 32 bit or 64 bit mode on MacIntel or PowerPC. * (c) Enable the ability to run the VM in 64 bit mode working with a 32 bit image (d) Enable the ability to run the VM in 64 bit mode working with a 64 bit image. (e) Rewrite the Squeak in the Browser api to work with Apple's 64 bit requirements. *Cough* pending...
This resulted in the current 5.x series, which support 32bit/64bit VM on os-x against a 32bit or 64bit image, or a 32bit VM with 32bit image on iOS devices. Work from teleplace also offers a 32bit vm in stack or JIT implementation against a 32bit image.
*Apple did not supply 64bit versions of the GUI for the PowerPC which makes it impossible to offer a 64bit compiled VM on the PowerPC because one lacks a Graphical User Interface.
-- =========================================================================== John M. McIntosh <johnmci@smalltalkconsulting.com> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ===========================================================================
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.