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/compiler/Semant/pickle/pickmod-new.sml
ViewVC logotype

Diff of /sml/trunk/src/compiler/Semant/pickle/pickmod-new.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 515, Sun Jan 9 09:59:14 2000 UTC revision 537, Fri Feb 18 17:20:16 2000 UTC
# Line 6  Line 6 
6  signature PICKMOD = sig  signature PICKMOD = sig
7    
8      datatype ckey =                     (* context key *)      datatype ckey =                     (* context key *)
9          PrimKey of string          PrimKey                         (* for primEnv *)
10        | NodeKey of int * Symbol.symbol        | NodeKey of int * Symbol.symbol  (* n-th sublib, module exporting sym *)
11    
12      type 'a context =      type 'a context =
13          { lookSTR: ModuleId.modId -> 'a,          { lookSTR: ModuleId.modId -> 'a,
# Line 626  Line 626 
626          list (pair (pid, flint)) (SymbolicEnv.listItemsi sye)          list (pair (pid, flint)) (SymbolicEnv.listItemsi sye)
627    
628      datatype ckey =                     (* context key *)      datatype ckey =                     (* context key *)
629          PrimKey of string          PrimKey
630        | NodeKey of int * Symbol.symbol        | NodeKey of int * Symbol.symbol
631    
632      type 'a context =      type 'a context =
# Line 640  Line 640 
640      datatype stubinfo =      datatype stubinfo =
641          NoStub          NoStub
642        | SimpleStub        | SimpleStub
643        | PrimStub of string        | PrimStub
644        | NodeStub of int * Symbol.symbol        | NodeStub of int * Symbol.symbol
645    
646      (* the environment pickler *)      (* the environment pickler *)
# Line 776  Line 776 
776                              SimpleStub => "A" $ [modId id]                              SimpleStub => "A" $ [modId id]
777                            | NoStub => "B" $ [stamp s, int arity, eqprop eq,                            | NoStub => "B" $ [stamp s, int arity, eqprop eq,
778                                               tyckind kind, ipath path]                                               tyckind kind, ipath path]
779                            | PrimStub s => "I" $ [string s, modId id]                            | PrimStub => "I" $ [modId id]
780                            | NodeStub (i, s) =>                            | NodeStub (i, s) =>
781                                  "J" $ [int i, symbol s, modId id]                                  "J" $ [int i, symbol s, modId id]
782                  in                  in
# Line 878  Line 878 
878                                         option (list (pair (entPath, tkind))) b,                                         option (list (pair (entPath, tkind))) b,
879                                         list (list spath) typsharing,                                         list (list spath) typsharing,
880                                         list (list spath) strsharing]                                         list (list spath) strsharing]
881                            | PrimStub s => "D" $ [string s, modId id]                            | PrimStub => "D" $ [modId id]
882                            | NodeStub (i, s) =>                            | NodeStub (i, s) =>
883                                  "E" $ [int i, symbol s, modId id]                                  "E" $ [int i, symbol s, modId id]
884                      end                      end
# Line 904  Line 904 
904                                         entVar paramvar,                                         entVar paramvar,
905                                         option symbol paramsym,                                         option symbol paramsym,
906                                         Signature bodysig]                                         Signature bodysig]
907                            | PrimStub s => "d" $ [string s, modId id]                            | PrimStub => "d" $ [modId id]
908                            | NodeStub (i, s) =>                            | NodeStub (i, s) =>
909                                  "e" $ [int i, symbol s, modId id]                                  "e" $ [int i, symbol s, modId id]
910                      end                      end
# Line 961  Line 961 
961                            | NoStub =>                            | NoStub =>
962                                  "D" $ [Signature sign, strEntity rlzn,                                  "D" $ [Signature sign, strEntity rlzn,
963                                         access a, inl_info info]                                         access a, inl_info info]
964                            | PrimStub s => "I" $ [string s, modId id]                            | PrimStub => "I" $ [modId id]
965                            | NodeStub (i, s) =>                            | NodeStub (i, s) =>
966                                   "J" $ [int i, symbol s, modId id, access a]                                   "J" $ [int i, symbol s, modId id, access a]
967                  in                  in
# Line 984  Line 984 
984                            | NoStub =>                            | NoStub =>
985                                  "G" $ [fctSig sign, fctEntity rlzn,                                  "G" $ [fctSig sign, fctEntity rlzn,
986                                         access a, inl_info info]                                         access a, inl_info info]
987                            | PrimStub s => "H" $ [string s, modId id]                            | PrimStub => "H" $ [modId id]
988                            | NodeStub (i, s) =>                            | NodeStub (i, s) =>
989                                  "I" $ [int i, symbol s, modId id, access a]                                  "I" $ [int i, symbol s, modId id, access a]
990                  in                  in
# Line 1062  Line 1062 
1062                      case lookEENV id of                      case lookEENV id of
1063                          SimpleStub => "D" $ [modId id]                          SimpleStub => "D" $ [modId id]
1064                        | NoStub => "E" $ [stamp s, entityEnv r]                        | NoStub => "E" $ [stamp s, entityEnv r]
1065                        | PrimStub s => "F" $ [string s,  modId id]                        | PrimStub => "F" $ [modId id]
1066                        | NodeStub (i, s) => "G" $ [int i, symbol s, modId id]                        | NodeStub (i, s) => "G" $ [int i, symbol s, modId id]
1067              in              in
1068                  share (MIs (id, NONE)) mee_raw (s, r)                  share (MIs (id, NONE)) mee_raw (s, r)
# Line 1164  Line 1164 
1164              context              context
1165          fun cvt lk i =          fun cvt lk i =
1166              case lk i of              case lk i of
1167                  SOME (PrimKey s) => PrimStub s                  SOME PrimKey => PrimStub
1168                | SOME (NodeKey (i, s)) => NodeStub (i, s)                | SOME (NodeKey (i, s)) => NodeStub (i, s)
1169                | NONE => NoStub                | NONE => NoStub
1170          val c = { lookSTR = cvt lookSTR,          val c = { lookSTR = cvt lookSTR,

Legend:
Removed from v.515  
changed lines
  Added in v.537

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