Comments to help explain debugging output.
authorJoao Dias <dias@cs.tufts.edu>
Thu, 22 Apr 2010 21:02:47 +0000 (17:02 -0400)
committerJoao Dias <dias@cs.tufts.edu>
Thu, 22 Apr 2010 21:02:47 +0000 (17:02 -0400)
src/Compiler/Hoopl/Debug.hs

index b52221f..b721f6b 100644 (file)
@@ -20,6 +20,23 @@ import Compiler.Hoopl.Dataflow
 --   2. pass 'trace' as the 1st argument to the debug combinator
 --
 --   3. pass 'const true' as the 2nd argument to the debug combinator
+--
+-- There are two kinds of debugging messages for a join,
+-- depending on whether the join is higher in the lattice than the old fact:
+--   1. If the join is higher, we show:
+--         + Join@L: f1 `join` f2 = f'
+--      where:
+--        + indicates a change
+--        L is the label where the join takes place
+--        f1 is the old fact at the label
+--        f2 is the new fact we are joining to f1
+--        f' is the result of the join
+--   2. _ Join@L: f2 <= f1
+--      where:
+--        _ indicates no change
+--        L is the label where the join takes place
+--        f1 is the old fact at the label (which remains unchanged)
+--        f2 is the new fact we joined with f1
 --------------------------------------------------------------------------------