trying to build VM for Win32

Bryce Kampjes bryce at kampjes.demon.co.uk
Sun Sep 17 17:29:41 UTC 2006


Andrew Tween writes:
 > Hi Bryce and all,
 > I am trying to build an Exupery VM for Win32.
 > 
 > Question 1. - has anyone successfully done this?

So far no-one has successfully built Exupery on Win 32.

You'll also need to replace the call to mmap in the .c files
with a call to VirtualAlloc.

That's all the changes that I know you will have to make. There
may be more.

 > Question 2. - I get this error when compiling -
 > 
 > gnu-interp.c: In function `exuperySetupMessageSend':
 > gnu-interp.c:4567: `foo' undeclared (first use in this function)
 > 
 > Looking at the corresponding method in Interpreter, I see...
 > 
 >    [(receiverClass < youngStart and: [picPosition ~= 0]) ifTrue:
 >     [self cCode: '*(int *) (picPosition + 12) = foo->receiverClass'

The short answer was I was careless when I wrote that.

The longer answer is foo is a structure used to hold the interpreters
variables to speed up accessing them. This is an optimisation done by
VMMaker that provides quicker variable access on RISCs but not on x86.
Linux is a Unix so it chooses to compile to suit a RISC.

The simple solution is to just delete the references to foo in my 
cCode:. Send me the mcz and I'll try to clean it up so it works on
both platforms.

Sorry
Bryce


More information about the Exupery mailing list