CVS: sml-dist/src/compiler/DebugProf/profile tdp-instrument.sml, 1.4.6.3, 1.4.6.4 tprof.sml, 1.5.4.3, 1.5.4.4

David MacQueen <[email protected]> Tue, 11 Jul 2006 16:00:43 -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-serv3556/DebugProf/profile

Modified Files:
      Tag: primop-branch-2
	tdp-instrument.sml tprof.sml 
Log Message:
further primop hacking -- getting close to compile

Index: tdp-instrument.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/DebugProf/profile/tdp-instrument.sml,v
retrieving revision 1.4.6.3
retrieving revision 1.4.6.4
diff -C2 -d -r1.4.6.3 -r1.4.6.4
*** tdp-instrument.sml	10 Jul 2006 14:30:48 -0000	1.4.6.3
--- tdp-instrument.sml	11 Jul 2006 23:00:41 -0000	1.4.6.4
***************
*** 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
--- 162,169 ----
  	fun AUexp v = A.APPexp (VARexp v, uExp)	(* apply to unit *)
  
  	fun is_prim_exp (A.VARexp (ref (VC.VALvar v), _)) =
!               (case #prim v
!                  of PrimOpId.Prim _ => true
!                   | PrimOpId.NonPrim => false)
  	  | is_prim_exp (A.CONexp _) = true
  	  | is_prim_exp (A.CONSTRAINTexp (e, _)) = is_prim_exp e
***************
*** 313,320 ****
  		case gv pat of
  		    SOME (VC.VALvar { path = SP.SPATH [x], prim, ... }) =>
! 		      if II.isSimple info then vb
! 		      else recur (cons (x, n))
  		  | SOME (VC.VALvar { prim, ... }) =>
! 		      if II.isSimple info then vb else recur n
  		  | _ => recur n
  	    end
--- 311,321 ----
  		case gv pat of
  		    SOME (VC.VALvar { path = SP.SPATH [x], prim, ... }) =>
!                       (case prim
!                         of PrimOpId.Prim _ => vb
!                          | PrimOpId.NonPrim => recur (cons (x, n)))
  		  | SOME (VC.VALvar { prim, ... }) =>
!                       (case prim
!                         of PrimOpId.Prim _ => vb
!                          | PrimOpId.NonPrim => recur n)
  		  | _ => recur n
  	    end

Index: tprof.sml
===================================================================
RCS file: /cvsroot/smlnj/sml-dist/src/compiler/DebugProf/profile/tprof.sml,v
retrieving revision 1.5.4.3
retrieving revision 1.5.4.4
diff -C2 -d -r1.5.4.3 -r1.5.4.4
*** tprof.sml	10 Jul 2006 14:22:34 -0000	1.5.4.3
--- tprof.sml	11 Jul 2006 23:00:41 -0000	1.5.4.4
***************
*** 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)]),
--- 149,157 ----
       fun BUMPCCexp (ccvara : int) = 
         let val lvar = tmpvar("indexvar",intTy,mkv)
! 	in APPexp(VARexp(ref updateop, [ref(INSTANTIATED(intTy))]),  
  	       TUPLEexp[countarray,
  		INTexp (IntInf.fromInt ccvara, intTy),
  		   APPexp(varexp addop,
! 		     TUPLEexp[APPexp(VARexp(ref subop,[ref(INSTANTIATED(intTy))]),
  			       TUPLEexp[countarray,
  			               INTexp(IntInf.fromInt ccvara,intTy)]),
***************
*** 170,174 ****
  			      tyvars=ref nil,
  			      boundtvs=[]}],
! 		    APPexp(VARexp(ref assignop,[intTy]),  
  			   TUPLEexp[currentexp, varexp lvar]))
  	 end
--- 170,174 ----
  			      tyvars=ref nil,
  			      boundtvs=[]}],
! 		    APPexp(VARexp(ref assignop,[ref(INSTANTIATED(intTy))]),  
  			   TUPLEexp[currentexp, varexp lvar]))
  	 end
***************
*** 391,395 ****
                                         VARpat currentvar],
                            exp=APPexp(APPexp(VARexp(ref derefop,
!                                                    [profDerefTy]),
                                              varexp register),
                                       STRINGexp(concat(rev(!entries)))),
--- 391,395 ----
                                         VARpat currentvar],
                            exp=APPexp(APPexp(VARexp(ref derefop,
!                                                    [ref(INSTANTIATED(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