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

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

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

David T. Lewis
 
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.

Dave

On Wed, May 19, 2010 at 11:42:19PM +0000, [hidden email] 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 ===============
>
Reply | Threaded
Open this post in threaded view
|

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

Igor Stasenko

On 20 May 2010 01:02, David T. Lewis <[hidden email]> wrote:

>
> 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.
>
> Dave
>
> On Wed, May 19, 2010 at 11:42:19PM +0000, [hidden email] 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.

++++100!!!
Great!

>>
>> 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 ===============
>>
>



--
Best regards,
Igor Stasenko AKA sig.