Re: VM pointers delivered
Posted by
Igor Stasenko on
Jul 14, 2007; 8:36pm
URL: https://forum.world.st/VM-pointers-delivered-tp133482p133487.html
On 14/07/07,
[hidden email] <
[hidden email]> wrote:
> sig writes:
> > VMMaker-sig.70
> > Exupery-sig.262
> >
> > To see, how globals table generated look at
> > CCodeGenerator>>emitGlobalTablesOn:methodList:
>
> Unfortunately as it stands it will only work on Windows.
>
> The major problem is the "foo" structure on other platforms that's
> used to hold most of the interpreter's variables.
>
> That's why the accessor methods used to call addressOf: rather than
> just being "self cCode: '&foo->activeContext'" which is what I
> originally did until Andreas tried to do a quick Windows port. He
> created addressOf: to provide a platform neutral way of getting the
> address of an interpreter structure.
>
> #returnPrefixFromVariable: will return the right form for a variable
> on any platform. Unfortunately, you can't dereference foo in another
> structure's initialiser.
>
> Andreas created #generateAddressOf:on:indent: to translate
> the sender #addressOf: into the appropriate C expression.
>
>
> I'm not sure about your change to Win32VMMaker>>sourceDirectory.
> If I add that to Exupery's VMMaker what will it do to people with
> existing Windows build environments?
Ah.. its better to remove this method. i just left it to call super.
Originally (w/o my change) you are unable to change target dir, and i
found this annoying.
And.. i don't know how other people build squeak in windows, but all
my tries to build it from freshly unpacked gnutools and vm sources
failed.
Only after i did some changes in make files i did manage to build
squeak from freshly generated source tree.
Btw, i can provide my makefiles if someone interested.
_______________________________________________
Exupery mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/exupery