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/FLINT/opt/split.sml
ViewVC logotype

Diff of /sml/trunk/src/compiler/FLINT/opt/split.sml

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

revision 1121, Wed Mar 6 19:58:56 2002 UTC revision 1122, Thu Mar 7 19:13:17 2002 UTC
# Line 223  Line 223 
223          val nenv = S.add(env, tf)          val nenv = S.add(env, tf)
224          val (leE,leI,fvI,leRet) = sexp nenv le          val (leE,leI,fvI,leRet) = sexp nenv le
225      in case (bodyI, S.listItems(S.difference(fvbI, env)))      in case (bodyI, S.listItems(S.difference(fvbI, env)))
226          of ((F.RET _ | F.RECORD(_,_,_,F.RET _)),_) =>          of (_,[]) =>
            (* split failed *)  
            (fn e => F.TFN((tfk, tf, args, bodyE bodyRet), leE e),  
             leI, fvI, leRet)  
          | (_,[]) =>  
227             (* everything was split out *)             (* everything was split out *)
228             let val ntfdec = ({inline=F.IH_ALWAYS}, tf, args, bodyE bodyRet)             let val ntfdec = ({inline=F.IH_ALWAYS}, tf, args, bodyE bodyRet)
229                 val nlE = fn e => F.TFN(ntfdec, leE e)                 val nlE = fn e => F.TFN(ntfdec, leE e)
# Line 235  Line 231 
231                else (nlE, F.TFN(ntfdec, leI),                else (nlE, F.TFN(ntfdec, leI),
232                      S_rmv(tf, S.union(fvI, fvbI)), leRet)                      S_rmv(tf, S.union(fvI, fvbI)), leRet)
233             end             end
234             | ((F.RET _ | F.RECORD(_,_,_,F.RET _)),_) =>
235               (* split failed *)
236               (fn e => F.TFN((tfk, tf, args, bodyE bodyRet), leE e),
237                leI, fvI, leRet)
238           | (_,fvbIs) =>           | (_,fvbIs) =>
239             let (* tfdecE *)             let (* tfdecE *)
240                 val tfE = cplv tf                 val tfE = cplv tf

Legend:
Removed from v.1121  
changed lines
  Added in v.1122

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