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/trunk/src/cm/bootstrap/btcompile.sml
ViewVC logotype

Diff of /sml/trunk/src/cm/bootstrap/btcompile.sml

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

revision 371, Mon Jul 5 14:34:41 1999 UTC revision 372, Tue Jul 6 09:05:57 1999 UTC
# Line 45  Line 45 
45    
46      (* instantiate Stabilize... *)      (* instantiate Stabilize... *)
47      structure Stabilize =      structure Stabilize =
48          StabilizeFn (fun bn2statenv gp i = #1 (#stat (valOf (RT.bnode gp i)))          StabilizeFn (fun bn2statenv gp i = #1 (#stat (valOf (RT.bnode' gp i)))
49                       fun warmup (i, p) = ()                       fun warmup (i, p) = ()
50                       val recomp = recomp                       val recomp = recomp
51                       val transfer_state = RecompPersstate.transfer_state)                       val transfer_state = RecompPersstate.transfer_state)
52      (* ... and Parse *)      (* ... and Parse *)
53      structure Parse = ParseFn (structure Stabilize = Stabilize      structure Parse = ParseFn (structure Stabilize = Stabilize
54                                 val pending = AutoLoad.getPending)                                 fun pending () = SymbolMap.empty)
55    
56      (* copying an input file to an output file safely... *)      (* copying an input file to an output file safely... *)
57      fun copyFile (oi, ci, oo, co, inp, outp, eof) (inf, outf) = let      fun copyFile (oi, ci, oo, co, inp, outp, eof) (inf, outf) = let
# Line 177  Line 177 
177              val ovldR = GenericVC.Control.overloadKW              val ovldR = GenericVC.Control.overloadKW
178              val savedOvld = !ovldR              val savedOvld = !ovldR
179              val _ = ovldR := true              val _ = ovldR := true
180                val ts = RT.start ()
181    
182              (* here we build a new gp -- the one that uses the freshly              (* here we build a new gp -- the one that uses the freshly
183               * brewed pervasive env, core env, and primitives *)               * brewed pervasive env, core env, and primitives *)
184              val core = valOf (RT.sbnode ginfo_nocore core)              val core = valOf (RT.sbnode ts ginfo_nocore core)
185              val corenv =  CoerceEnv.es2bs (#1 (#stat core))              val corenv =  CoerceEnv.es2bs (#1 (#stat core))
186              val core_sym = #1 (#sym core)              val core_sym = #1 (#sym core)
187    
# Line 192  Line 193 
193              val ginfo_justcore = { param = param_justcore, groupreg = groupreg,              val ginfo_justcore = { param = param_justcore, groupreg = groupreg,
194                                     errcons = errcons }                                     errcons = errcons }
195    
196              fun rt n = valOf (RT.sbnode ginfo_justcore n)              fun rt n = valOf (RT.sbnode ts ginfo_justcore n)
197              val rts = rt rts              val rts = rt rts
198              val pervasive = rt pervasive              val pervasive = rt pervasive
199    
# Line 209  Line 210 
210    
211              val _ = ovldR := savedOvld              val _ = ovldR := savedOvld
212    
213              (* This is a hack but must be done for both the symbolic              (* To be consistent, we would have to call RT.finish here.
214                 * However, this isn't really necessary because no dynamic
215                 * values exist and we drop "ts" at this point anyway. *)
216                (* val _ = RT.finish ts *)
217    
218                (* The following is a hack but must be done for both the symbolic
219               * and later the dynamic part of the core environment:               * and later the dynamic part of the core environment:
220               * we must include these parts in the pervasive env. *)               * we must include these parts in the pervasive env. *)
221              val perv_sym = E.layerSymbolic (#1 (#sym pervasive), core_sym)              val perv_sym = E.layerSymbolic (#1 (#sym pervasive), core_sym)
# Line 289  Line 295 
295      fun deliver () = deliver' NONE      fun deliver () = deliver' NONE
296      fun reset () =      fun reset () =
297          (RecompPersstate.reset ();          (RecompPersstate.reset ();
298           RT.resetAll ();           RT.reset ();
299           Recomp.reset ();           Recomp.reset ();
300           Parse.reset ())           Parse.reset ())
301  end  end

Legend:
Removed from v.371  
changed lines
  Added in v.372

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