CVS: sml-dist/src/compiler/FLINT/clos closure.sml,1.7,1.8 freeclose.sml,1.7,1.8 globalfix.sml,1.4,1.5 unrebind.sml,1.4,1.5
Matthias Blume <[email protected]>
| Newsgroups | gmane.comp.lang.sml.smlnj.commits |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/smlnj/sml-dist/src/compiler/FLINT/clos
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18358/src/compiler/FLINT/clos
Modified Files:
closure.sml freeclose.sml globalfix.sml unrebind.sml
Log Message:
long long results implemented
Index: closure.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/FLINT/clos/closure.sml,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** closure.sml 27 May 2003 21:54:21 -0000 1.7
--- closure.sml 10 Feb 2005 23:54:04 -0000 1.8
***************
*** 2034,2041 ****
in header(PURE(i,args,w,t,ne))
end
! | RCC(k,l,p,args,w,t,e) =>
let val (env,header) = fixAccess(args,env)
! val ne = close(e,augValue(w,t,env),sn,csg,csf,ret)
! in header(RCC(k,l,p,args,w,t,ne))
end
--- 2034,2043 ----
in header(PURE(i,args,w,t,ne))
end
! | RCC(k,l,p,args,wtl,e) =>
let val (env,header) = fixAccess(args,env)
! val ne = close(e,foldl (fn((w, t), env) =>
! augValue(w,t,env)) env wtl,
! sn,csg,csf,ret)
! in header(RCC(k,l,p,args,wtl,ne))
end
Index: freeclose.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/FLINT/clos/freeclose.sml,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** freeclose.sml 23 Mar 2002 21:14:39 -0000 1.7
--- freeclose.sml 10 Feb 2005 23:54:04 -0000 1.8
***************
*** 194,199 ****
| SETTER(p,vl,ce) =>
(app escapesM vl; SETTER(p,vl,proc ce))
! | RCC(k, l, p, vl, w, t, ce) =>
! (app escapesM vl; RCC(k, l, p, vl, w, t, proc ce))
| BRANCH(p,vl,c,e1,e2) =>
(app escapesM vl; BRANCH(p,vl,c,proc e1,proc e2))
--- 194,199 ----
| SETTER(p,vl,ce) =>
(app escapesM vl; SETTER(p,vl,proc ce))
! | RCC(k, l, p, vl, wtl, ce) =>
! (app escapesM vl; RCC(k, l, p, vl, wtl, proc ce))
| BRANCH(p,vl,c,e1,e2) =>
(app escapesM vl; BRANCH(p,vl,c,proc e1,proc e2))
***************
*** 230,234 ****
ARITH (_, _, _, _, e) |
PURE (_, _, _, _, e) |
! RCC (_, _, _, _, _, _, e)) = collect e
| collect (BRANCH (_, _, _, x, y)) = comb (collect x, collect y)
| collect (APP (u, ul)) = (vl2sKUC (u :: ul), [])
--- 230,234 ----
ARITH (_, _, _, _, e) |
PURE (_, _, _, _, e) |
! RCC (_, _, _, _, _, e)) = collect e
| collect (BRANCH (_, _, _, x, y)) = comb (collect x, collect y)
| collect (APP (u, ul)) = (vl2sKUC (u :: ul), [])
***************
*** 661,670 ****
in (SETTER(p,vl,ce'),free',wl',gsz,fsz)
end
! | RCC(k,l,p,vl,w,t,ce) =>
let val (ce',free,wl,gsz,fsz) = freevars(n,sn,ce)
val new = clean vl
! val free' = addV(new,sn,rmvsV(w,free))
! val wl' = overL(new,rmvL(w,wl))
! in (RCC(k,l,p,vl,w,t,ce'),free',wl',gsz,fsz)
end
| BRANCH(p,vl,c,e1,e2) =>
--- 661,671 ----
in (SETTER(p,vl,ce'),free',wl',gsz,fsz)
end
! | RCC(k,l,p,vl,wtl,ce) =>
let val (ce',free,wl,gsz,fsz) = freevars(n,sn,ce)
val new = clean vl
! val wtl' = map #1 wtl
! val free' = addV(new,sn, foldl rmvsV free wtl')
! val wl' = overL(new,foldl rmvL wl wtl')
! in (RCC(k,l,p,vl,wtl,ce'),free',wl',gsz,fsz)
end
| BRANCH(p,vl,c,e1,e2) =>
Index: globalfix.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/FLINT/clos/globalfix.sml,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** globalfix.sml 23 Mar 2002 21:14:39 -0000 1.4
--- globalfix.sml 10 Feb 2005 23:54:04 -0000 1.5
***************
*** 34,38 ****
| ARITH(i,vl,w,t,c) => let val (f,c') = gfix c in (f,ARITH(i,vl,w,t,c')) end
| PURE(i,vl,w,t,c) => let val (f,c') = gfix c in (f,PURE(i,vl,w,t,c')) end
! | RCC(k,l,p,vl,w,t,c) => let val (f,c') = gfix c in (f,RCC(k,l,p,vl,w,t,c')) end
| BRANCH(i,args,c,e1,e2) =>
let val (f1,e1') = gfix e1
--- 34,38 ----
| ARITH(i,vl,w,t,c) => let val (f,c') = gfix c in (f,ARITH(i,vl,w,t,c')) end
| PURE(i,vl,w,t,c) => let val (f,c') = gfix c in (f,PURE(i,vl,w,t,c')) end
! | RCC(k,l,p,vl,wtl,c) => let val (f,c') = gfix c in (f,RCC(k,l,p,vl,wtl,c')) end
| BRANCH(i,args,c,e1,e2) =>
let val (f1,e1') = gfix e1
Index: unrebind.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/FLINT/clos/unrebind.sml,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** unrebind.sml 23 Mar 2002 21:14:39 -0000 1.4
--- unrebind.sml 10 Feb 2005 23:54:04 -0000 1.5
***************
*** 71,75 ****
| ARITH(i,vl,w,t,e) => ARITH(i,map rename vl,w,t,h e)
| PURE(i,vl,w,t,e) => PURE(i,map rename vl,w,t,h e)
! | RCC(k,l,p,vl,w,t,e) => RCC(k, l, p, map rename vl, w, t, h e)
in h
end
--- 71,75 ----
| ARITH(i,vl,w,t,e) => ARITH(i,map rename vl,w,t,h e)
| PURE(i,vl,w,t,e) => PURE(i,map rename vl,w,t,h e)
! | RCC(k,l,p,vl,wtl,e) => RCC(k, l, p, map rename vl, wtl, h e)
in h
end
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click