SCM Repository
View of /sml/trunk/src/cm/bootstrap/mkbootlist.sml
Parent Directory
|
Revision Log
Revision 651 -
(download)
(annotate)
Thu Jun 1 18:34:03 2000 UTC (20 years, 7 months ago) by monnier
File size: 1094 byte(s)
Thu Jun 1 18:34:03 2000 UTC (20 years, 7 months ago) by monnier
File size: 1094 byte(s)
bring revisions from the vendor branch to the trunk
(* * Building the bootlist from a dependency graph... * * (C) 1999 Lucent Technologies, Bell Laboratories * * Author: Matthias Blume (blume@kurims.kyoto-u.ac.jp) *) local structure PS = GenericVC.PersStamps type pid = PS.persstamp in structure MkBootList = struct fun group listName g = let val Nil = { l = [], ss = StableSet.empty } fun Cons ({ x, s = NONE }, { l, ss }) = { l = x :: l, ss = ss } | Cons ({ x, s = SOME i }, { l , ss }) = { l = x :: l, ss = StableSet.add (ss, i) } fun bininfo i = case BinInfo.rts_pid i of SOME p => { x = "#" ^ PS.toHex p, s = NONE } | NONE => let val x = concat [listName (BinInfo.stablename i), "@", Int.toString (BinInfo.offset i), ":", BinInfo.describe i] val s = case BinInfo.sh_mode i of Sharing.DONTSHARE => NONE | _ => SOME i in { x = x, s = s } end fun smlinfo i = { x = listName (SmlInfo.binname i), s = NONE } val arg = { bininfo = bininfo, smlinfo = smlinfo, Cons = Cons, Nil = Nil } in MkList.group arg g end end end
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |