64-bit VMs

Tim Rowledge tim at sumeru.stanford.edu
Mon Apr 4 21:00:42 UTC 2005


In message <084bae8050d961234080c30af687f51a at hp.com>
          Ian Piumarta <ian.piumarta at hp.com> wrote:

> On Apr 3, 2005, at 10:25 PM, Tim Rowledge wrote:
> 
> > It loads an image, runs it ok, garbage collects, moves windows etc. 
> > Must be
> > ok.
> 
> Cool.
> 
> (Did you make a 64-bit VM and run the 64-bit image too?)
Nope; no 64bit machine so I can't really do anything useful with it. If I was
being paid I might feel like spending the money for such a machine, yadda
yadda. Send money.
> 
> The other thing we (desperately) need is a set of radio buttons in VMM 
> to select:
> 
> 1) generate 32-bit VM
> 2) generate 64-bit VM
> 3) generate both
> 
> with (3) appending a '32' or '64' to the 'path to generated sources' 
> string.
Could work out of the box for you (on unix) and me (on RISC OS) with relative
pathnames in the makefiles. Not certain about what paths are in win32 & mac
makefiles so such a change might require makelife editing. I imagine people are
capable of that once they know what is changed...

I'm not sure about a 'both' button though. With having to re-init OM for each
form it wouldn't be doable to simply write out a 32b followed by a 64 b version
of each file in turn. It would have to be; do one version of all requested work
(remember you can ask for entire vm, just the core+internal, just the external
plugins, an individual plugin) and then re-init OM and repeat.

Of course, you can script it easily enough for batch processing; VMMaker has
always been scriptable since it was originally written for exobox to do
overnight automated builds.

Stick somethng like:-
ObjectMemory initBytesPerWord: 4.
(VMMaker default sourceDirectoryName: 'somewhervalid/src32' ;
initializeInternal: #(BitBltPlugin MiscPrimsPlugin FilePlugin) external:
#(SocketPlugin ZipPlugin B2DPlugin) generateEntire. 
ObjectMemory initBytesPerWord: 8.
(VMMaker default  sourceDirectoryName: 'somewhervalid/src34' ;
initializeInternal: #(BitBltPlugin MiscPrimsPlugin FilePlugin) external:
#(SocketPlugin ZipPlugin B2DPlugin) generateEntire.
in a buttonmorph script.
Modulo the lineend issues you can even use the #setPlatName: method to do cross-
'compilation' which might be useful for batch building and compiling. Given the
vile mess of file streams and naming that currently exists it would probably be
simpler to make some shell script to do the lineend munging for dos & mac
trees. 

tim
--
Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
Useful random insult:- Been one too many times through the wormhole.



More information about the Vm-dev mailing list