[MLton-commit] r4663

Matthew Fluet MLton@mlton.org
Sat, 24 Jun 2006 07:53:57 -0700


Merge trunk revisions 4634:4662 into x86_64 branch
----------------------------------------------------------------------

U   mlton/branches/on-20050822-x86_64-branch/doc/changelog
U   mlton/branches/on-20050822-x86_64-branch/mlton/atoms/prim.sig
U   mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-codegen.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ssa/deep-flatten.fun
U   mlton/branches/on-20050822-x86_64-branch/mlton/ssa/ref-flatten.fun

----------------------------------------------------------------------

Modified: mlton/branches/on-20050822-x86_64-branch/doc/changelog
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/doc/changelog	2006-06-24 14:46:43 UTC (rev 4662)
+++ mlton/branches/on-20050822-x86_64-branch/doc/changelog	2006-06-24 14:53:54 UTC (rev 4663)
@@ -1,5 +1,9 @@
 Here are the changes since version 20051202.
 	
+* 2006-06-24
+   - Fixed a bug in pass to flatten data structures.  Thanks to Joe Hurd
+     for the bug report.
+	
 * 2006-06-08
   - Fixed a bug in the native codegen's implementation of the C-calling
     convention.

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/atoms/prim.sig
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/atoms/prim.sig	2006-06-24 14:46:43 UTC (rev 4662)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/atoms/prim.sig	2006-06-24 14:53:54 UTC (rev 4663)
@@ -62,7 +62,7 @@
               *)
              | MLton_bug (* ssa to rssa *)
              | MLton_deserialize (* unused *)
-             | MLton_eq (* codegen *)
+             | MLton_eq (* ssa to rssa *)
              | MLton_equal (* polymorphic equality *)
              | MLton_halt (* ssa to rssa *)
              (* MLton_handlesSignals and MLton_installSignalHandler work together

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-codegen.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-codegen.fun	2006-06-24 14:46:43 UTC (rev 4662)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/codegen/x86-codegen/x86-codegen.fun	2006-06-24 14:53:54 UTC (rev 4663)
@@ -80,9 +80,8 @@
     = let
          val reserveEsp =
             (* There is no sigaltstack on cygwin, we need to reserve %esp to
-             * hold the C stack pointer.  We need to do this even in programs
-             * that don't handle signals, since signals get used under the hood
-             * in Cygwin.
+             * hold the C stack pointer.  We only need to do this in programs
+             * that handle signals.
              *)
             handlesSignals andalso let open Control in !targetOS = Cygwin end
 

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ssa/deep-flatten.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ssa/deep-flatten.fun	2006-06-24 14:46:43 UTC (rev 4662)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ssa/deep-flatten.fun	2006-06-24 14:53:54 UTC (rev 4663)
@@ -668,6 +668,7 @@
                 ; result ())
             fun equal () =
                (Value.unify (arg 0, arg 1)
+                ; Value.dontFlatten (arg 0)
                 ; result ())
          in
             case Prim.name prim of
@@ -909,13 +910,7 @@
                                            end
                                   end
                          end)
-             | PrimApp {args, prim} =>
-                  let
-                     val () = simpleTree ()
-                  in
-                     doit (PrimApp {args = replaceVars args,
-                                    prim = prim})
-                  end
+             | PrimApp {args, prim} => simple ()
              | Select {base, offset} =>
                   (case var of
                       NONE => none ()

Modified: mlton/branches/on-20050822-x86_64-branch/mlton/ssa/ref-flatten.fun
===================================================================
--- mlton/branches/on-20050822-x86_64-branch/mlton/ssa/ref-flatten.fun	2006-06-24 14:46:43 UTC (rev 4662)
+++ mlton/branches/on-20050822-x86_64-branch/mlton/ssa/ref-flatten.fun	2006-06-24 14:53:54 UTC (rev 4663)
@@ -511,7 +511,7 @@
        * r: (t ref) = (t)
        * ... <no uses of r> ...
        * x: (... * (t ref) * ...) = (..., r, ...)
-       * ... <othere assignments to r> ...
+       * ... <other assignments to r> ...
        *
        *)
       datatype z = datatype VarInfo.t