x86 update

Matthew Fluet fluet@CS.Cornell.EDU
Mon, 8 Jan 2001 17:41:56 -0500 (EST)


> Here's an update on what I've learned.  I built a G1 mlton using a G0 mlton with 
> the old codegen.  That worked fine.  That G1 was also able to compile all the
> auxiliary stuff (lex, yacc, etc) and was able to build itself.  I then used that 
> G1 to compile a G2 version of mlton with the new codegen.  It built fine, but
> the G2 was then unable to compile mlyacc.  Here is the log with the failure.
> So, it appears there is something wrong with the new codegen.  I'll next try
> running it with native-live-transfer false to see if that's the problem.

Trying native-live-transfer is probably the best place to start.


> time mlton -vv mlyacc.cm
...
>    closure convert starting
...
> /tmp/filelK6m2t.2.S 70121: GC
> Starting gc.
> fromSpace 224,886,784  toSpace 224,886,784
> Out of memory.
> make[1]: Leaving directory `/home/sweeks/mlton/src/mlyacc'
> Command exited with non-zero status 1
> 18.67user 2.23system 0:20.95elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
> 0inputs+0outputs (2017major+286771minor)pagefaults 0swaps
> make[1]: *** [mlyacc] Error 1
> make: *** [mlyacc/mlyacc] Error 2

This is even more bothersome; all of the codegens (C, old x86, new x86)
should have exactly the same heap and stack allocation patterns.