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/stable/stabilize.sml
ViewVC logotype

Diff of /sml/trunk/src/cm/stable/stabilize.sml

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

revision 878, Wed Jul 18 17:43:27 2001 UTC revision 879, Thu Jul 19 18:59:38 2001 UTC
# Line 8  Line 8 
8  local  local
9      structure DG = DependencyGraph      structure DG = DependencyGraph
10      structure GG = GroupGraph      structure GG = GroupGraph
11      structure EM = GenericVC.ErrorMsg      structure EM = ErrorMsg
12      structure PP = PrettyPrint      structure PP = PrettyPrint
13      structure SM = GenericVC.SourceMap      structure SM = SourceMap
14      structure GP = GeneralParams      structure GP = GeneralParams
15      structure E = GenericVC.Environment      structure E = Environment
16      structure Pid = GenericVC.PersStamps      structure Pid = PersStamps
17      structure P = PickMod      structure P = PickMod
18      structure UP = UnpickMod      structure UP = UnpickMod
19      structure E = GenericVC.Environment      structure E = Environment
20      structure MI = GenericVC.ModuleId      structure MI = ModuleId
21  in  in
22    
23  signature STABILIZE = sig  signature STABILIZE = sig
# Line 38  Line 38 
38                      GG.group option                      GG.group option
39  end  end
40    
41  functor StabilizeFn (structure MachDepVC : MACHDEP_VC  functor StabilizeFn (val arch : string
42                       structure StabModmap : STAB_MODMAP                       structure StabModmap : STAB_MODMAP
43                       val recomp : GP.info -> GG.group ->                       val recomp : GP.info -> GG.group ->
44                           (SmlInfo.info ->                           (SmlInfo.info ->
45                            { content: MachDepVC.Binfile.bfContent,                            { contents: Binfile.bfContents,
46                              stats: MachDepVC.Binfile.stats }) option                              stats: Binfile.stats }) option
47                       val getII : SmlInfo.info -> IInfo.info) :> STABILIZE =                       val getII : SmlInfo.info -> IInfo.info) :> STABILIZE =
48  struct  struct
49      type groupgetter =      type groupgetter =
50           GP.info * SrcPath.file * Version.t option * SrcPath.rebindings ->           GP.info * SrcPath.file * Version.t option * SrcPath.rebindings ->
51           GG.group option           GG.group option
52    
53      structure BF = MachDepVC.Binfile      structure BF = Binfile
54    
55      structure SSMap = MapFn      structure SSMap = MapFn
56          (struct          (struct
# Line 602  Line 602 
602                                      sublibs)                                      sublibs)
603    
604                  fun writeBFC s (i, { code, data, env, inlinfo }) = let                  fun writeBFC s (i, { code, data, env, inlinfo }) = let
605                      val { content, stats } = getBFC i                      val { contents, stats } = getBFC i
606                      val { code = c, data = d, env = e, inlinfo = ii } = stats                      val { code = c, data = d, env = e, inlinfo = ii } = stats
607                  in                  in
608                      ignore (BF.write { stream = s, content = content,                      ignore (BF.write { arch = arch, nopickle = true,
609                                         nopickle = true });                                         stream = s, contents = contents });
610                      { code = code + c, data = data + d,                      { code = code + c, data = data + d,
611                        env = env + e, inlinfo = inlinfo + ii }                        env = env + e, inlinfo = inlinfo + ii }
612                  end                  end
613    
614                  fun sizeBFC i =                  fun sizeBFC i =
615                      BF.size { content = #content (getBFC i), nopickle = true }                      BF.size { contents = #contents (getBFC i),
616                  fun pidBFC i = BF.staticPidOf (#content (getBFC i))                                nopickle = true }
617                    fun pidBFC i = BF.staticPidOf (#contents (getBFC i))
618    
619                  val _ =                  val _ =
620                      Say.vsay ["[stabilizing ", SrcPath.descr grouppath, "]\n"]                      Say.vsay ["[stabilizing ", SrcPath.descr grouppath, "]\n"]

Legend:
Removed from v.878  
changed lines
  Added in v.879

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