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 770, Sun Dec 24 20:06:28 2000 UTC revision 771, Sat Dec 30 13:06:09 2000 UTC
# Line 41  Line 41 
41  functor StabilizeFn (structure MachDepVC : MACHDEP_VC  functor StabilizeFn (structure MachDepVC : MACHDEP_VC
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 -> MachDepVC.Binfile.bfContent) option                           (SmlInfo.info ->
45                              { content: MachDepVC.Binfile.bfContent,
46                                stats: MachDepVC.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 =
# Line 550  Line 552 
552                                      (SymbolMap.listItems exports),                                      (SymbolMap.listItems exports),
553                                      sublibs)                                      sublibs)
554    
555                  fun writeBFC s i = ignore (BF.write { stream = s,                  fun writeBFC s (i, { code, data, env, inlinfo }) = let
556                                                        content = getBFC i,                      val { content, stats } = getBFC i
557                                                        nopickle = true })                      val { code = c, data = d, env = e, inlinfo = ii } = stats
558                  fun sizeBFC i = BF.size { content = getBFC i, nopickle = true }                  in
559                  fun pidBFC i = BF.staticPidOf (getBFC i)                      ignore (BF.write { stream = s, content = content,
560                                           nopickle = true });
561                        { code = code + c, data = data + d,
562                          env = env + e, inlinfo = inlinfo + ii }
563                    end
564    
565                    fun sizeBFC i =
566                        BF.size { content = #content (getBFC i), nopickle = true }
567                    fun pidBFC i = BF.staticPidOf (#content (getBFC i))
568    
569                  val _ =                  val _ =
570                      Say.vsay ["[stabilizing ", SrcPath.descr grouppath, "]\n"]                      Say.vsay ["[stabilizing ", SrcPath.descr grouppath, "]\n"]
# Line 914  Line 924 
924                      (BinIO.output (outs, libstamp_bytes);                      (BinIO.output (outs, libstamp_bytes);
925                       writeInt32 (outs, dg_sz);                       writeInt32 (outs, dg_sz);
926                       BinIO.output (outs, dg_pickle);                       BinIO.output (outs, dg_pickle);
927                       app (writeBFC outs) memberlist)                       let val { code, data, env, inlinfo } =
928                                 foldl (writeBFC outs)
929                                       { code = 0, data = 0, env = 0, inlinfo = 0 }
930                                       memberlist
931                         in
932                             Say.vsay ["[code: ", Int.toString code,
933                                       ", data: ", Int.toString data,
934                                       ", inlinable: ", Int.toString inlinfo,
935                                       ", env: ", Int.toString dg_sz,
936                                       " bytes]\n"]
937                         end)
938              in              in
939                  (SafeIO.perform { openIt = AutoDir.openBinOut o mksname,                  (SafeIO.perform { openIt = AutoDir.openBinOut o mksname,
940                                    closeIt = BinIO.closeOut,                                    closeIt = BinIO.closeOut,

Legend:
Removed from v.770  
changed lines
  Added in v.771

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