diff src/especialize.sml @ 469:b393c2fc80f8

About to begin optimization of recursive transaction functions
author Adam Chlipala <adamc@hcoop.net>
date Thu, 06 Nov 2008 17:09:53 -0500
parents 787d4931fb07
children ffa18975e661
line wrap: on
line diff
--- a/src/especialize.sml	Thu Nov 06 15:52:13 2008 -0500
+++ b/src/especialize.sml	Thu Nov 06 17:09:53 2008 -0500
@@ -110,7 +110,7 @@
           | SOME (_, [], _) => (e, st)
           | SOME (f, xs, xs') =>
             case IM.find (#funcs st, f) of
-                NONE => ((*print "SHOT DOWN!\n";*) (e, st))
+                NONE => ((*print ("SHOT DOWN! " ^ Int.toString f ^ "\n");*) (e, st))
               | SOME {name, args, body, typ, tag} =>
                 case KM.find (args, xs) of
                     SOME f' => ((*Print.prefaces "Pre-existing" [("e", CorePrint.p_exp CoreEnv.empty (e, ErrorMsg.dummySpan))];*)
@@ -203,6 +203,10 @@
                                               body = e,
                                               typ = c,
                                               tag = tag})
+                      | DVal (_, n, _, (ENamed n', _), _) =>
+                        (case IM.find (funcs, n') of
+                             NONE => funcs
+                           | SOME v => IM.insert (funcs, n, v))
                       | _ => funcs
 
                 val (changed, ds) =