Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/pure-cfg/src/compiler/IL/ssa-pp-fn.sml
ViewVC logotype

Diff of /branches/pure-cfg/src/compiler/IL/ssa-pp-fn.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1016, Fri Apr 29 21:59:23 2011 UTC revision 1017, Sun May 1 03:06:05 2011 UTC
# Line 165  Line 165 
165              ppIters (incIndent out, iters)              ppIters (incIndent out, iters)
166            end            end
167    
168      fun ppMethod (out, IL.Method{name, stateIn, stateOut, body}) = let      fun ppMethod (out, IL.Method{name, stateIn, body}) = let
169            val out1 = incIndent out            val out1 = incIndent out
170            fun prVars xs = List.app (fn x => prl(out, [" ", typedVar x, ";"])) xs            fun prVars xs = List.app (fn x => prl(out, [" ", typedVar x, ";"])) xs
171            in            in
172              indent out; prl(out, ["method ", Atom.toString name, "\n"]);              indent out; prl(out, ["method ", Atom.toString name, "\n"]);
173              indent out1; pr(out1, "state in: "); prVars stateIn; pr(out1, "\n");              indent out1; pr(out1, "state in: "); prVars stateIn; pr(out1, "\n");
174              ppCFG (incIndent out1, body);              ppCFG (incIndent out1, body);
175              indent out1; pr(out1, "state out:"); prVars stateOut; pr(out1, "\n");              indent out1; pr(out1, "state out:"); prVars(IL.CFG.liveAtExit body); pr(out1, "\n");
176              indent out; prl(out, ["end ", Atom.toString name, "\n"])              indent out; prl(out, ["end ", Atom.toString name, "\n"])
177            end            end
178    
# Line 194  Line 194 
194              indent out; prl(out, ["end ", Atom.toString name, "\n"])              indent out; prl(out, ["end ", Atom.toString name, "\n"])
195            end            end
196    
197      fun output (outS, msg, IL.Program{globals, globalInit, initially, strands}) = let      fun output (outS, msg, IL.Program{globalInit, initially, strands}) = let
198            val out = (outS, 0)            val out = (outS, 0)
199            val out1 = incIndent out            val out1 = incIndent out
200            in            in
# Line 202  Line 202 
202              pr (out, "## globals\n");              pr (out, "## globals\n");
203              List.app              List.app
204                (fn x => (indent out1; prl(out1, ["global ", typedVar x, "\n"])))                (fn x => (indent out1; prl(out1, ["global ", typedVar x, "\n"])))
205                  globals;                  (IL.CFG.liveAtExit globalInit);
206              pr (out, "## global initialization\n");              pr (out, "## global initialization\n");
207              ppCFG (out1, globalInit);              ppCFG (out1, globalInit);
208              pr (out, "## initially\n");              pr (out, "## initially\n");

Legend:
Removed from v.1016  
changed lines
  Added in v.1017

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0