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.