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 391, Fri Jul 30 07:23:56 1999 UTC revision 393, Fri Aug 6 08:41:25 1999 UTC
# Line 35  Line 35 
35                       val transfer_state : SmlInfo.info * BinInfo.info -> unit                       val transfer_state : SmlInfo.info * BinInfo.info -> unit
36                       val recomp : recomp) :> STABILIZE = struct                       val recomp : recomp) :> STABILIZE = struct
37    
     structure PU = PickleUtil  
     structure UU = UnpickleUtil  
   
     infix 3 $  
     infixr 4 &  
     val op & = PU.&  
     val % = PU.%  
   
     (* type info *)  
     val (BN, SN, SBN, SS, SI, FSBN, IMPEXP, SHM) = (1, 2, 3, 4, 5, 6, 7, 8)  
   
38      structure SSMap = BinaryMapFn      structure SSMap = BinaryMapFn
39          (struct          (struct
40               type ord_key = SymbolSet.set               type ord_key = SymbolSet.set
# Line 62  Line 51 
51      type 'a maps = { ss: 'a SSMap.map, sn: 'a SNMap.map }      type 'a maps = { ss: 'a SSMap.map, sn: 'a SNMap.map }
52    
53      val initMap = { ss = SSMap.empty, sn = SNMap.empty }      val initMap = { ss = SSMap.empty, sn = SNMap.empty }
54    
55        structure PU = PickleUtilFn (type 'a map = 'a maps val emptyMap = initMap)
56        structure PSym = PickleSymbolFn (structure PU = PU)
57        structure UU = UnpickleUtil
58    
59        infix 3 $
60        infixr 4 &
61        val op & = PU.&
62        val % = PU.%
63    
64        (* type info *)
65        val (BN, SN, SBN, SS, SI, FSBN, IMPEXP, SHM) = (1, 2, 3, 4, 5, 6, 7, 8)
66    
67      val SSs = { find = fn (m: 'a maps, k) => SSMap.find (#ss m, k),      val SSs = { find = fn (m: 'a maps, k) => SSMap.find (#ss m, k),
68                  insert = fn ({ ss, sn }, k, v) =>                  insert = fn ({ ss, sn }, k, v) =>
69                               { sn = sn, ss = SSMap.insert (ss, k, v) } }                               { sn = sn, ss = SSMap.insert (ss, k, v) } }
# Line 166  Line 168 
168              end              end
169    
170              val int = PU.w_int              val int = PU.w_int
171              val symbol = PU.w_symbol              val symbol = PSym.w_symbol
172              val share = PU.ah_share              val share = PU.ah_share
173              val option = PU.w_option              val option = PU.w_option
174              val list = PU.w_list              val list = PU.w_list
# Line 282  Line 284 
284                  list sg sublibs & w_exports exports & privileges required                  list sg sublibs & w_exports exports & privileges required
285              end              end
286    
287              val pickle = PU.pickle initMap (group ())              val pickle = PU.pickle (group ())
288              val sz = size pickle              val sz = size pickle
289              val offset_adjustment = sz + 4              val offset_adjustment = sz + 4
290    
# Line 455  Line 457 
457              fun share m r = UU.share session m r              fun share m r = UU.share session m r
458              fun nonshare r = UU.nonshare session r              fun nonshare r = UU.nonshare session r
459              val string = UU.r_string session              val string = UU.r_string session
460              val symbol = UU.r_symbol session              val symbol = UnpickleSymbol.r_symbol (session, string)
461              val bool = UU.r_bool session              val bool = UU.r_bool session
462    
463              val stringListM = UU.mkMap ()              val stringListM = UU.mkMap ()

Legend:
Removed from v.391  
changed lines
  Added in v.393

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