x86 backend

Matthew Fluet fluet@research.nj.nec.com
Tue, 11 Jul 2000 15:40:36 -0400 (EDT)


> > GC_collect, Thread_copy, Thread_copyShring, Thread_finishHandler,
> > Thread_switchTo, World_save are also implemented as FFI calls, but with
> > the extra code to handle the possibility of a thread switch on return.
> 
> Fine for now, but Thread_switchTo will have to be a primitive for
> efficiency reasons.  I just put some stuff in machine.h to make
> Thread_switchTo 5X faster.

O.K.  Keep me posted on changes to machine.h and mlton-lib.h.  I've got
things set up right now so that almost all of the functionality of the
macros in those files are being turned into assembly sequences.  (The
exceptions are Main and MLton_halt.)

Oh, I also forgot to say that MLton_serialize and MLton_deserialize are
unimplemented, but they appear to be commented out in all the .h and .c
files.

> Hopefully there will be a new version of MLton released tomorrow, and
> you can start making changes on that one, so we will be as in sync as
> possible.

Cool.  I had no problems integrating with the 2000-07-03 version.  The
only changes outside /backend/x86-codegen that I've made were some minor
tweaks to machine-output.{sig,fun} and c-codegen.fun when I needed some
functionality in both codegenerators.  Also, for testing I've added a
Control.native bool ref and some changes to main.sml and compile.sml to
invoke the x86-codegen functions.