new codegen

Stephen Weeks MLton@sourcelight.com
Tue, 14 Aug 2001 10:51:12 -0700


> No, I hadn't checked it in last night.  (You left the ssa directory in a
> bad state; commited the sources.cm without the supporting files.)

Sorry about that.  It was an accidental checkin.  I meant to type just a couple
of files to checkin, but accidentally hit return, and hence everything got
checked in.

> compiler: mlton-20010806
>       pre codegen finished in 106.56 + 119.54 (53% GC)
>      x86 code gen finished in 258.03 + 45.16 (15% GC)
>    Compile SML finished in 364.59 + 164.70 (31% GC)
>    Assemble finished in 24.71 + 0.0 (0.0% GC)
> MLton finished in 399.12 + 164.70 (29% GC)
> 6686528  886172   31780 7604480  740900 mlton-compile

> compiler: result of above compile
>           (i.e., a compiler that compiles using the new codegen,
>            but whose binary was generated by the old codegen)
>       pre codegen finished in 103.35 + 130.45 (56% GC)
>       x86 code gen finished in 199.03 + 142.37 (42% GC)
>    Compile SML finished in 302.38 + 272.82 (47% GC)
>    Assemble finished in 23.62 + 0.0 (0.0% GC)
> MLton finished in 336.74 + 272.87 (45% GC)
> 5761696  880812   31812 6674320  65d790 mlton-compile

> compiler: result of above compile
>           (i.e., a compiler that compiles using the new codegen,
>            and whose binary was generated by the new codegen)
>       pre codegen finished in 103.07 + 130.58 (56% GC)
>       x86 code gen finished in 199.45 + 142.43 (42% GC)
>    Compile SML finished in 302.53 + 273.01 (47% GC)
>    Assemble finished in 23.61 + 0.0 (0.0% GC)
> MLton finished in 336.86 + 273.08 (45% GC)
> 5756784  879876   31780 6668440  65c098 mlton-compile

> [Note: the size differences between the last two compiles are due to my
> commenting out of some diagnostic code that I hadn't realized were still
> on.  So, I think that probably accounts for the very minor speed up
> between the two compiles.  So, the conclusion is that the new codegen
> (without tracking stack slots) is about the same as the old codegen --
> which is what I generally expected.]

Makes sense.  

I am very pleased with the 1M savings in code size.  I am surprised that that
only saved one second off of assemble time.  Anyways, the compile times look
fine, especially once you find the GC problem (although I guess it could just be
larger IL size?).