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/MiscUtil/profile/btrace.sml
ViewVC logotype

Diff of /sml/trunk/src/compiler/MiscUtil/profile/btrace.sml

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

revision 677, Mon Jun 26 00:56:56 2000 UTC revision 678, Tue Jun 27 07:51:09 2000 UTC
# Line 141  Line 141 
141            | is_prim_exp (A.MARKexp (e, _)) = is_prim_exp e            | is_prim_exp (A.MARKexp (e, _)) = is_prim_exp e
142            | is_prim_exp _ = false            | is_prim_exp _ = false
143    
144            fun is_raise_exp (A.RAISEexp _) = true
145              | is_raise_exp (A.MARKexp (e, _) |
146                              A.CONSTRAINTexp (e, _) |
147                              A.SEQexp [e]) = is_raise_exp e
148              | is_raise_exp _ = false
149    
150          fun i_exp _ loc (A.RECORDexp l) =          fun i_exp _ loc (A.RECORDexp l) =
151              A.RECORDexp (map (fn (l, e) => (l, i_exp false loc e)) l)              A.RECORDexp (map (fn (l, e) => (l, i_exp false loc e)) l)
152            | i_exp _ loc (A.SELECTexp (l, e)) =            | i_exp _ loc (A.SELECTexp (l, e)) =
# Line 165  Line 171 
171                  end                  end
172            | i_exp tail loc (A.HANDLEexp (e, A.HANDLER (A.FNexp (rl, t)))) = let            | i_exp tail loc (A.HANDLEexp (e, A.HANDLER (A.FNexp (rl, t)))) = let
173                  val restore = tmpvar ("tmprestore", u_u_Ty)                  val restore = tmpvar ("tmprestore", u_u_Ty)
174                  fun rule (A.RULE (p, e)) =                  fun rule (r as A.RULE (p, e)) =
175                      A.RULE (p, A.SEQexp [AUexp restore, i_exp tail loc e])                      if is_raise_exp e then r
176                        else A.RULE (p, A.SEQexp [AUexp restore, i_exp tail loc e])
177              in              in
178                  LETexp (restore, saveexp,                  LETexp (restore, saveexp,
179                          A.HANDLEexp (i_exp false loc e,                          A.HANDLEexp (i_exp false loc e,

Legend:
Removed from v.677  
changed lines
  Added in v.678

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