[Vm-dev] Compile VM for 32-bit or 64-bit image from one code base (was: VM Maker: VMMaker-dtl.173.mcz)

David T. Lewis lewis at mail.msen.com
Wed May 19 22:02:52 UTC 2010

This really belongs in the VMMaker inbox, but we don't have one
of those so I uploaded it to SqS/VMMaker. If it causes problems,
I appreciate if someone can do an update from VMMaker-dtl.172
and make this VMMaker-dtl.173 a branch. I may be out of town
for a few days, so don't ask my permission.

The purpose of this change is to move all of the BytesPerWord
dependent stuff out to compile-time macros, enabling a single
generated code base to produce VMs for either 32-bit or 64-bit
image formats.


On Wed, May 19, 2010 at 11:42:19PM +0000, squeak-dev-noreply at lists.squeakfoundation.org wrote:
> Dave Lewis uploaded a new version of VMMaker to project VM Maker:
> http://www.squeaksource.com/VMMaker/VMMaker-dtl.173.mcz
> ==================== Summary ====================
> Name: VMMaker-dtl.173
> Author: dtl
> Time: 19 May 2010, 5:26:58 am
> UUID: bbb194b8-b409-4b48-a757-7d9466006019
> Ancestors: VMMaker-dtl.172
> VMMaker 4.2.0
> EXPERIMENTAL - Includes numerous code changes that may cause problems for other VM projects that rely on a stable VMMaker code base.
> Compile a VM for either 32-bit or 64-bit image from a single generated code base. Eliminates need for separate src32 and src64 code generation from VMMaker.
> Various word-size dependent class variables are removed from ObjectMemory. C preprocessor macros are written to src/vm/interp.h to handle all compile-time size dependencies. The interpreter simulator uses a mix of class variables and instance methods to implement the corresponding calculations in Smalltalk.
> To compile a VM for 64-bit images, define the following in config.h or equivalent:
> #define SQ_VI_BYTES_PER_WORD 8
> =============== Diff against VMMaker-dtl.172 ===============

More information about the Vm-dev mailing list