Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/branches/blume-private-devel/src/cm/compile/compile.sml
ViewVC logotype

Diff of /sml/branches/blume-private-devel/src/cm/compile/compile.sml

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

revision 1634, Tue Sep 28 15:53:10 2004 UTC revision 1635, Tue Sep 28 17:12:31 2004 UTC
# Line 306  Line 306 
306                                    | SOME sy => CoreHack.rewrite (ast, sy)                                    | SOME sy => CoreHack.rewrite (ast, sy)
307                              val cmData = PidSet.listItems pids                              val cmData = PidSet.listItems pids
308                              val (pre, post) = SmlInfo.setup i                              val (pre, post) = SmlInfo.setup i
309                                val controllers = SmlInfo.controllers i
310                              val topLevel = EnvRef.loc ()                              val topLevel = EnvRef.loc ()
311                              val toplenv = #get topLevel ()                              val orig_settings =
312                                            before perform_setup "pre" pre                                  map (fn c => #save'restore c ()) controllers
313                                val orig_toplenv = #get topLevel ()
314                                fun reset _ =
315                                    (#set topLevel orig_toplenv;
316                                     app (fn r => r ()) orig_settings)
317                                fun work () = let
318                                    val _ = perform_setup "pre" pre
319                              (* clear error flag (could still be set from                              (* clear error flag (could still be set from
320                               * earlier run) *)                               * earlier run) *)
321                              val _ = #anyErrors source := false                              val _ = #anyErrors source := false
# Line 351  Line 358 
358                                  bfc2memo (bfc, SmlInfo.lastseen i, stat)                                  bfc2memo (bfc, SmlInfo.lastseen i, stat)
359                          in                          in
360                              perform_setup "post" post;                              perform_setup "post" post;
361                              #set topLevel toplenv;                                  reset ();
362                              storeBFC' (gp, i,                              storeBFC' (gp, i,
363                                         { contents = bfc, stats = save bfc });                                             { contents = bfc,
364                                                 stats = save bfc });
365                              SOME memo                              SOME memo
366                                end
367                            in
368                                SafeIO.perform { openIt = fn () => (),
369                                                 work = work,
370                                                 closeIt = fn () => (),
371                                                 cleanup = reset }
372                          end handle (EM.Error | CompileExn.Compile _)                          end handle (EM.Error | CompileExn.Compile _)
373                                     (* At this point we handle only                                     (* At this point we handle only
374                                      * explicit compiler bugs and ordinary                                      * explicit compiler bugs and ordinary

Legend:
Removed from v.1634  
changed lines
  Added in v.1635

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