[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MCL for PowerPC?

>I'm not an expert in MCL implementation nor in PowerPC usage, but I think
>that porting MCL to powerPC is not really an easy thing.

Well, that is the question. The PowerPC is a complete Macintosh and
can emulate an 68040 (something like that). So there is
**chance** that MCL could run without any modifications.

But this is not what we want to have.

>As MCL is implemented it converts LISP into a pseudo-code close to 680x0
>assembley language and interprets it (correct me if I'm wrong).
I hope it compiles to 68000 machine code. The code will be
interpreted by the processor. ;-)

To make it clear: MCL does not compile to byte code. It compiles
to native machine code for an 68000.

To port MCL to the PowerPC the following is necessary:

Port the non-Lisp things (runtime system, ...) to the PowerPC.
That may be C code and/or 68000 assembly language code.
The PowerPC could need a different internal
MCL architecture (I really don't know) for things like
effective gc support, memory layout, ...

Now write a code generator for the MCL-compiler that generates
PowerPC machine code. It may be *easy* to just translate
the 68000 code sequences into equivalent PowerPC code.

Now you have MCL up and running (Well, this really was a lot
of work.)

But for a better integration and speed, more has to be done.
The MCL compiler should generate code optimized for the
PowerPC and its architecture. So a lot of the compiler
has to be rewritten (I fear). One feature of the PowerPC
is its enormous speed for floating point operations. This
is where the current MCL compiler is especially weak. So
it would be nice, if the compiler could generate better
FP code.

And it could be that the PowerPC MacOS has a different internal
architecture (Just a guess/hope.) So supporting
the MacOS for PowerPC *could* be more work.


The interesting thing is, that Apple intends to support
Mac applications running on Sparc (!!), etc. They
have ported or will port the necessary software to these
architectures. So there is chance that we will see
Mac software running on Sparcs under Unix. The last thing
I read was, that these software will use the system services
the host provides. So if eventually we will see such a thing,
MCL running on a Sparc would be cool.

So it would be good if the MCL code generator could be
easily be adopted to some more architectures.


Yes, I know this is a lot of work. It's just a wish/dream.
 From what I see and hear the MCL team already is working
more than 24 hours a day. So I don't know if they will
have enough time...

Greetings from Hamburg,

Rainer Joswig
Email: joswig@informatik.uni-hamburg.de