SSA
Stephen Weeks
MLton@sourcelight.com
Mon, 22 Oct 2001 11:42:11 -0700
> Yes. I'm taking it that we still pushing to eliminate the
> counter-intuitive control flow at non-tail calls that is currently
> in SSA.
Yes.
> How "bad" do you think taking the explicit union of two frames would
> be?
I'd rather push it into live.fun, since that doesn't seem hard to me.
> The more complicated fix would be to do what I said earlier, which is to
> indicate to live.fun that there is a "to be created" block for each
> cont/handler pair and let it put in the appropriate control flow edges
> relative to this virtual block.
I don't see why we need to indicate anything to live -- it has the
function and can see all the necessary cont-handler pairs. How about:
change the frame field of the result of labelLive (in live.sig) to
frame: (Label.t option * Var.t list) list,
> I put up mandelbrot.cvs and mandelbrot.newer at
> http://www.cs.cornell.edu/People/fluet/MLton
> If anyone wants to try them on their machine, just to see if the huge
> difference still shows up, I'd appreciate it. Particularly, I'd like to
> see if its particular to PentiumIII's.
Here's the timings on a few machines around here.
newer cvs
30.8 21.1 400 MhZ Pentium II (Deschutes)
24.6 17.1 500 MhZ Pentium III (Katmai)
16.7 11.6 733 MhZ Pentium III (Coppermine)