CVS: sml-dist/src/compiler/DebugProf/profile tdp-instrument.sml, 1.4.6.1, 1.4.6.2 tprof.sml, 1.5.4.2, 1.5.4.3

George Kuan <[email protected]> Mon, 10 Jul 2006 07:22:36 -0700
Newsgroups gmane.comp.lang.sml.smlnj.commits
Message-ID <[email protected]>
Update of /cvsroot/smlnj/sml-dist/src/compiler/DebugProf/profile
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv25414/compiler/DebugProf/profile

Modified Files:
      Tag: primop-branch-2
	tdp-instrument.sml tprof.sml 
Log Message:
Updated some DebugProf modules to use PrimOpId and param ty var list

Index: tdp-instrument.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/DebugProf/profile/tdp-instrument.sml,v
retrieving revision 1.4.6.1
retrieving revision 1.4.6.2
diff -C2 -d -r1.4.6.1 -r1.4.6.2
*** tdp-instrument.sml	20 Jun 2006 17:09:18 -0000	1.4.6.1
--- tdp-instrument.sml	10 Jul 2006 14:22:34 -0000	1.4.6.2
***************
*** 75,79 ****
  	    val sy = Symbol.varSymbol n
  	in
! 	    VC.VALvar { access = Access.namedAcc (sy, mkv), info = II.Null,
  			path = SP.SPATH [sy], typ = ref t }
  	end
--- 75,79 ----
  	    val sy = Symbol.varSymbol n
  	in
! 	    VC.VALvar { access = Access.namedAcc (sy, mkv), prim = PrimOpId.NonPrim,
  			path = SP.SPATH [sy], typ = ref t }
  	end
***************
*** 162,167 ****
  	fun AUexp v = A.APPexp (VARexp v, uExp)	(* apply to unit *)
  
  	fun is_prim_exp (A.VARexp (ref (VC.VALvar v), _)) =
! 	      II.isSimple (#info v)
  	  | is_prim_exp (A.CONexp _) = true
  	  | is_prim_exp (A.CONSTRAINTexp (e, _)) = is_prim_exp e
--- 162,171 ----
  	fun AUexp v = A.APPexp (VARexp v, uExp)	(* apply to unit *)
  
+         (* GK: There is no need for isSimple because primId and strPrimElem
+ 	   are now two separate datatypes. Previously, isSimple checked 
+ 	   whether the info was just an Info or a compound, structured 
+ 	   info List/Null *)
  	fun is_prim_exp (A.VARexp (ref (VC.VALvar v), _)) =
! 	      II.isSimple (#prim v)
  	  | is_prim_exp (A.CONexp _) = true
  	  | is_prim_exp (A.CONSTRAINTexp (e, _)) = is_prim_exp e

Index: tprof.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/DebugProf/profile/tprof.sml,v
retrieving revision 1.5.4.2
retrieving revision 1.5.4.3
diff -C2 -d -r1.5.4.2 -r1.5.4.3
*** tprof.sml	7 Jul 2006 21:06:08 -0000	1.5.4.2
--- tprof.sml	10 Jul 2006 14:22:34 -0000	1.5.4.3
***************
*** 8,12 ****
       * times.  In practical terms, this means call/cc. *)
    val instrumDec :
!       (II.ii -> bool) ->
        (StaticEnv.staticEnv * Absyn.dec CompInfo.compInfo)
        -> Absyn.dec -> Absyn.dec
--- 8,12 ----
       * times.  In practical terms, this means call/cc. *)
    val instrumDec :
!       (PrimOpId.primId -> bool) ->
        (StaticEnv.staticEnv * Absyn.dec CompInfo.compInfo)
        -> Absyn.dec -> Absyn.dec
***************
*** 99,103 ****
        of POLYty _ =>
  	 bug ("poly["^SP.toString path^"] in Prof")
!        | ty' => VARexp(ref v, NONE)) (* VARexp(ref v, SOME ty') *)
    | varexp _ = bug "090924 in prof"
  
--- 99,103 ----
        of POLYty _ =>
  	 bug ("poly["^SP.toString path^"] in Prof")
!        | ty' => VARexp(ref v, [])) (* VARexp(ref v, SOME ty') *)
    | varexp _ = bug "090924 in prof"
  
***************
*** 149,157 ****
       fun BUMPCCexp (ccvara : int) = 
         let val lvar = tmpvar("indexvar",intTy,mkv)
! 	in APPexp(VARexp(ref updateop,SOME intTy),  
  	       TUPLEexp[countarray,
  		INTexp (IntInf.fromInt ccvara, intTy),
  		   APPexp(varexp addop,
! 		     TUPLEexp[APPexp(VARexp(ref subop,SOME intTy),
  			       TUPLEexp[countarray,
  			               INTexp(IntInf.fromInt ccvara,intTy)]),
--- 149,157 ----
       fun BUMPCCexp (ccvara : int) = 
         let val lvar = tmpvar("indexvar",intTy,mkv)
! 	in APPexp(VARexp(ref updateop, [intTy]),  
  	       TUPLEexp[countarray,
  		INTexp (IntInf.fromInt ccvara, intTy),
  		   APPexp(varexp addop,
! 		     TUPLEexp[APPexp(VARexp(ref subop,[intTy]),
  			       TUPLEexp[countarray,
  			               INTexp(IntInf.fromInt ccvara,intTy)]),
***************
*** 170,174 ****
  			      tyvars=ref nil,
  			      boundtvs=[]}],
! 		    APPexp(VARexp(ref assignop,SOME intTy),  
  			   TUPLEexp[currentexp, varexp lvar]))
  	 end
--- 170,174 ----
  			      tyvars=ref nil,
  			      boundtvs=[]}],
! 		    APPexp(VARexp(ref assignop,[intTy]),  
  			   TUPLEexp[currentexp, varexp lvar]))
  	 end
***************
*** 364,368 ****
                                                          ccvara') true) l,
                                                true)])),
!                                    RULE(WILDpat,RAISEexp(CONexp(exnMatch,NONE),
                                                   Reconstruct.expType special))
                                    ], t)
--- 364,368 ----
                                                          ccvara') true) l,
                                                true)])),
!                                    RULE(WILDpat,RAISEexp(CONexp(exnMatch,[]),
                                                   Reconstruct.expType special))
                                    ], t)
***************
*** 391,395 ****
                                         VARpat currentvar],
                            exp=APPexp(APPexp(VARexp(ref derefop,
!                                                    SOME profDerefTy),
                                              varexp register),
                                       STRINGexp(concat(rev(!entries)))),
--- 391,395 ----
                                         VARpat currentvar],
                            exp=APPexp(APPexp(VARexp(ref derefop,
!                                                    [profDerefTy]),
                                              varexp register),
                                       STRINGexp(concat(rev(!entries)))),



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642