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/branches/SMLNJ/src/compiler/FLINT/opt/recover.sml
ViewVC logotype

Diff of /sml/branches/SMLNJ/src/compiler/FLINT/opt/recover.sml

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

revision 68, Fri Apr 3 00:06:42 1998 UTC revision 69, Fri Apr 3 00:06:55 1998 UTC
# Line 5  Line 5 
5    
6  signature RECOVER =  signature RECOVER =
7  sig  sig
8    val recover : FLINT.prog ->    val recover : (FLINT.prog * bool) ->
9                    {getLty: DebIndex.depth -> FLINT.value -> FLINT.lty,                    {getLty: DebIndex.depth -> FLINT.value -> FLINT.lty,
10                     cleanUp: unit -> unit}                     cleanUp: unit -> unit}
11  end (* signature SPECIALIZE *)  end (* signature SPECIALIZE *)
# Line 39  Line 39 
39    end    end
40    
41  exception RecoverLty  exception RecoverLty
42  fun recover fdec =  fun recover (fdec, postRep) =
43    let val zz : (lty * DI.depth) Intmap.intmap = Intmap.new(32, RecoverLty)    let val zz : (lty * DI.depth) Intmap.intmap = Intmap.new(32, RecoverLty)
44        val add = Intmap.add zz        val add = Intmap.add zz
45        val get = Intmap.map zz        val get = Intmap.map zz
# Line 105  Line 105 
105                    let val _ = lpe e1                    let val _ = lpe e1
106                     in lpe e2                     in lpe e2
107                    end                    end
108                  | lpe (PRIMOP((_,PrimOp.WCAST, lt, []), _, v, e)) =
109                      if postRep then
110                         (case LT.ltd_fct lt
111                           of ([_],[r]) => (addv(v, r); lpe e)
112                            | _ => bug "unexpected case for WCAST")
113                      else bug "unexpected primop WCAST in recover"
114                | lpe (PRIMOP((_,_,lt,ts), _, v, e)) =                | lpe (PRIMOP((_,_,lt,ts), _, v, e)) =
115                    (addv (v, reslty (lt, ts)); lpe e)                    (addv (v, reslty (lt, ts)); lpe e)
116    

Legend:
Removed from v.68  
changed lines
  Added in v.69

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