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 385, Thu Jul 22 05:23:25 1999 UTC revision 387, Mon Jul 26 02:44:20 1999 UTC
# Line 44  Line 44 
44      val % = PU.%      val % = PU.%
45    
46      (* type info *)      (* type info *)
47      val (BN, SN, SBN, SS, SI, FSBN, IMPEXP) = (1, 2, 3, 4, 5, 6, 7)      val (BN, SN, SBN, SS, SI, FSBN, IMPEXP, SHM) = (1, 2, 3, 4, 5, 6, 7, 8)
48    
49      structure SSMap = BinaryMapFn      structure SSMap = BinaryMapFn
50          (struct          (struct
# Line 183  Line 183 
183    
184              val filter = option symbolset              val filter = option symbolset
185    
186              val sh = option bool        (* sharing *)              fun shm (Sharing.SHARE true) = %SHM "a"
187                  | shm (Sharing.SHARE false) = %SHM "b"
188                  | shm Sharing.DONTSHARE = %SHM "c"
189    
190              fun si i = let              fun si i = let
191                  (* FIXME: this is not a technical flaw, but perhaps one                  (* FIXME: this is not a technical flaw, but perhaps one
# Line 195  Line 197 
197                  val spec = SrcPath.specOf (SmlInfo.sourcepath i)                  val spec = SrcPath.specOf (SmlInfo.sourcepath i)
198                  val locs = SmlInfo.errorLocation gp i                  val locs = SmlInfo.errorLocation gp i
199                  val offset = registerOffset (i, bsz i)                  val offset = registerOffset (i, bsz i)
200                  val share = SmlInfo.share i                  val sh_mode = SmlInfo.sh_mode i
201                  val op $ = PU.$ SI                  val op $ = PU.$ SI
202              in              in
203                  "s" $ string spec & string locs & int offset & sh share                  "s" $ string spec & string locs & int offset & shm sh_mode
204              end              end
205    
206              fun primitive p =              fun primitive p =
# Line 298  Line 300 
300                              val spec = SrcPath.specOf sourcepath                              val spec = SrcPath.specOf sourcepath
301                              val offset =                              val offset =
302                                  getOffset smlinfo + offset_adjustment                                  getOffset smlinfo + offset_adjustment
303                              val share = SmlInfo.share smlinfo                              val sh_mode = SmlInfo.sh_mode smlinfo
304                              val locs = SmlInfo.errorLocation gp smlinfo                              val locs = SmlInfo.errorLocation gp smlinfo
305                              val error = EM.errorNoSource grpSrcInfo locs                              val error = EM.errorNoSource grpSrcInfo locs
306                              val i = BinInfo.new { group = grouppath,                              val i = BinInfo.new { group = grouppath,
307                                                    mkStablename = mksname,                                                    mkStablename = mksname,
308                                                    spec = spec,                                                    spec = spec,
309                                                    offset = offset,                                                    offset = offset,
310                                                    share = share,                                                    sh_mode = sh_mode,
311                                                    error = error }                                                    error = error }
312                              val n = DG.BNODE { bininfo = i,                              val n = DG.BNODE { bininfo = i,
313                                                 localimports = li,                                                 localimports = li,
# Line 451  Line 453 
453              fun option m r = UU.r_option session m r              fun option m r = UU.r_option session m r
454              val int = UU.r_int session              val int = UU.r_int session
455              fun share m r = UU.share session m r              fun share m r = UU.share session m r
456                fun nonshare r = UU.nonshare session r
457              val string = UU.r_string session              val string = UU.r_string session
458              val symbol = UU.r_symbol session              val symbol = UU.r_symbol session
459              val bool = UU.r_bool session              val bool = UU.r_bool session
# Line 497  Line 500 
500                            (String.sub (string (), 0)))                            (String.sub (string (), 0)))
501                  handle _ => raise Format                  handle _ => raise Format
502    
503              val sh = option boolOptionM bool              fun shm () = let
504                    fun s #"a" = Sharing.SHARE true
505                      | s #"b" = Sharing.SHARE false
506                      | s #"c" = Sharing.DONTSHARE
507                      | s _ = raise Format
508                in
509                    nonshare s
510                end
511    
512              fun si () = let              fun si () = let
513                  fun s #"s" =                  fun s #"s" =
514                      let val spec = string ()                      let val spec = string ()
515                          val locs = string ()                          val locs = string ()
516                          val offset = int () + offset_adjustment                          val offset = int () + offset_adjustment
517                          val share = sh ()                          val sh_mode = shm ()
518                          val error = EM.errorNoSource grpSrcInfo locs                          val error = EM.errorNoSource grpSrcInfo locs
519                      in                      in
520                          BinInfo.new { group = group,                          BinInfo.new { group = group,
# Line 512  Line 522 
522                                        error = error,                                        error = error,
523                                        spec = spec,                                        spec = spec,
524                                        offset = offset,                                        offset = offset,
525                                        share = share }                                        sh_mode = sh_mode }
526                      end                      end
527                    | s _ = raise Format                    | s _ = raise Format
528              in              in

Legend:
Removed from v.385  
changed lines
  Added in v.387

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