[squeak-dev] 64bit or 32bit VM

David T. Lewis lewis at mail.msen.com
Sat Nov 8 21:31:56 UTC 2008


On Sat, Nov 08, 2008 at 12:10:10PM -0800, Brad Fuller wrote:
> Thanks for the articulated reply.
> Anybody know which plugins will not work in 64bit?
> A follow on question would be what have you and others learned about
> moving 32bit plugins to 64bit?  Back in the cobwebs I seem to remember
> you and Dan writing about your journey, but that's as far as my
> recollection goes. I'll search the archives for more, but if something
> comes to mind, I'd appreciate any help.

Some general information is collected at http://www.squeakvm.org/squeak64/faq.html.

The original summary by Dan and Ian at http://www.squeakvm.org/squeak64 gives
a good overview of the issues. The only real complication with plugins is
that many of them use external support code (maintained in SVN) and external
libaries that have to be coordinated with the Slang code (maintained in VMMaker).

I use SlangBrowser (wiki.squeak.org/squeak/5916) when working on this stuff
so I can inspect the C code along with the Smalltalk source, but aside from
that it's just a matter of edit, compile, fix compiler warnings, run in
debugger, and repeat until it works. Once a plugin is working on a 64 bit
platform for normal images, it is usually a small step to ensure that it
also works on 64 bit images.

Building the VMs and plugins on a 64 bit platform for a 32 bit image, and
setting the base address of object memory to something other than 0, turns
out to be a great way to flush out all manner of hidden problems. Once you
get a plugin working in that enviroment, it's pretty clean and the rest is
easy.

I don't think we have a good accounting of what plugins are working on
what platforms for which combinations of 32/64 bit platforms and images.
If there is a specific plugin that you are interested in, I'll tell
you if I know anything about it. There is a "Squeak 64 bit" category on
Mantis for tracking issues related to 64 bit VM and images, so take a
look at that also.

Dave




More information about the Squeak-dev mailing list