[Openmcl-devel] 64-bit

Gary Byers gb at clozure.com
Fri Dec 5 11:13:41 PST 2003

On Fri, 5 Dec 2003, Daniel McShan wrote:

> Hi.
> What kind of support does OpenMCL have for the 64bit architecture of
> the G5?  For instance, could I conceivable have a lisp image with 8GB
> of memory?  I'm interested in both linux and darwin, though I
> understand that the current implementations may not exactly support
> 64bit memory...
> Thanks,
> Dan

OSX doesn't (yet) (fully) support the execution of 64-bit programs;
you can sort of get the processor to run in 64-bit mode, but you're
limited to a 32-bit address space (and aside from a little bit of
C compiler support for arithmetic on "long long" integers, foreign
code still passes 32-bit values around.)  It's reasonable to assume
that these limitations will be removed in the future (though I don't
lnow whether Apple's formally announced that), and it -is- possible
to get a mostly-64-bit lisp running in this environment (running in
a 32-bit address space and doing 32-bit foreign function calls.)
Even if that weird hybrid environment's kind of short-lived, a lot
of the work that needs to be done to get OpenMCL running in a "true"
64-bit environment could be done now.

Things are a little further along on the Linux side: it's possible
to build a 64-bit kernel, development toolchain, and libraries (see
<http://www.penguinppc64.org>.)  I actually have a sort of hand-rolled
64-bit LinuxPPC environment running on an old Power3 system and
commercial Linux distributions are available for 64-bit IBM servers
and workstations.  The G5's a bit different from those systems (different
bus, different peripherals), and Linux distributions for the G5 are
on the near horizon but aren't quite available yet.

Getting a 64-bit OpenMCL running on either platform's a fair amount
of work, and I've been doing some of that work for a while now.  Let's
say that I'm not very confident that it'll happen by the end of 2003,
I'm very confident that it'll happen before the end of 2004, and would
have to do a bit more work than I have to be comfortable predicting
how early in 2004 it'll be ready.  Is that answer evasive enough ?

In 64-bit LinuxPPC, the address space available to a process is limited
to something around 42 or 43 bits; I'm not sure how much of this is a
software limitation and have no idea what the situation will eventually
be like on OSX.  I imagine that a lot of people would settle for a
1000X increase in available address space (at least until they started
GCing ...), at least for the time being.

Gary Byers
gb at clozure.com

More information about the Openmcl-devel mailing list