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 361, Wed Jun 30 06:44:04 1999 UTC revision 362, Thu Jul 1 09:39:48 1999 UTC
# Line 33  Line 33 
33    
34  functor StabilizeFn (val bn2statenv : statenvgetter  functor StabilizeFn (val bn2statenv : statenvgetter
35                       val getPid : SmlInfo.info -> pid option                       val getPid : SmlInfo.info -> pid option
                      val warmup : BinInfo.info * pid option -> unit  
36                       val recomp : recomp) :> STABILIZE = struct                       val recomp : recomp) :> STABILIZE = struct
37    
38      datatype pitem =      datatype pitem =
# Line 279  Line 278 
278                      "b" :: w_int n (w_symbol sy k) m                      "b" :: w_int n (w_symbol sy k) m
279                  end                  end
280    
             fun w_pid p = w_string (Byte.bytesToString (Pid.toBytes p))  
   
281              fun w_sn_raw (DG.SNODE n) k =              fun w_sn_raw (DG.SNODE n) k =
282                  w_option w_pid (getPid (#smlinfo n))                  w_si (#smlinfo n)
                          (w_si (#smlinfo n)  
283                                 (w_list w_sn (#localimports n)                                 (w_list w_sn (#localimports n)
284                                         (w_list w_fsbn (#globalimports n) k)))                                    (w_list w_fsbn (#globalimports n) k))
285    
286              and w_sn n = w_share w_sn_raw PSN n              and w_sn n = w_share w_sn_raw PSN n
287    
# Line 640  Line 636 
636                      end                      end
637                    | _ => raise Format                    | _ => raise Format
638    
             fun r_pid () = Pid.fromBytes (Byte.stringToBytes (r_string ()))  
   
639              (* this is the place where what used to be an              (* this is the place where what used to be an
640               * SNODE changes to a BNODE! *)               * SNODE changes to a BNODE! *)
641              fun r_sn_raw () = let              fun r_sn_raw () = let
                 val popt = r_option r_pid ()  
642                  val i = r_si ()                  val i = r_si ()
643              in              in
                 warmup (i, popt);  
644                  DG.BNODE { bininfo = i,                  DG.BNODE { bininfo = i,
645                             localimports = r_list r_sn (),                             localimports = r_list r_sn (),
646                             globalimports = r_list r_fsbn () }                             globalimports = r_list r_fsbn () }

Legend:
Removed from v.361  
changed lines
  Added in v.362

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