[Openmcl-devel] OpenMCL on Intel
gb at clozure.com
Thu Jun 16 05:42:28 EDT 2005
On Thu, 16 Jun 2005, David Steuber wrote:
> Hello List,
> This may seem like a daft question, but since OpenMCL runs under both Darwin
> and Linux on PPC, does the eventual addition of an Intel back end of some
> sort mean that OpenMCL will become available for Linux on Intel (be it x86 or
> whatever)? And would things like FFI, socket, and thread APIs remain
> consistent across supported platforms?
If there were (hypothetically) an x86[-32,-64] OpenMCL for Darwin, that'd
probably be somewhere around 95% (give or take ...) of the effort required
to get running on the same hardware under Linux. That might be a little
high, but ABI differences (the C calling sequence, alignment conventions,
etc.) are generally a lot less significant than CPU differences. I'd guess
that most of the ABI differences are things that would not be exposed to
user code, but there may be exceptions. In DarwinPPC's ABI, structures
are passed by value in registers; I don't know whether DarwinX86 follows
these conventsions, and (to the extent that one has to be aware of this
in OpenMCL's FFI) this may require some changes to user code.
> I ask this because the potential of wider hardware support from OpenMCL is
> very appealing to me. I've been working on code lately that OpenMCL seems to
> execute faster than other free Lisps I have tried.
> On a side note, is there implementation documentation on OpenMCL outside of
> the source code itself?
It's way out of date, but the source code may make more sense after reading
chapter 13 of the manual; that's a mixture of some stuff that I wrote in
2000 (describing a port of MCL to VxWorks) and some additional information
that Dan Knapp wrote last year. The older stuff occasionally says things
like "if threads were preemptively scheduled, this'd have to change."
Threads are preemptively scheduled, and lots of things changed.
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
More information about the Openmcl-devel