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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.