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 451, Sat Oct 23 15:05:55 1999 UTC revision 452, Mon Oct 25 08:33:25 1999 UTC
# Line 28  Line 28 
28      structure F = OS.FileSys      structure F = OS.FileSys
29      structure BF = MachDepVC.Binfile      structure BF = MachDepVC.Binfile
30    
31        val arch = MachDepVC.architecture
32        val osname = FilenamePolicy.kind2name os
33        val archos = concat [arch, "-", osname]
34    
35      structure Compile = CompileFn (structure MachDepVC = MachDepVC      structure Compile = CompileFn (structure MachDepVC = MachDepVC
36                                     val compile_there = Servers.compile)                                     val compile_there = Servers.compile)
37    
# Line 35  Line 39 
39    
40      (* instantiate Stabilize... *)      (* instantiate Stabilize... *)
41      structure Stabilize =      structure Stabilize =
42          StabilizeFn (fun destroy_state _ i =          StabilizeFn (fun destroy_state _ i = Compile.evict i
                          (Compile.evict i;  
                           Servers.evict i)  
43                       structure MachDepVC = MachDepVC                       structure MachDepVC = MachDepVC
44                       fun recomp gp g = let                       fun recomp gp g = let
45                           val { store, get } = BFC.new ()                           val { store, get } = BFC.new ()
# Line 96  Line 98 
98          val initgspec = BtNames.initgspec          val initgspec = BtNames.initgspec
99          val maingspec = BtNames.maingspec          val maingspec = BtNames.maingspec
100    
101          val arch = MachDepVC.architecture          val bindir = concat [dirbase, ".bin.", archos]
102          val osname = FilenamePolicy.kind2name os          val bootdir = concat [dirbase, ".boot.", archos]
         val bindir = concat [dirbase, ".bin.", arch, "-", osname]  
         val bootdir = concat [dirbase, ".boot.", arch, "-", osname]  
103    
104          fun listName (p, copy) =          fun listName (p, copy) =
105              case P.fromString p of              case P.fromString p of
# Line 237  Line 237 
237              val stab =              val stab =
238                  if deliver then SOME true else NONE                  if deliver then SOME true else NONE
239          in          in
240              Servers.cmb dirbase;              Servers.cmb { archos = archos, dirbase = dirbase };
241              case Parse.parse NONE param stab maingspec of              case Parse.parse NONE param stab maingspec of
242                  NONE => NONE                  NONE => NONE
243                | SOME (g, gp) => let                | SOME (g, gp) => let
# Line 312  Line 312 
312      fun compile deliver dbopt =      fun compile deliver dbopt =
313          case mk_compile deliver dbopt of          case mk_compile deliver dbopt of
314              NONE => false              NONE => false
315            | SOME (_, thunk) => thunk () before Servers.reset ()            | SOME (_, thunk) =>
316                    SafeIO.perform { openIt = fn () => (),
317                                     closeIt = Servers.reset,
318                                     work = thunk,
319                                     cleanup = fn () => () }
320    
321      local      local
322          fun slave dirbase =          fun slave dirbase =
# Line 322  Line 326 
326                      val trav = Compile.newSbnodeTraversal () gp                      val trav = Compile.newSbnodeTraversal () gp
327                      fun trav' sbn = isSome (trav sbn)                      fun trav' sbn = isSome (trav sbn)
328                  in                  in
329                      SOME (g, trav', Compile.evict)                      SOME (g, trav')
330                  end                  end
331      in      in
332          val _ = CMBSlaveHook.init slave          val _ = CMBSlaveHook.init archos slave
333      end      end
334    
335      fun reset () =      fun reset () =

Legend:
Removed from v.451  
changed lines
  Added in v.452

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