[MLton-user] Tracking down allocations

Joe Hurd joe at gilith.com
Sun Jul 15 10:28:06 PDT 2007


Hi Matthew,

Thanks very much for your clarifications. I had a look at the .ssa
file, and believe I have found the offending line:

    Enter M.f src/t.sml: 342
    Enter M.f.g.<branch> src/t.sml: 343
    tuple_32 = (x_3050, x_3047, x_3049)  <-- Evil allocation

The evil allocation line doesn't appear in the version where I
manually un-nested the inner function. [This is not the big function f
that I described in my initial mail, but a smaller function with the
same structure. However, this nested function g is not "big but
non-recursive", but rather small and mutually recursive.]

I'm using a version of MLton compiled for darwin/i386:

MLton MLTONVERSION (built Mon Oct 30 23:08:10 2006 on frogbat.local)

Do you think it looks like a compiler bug (or at least oddity)?

Joe



More information about the MLton-user mailing list