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/cm/compile/exec.sml
ViewVC logotype

Diff of /sml/trunk/src/cm/compile/exec.sml

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

revision 361, Wed Jun 30 06:44:04 1999 UTC revision 362, Thu Jul 1 09:39:48 1999 UTC
# Line 54  Line 54 
54          val e = BF.exec (bfc, mkdyn ())          val e = BF.exec (bfc, mkdyn ())
55          val de = E.dynamicPart e          val de = E.dynamicPart e
56      in      in
57            BF.discardCode bfc;
58          memo de;          memo de;
59          SOME (thunkify de, sl, bl)          SOME (thunkify de, sl, bl)
60      end handle exn => let      end handle exn => let
# Line 69  Line 70 
70      fun dostable (i, mkbenv, gp) =      fun dostable (i, mkbenv, gp) =
71          case mkbenv () of          case mkbenv () of
72              NONE => NONE              NONE => NONE
73            | SOME (benv, sl, bl) =>            | SOME (benv, sl, bl) => let
74                  (case PS.exec_look_stable (i, gp) of                  val bfc = PS.bfc_fetch_stable i
75                       SOME m => SOME (thunkify m, [], [i])              in
76                     | NONE => (execute (PS.bfc_fetch_stable i, benv,                  case PS.exec_look_stable (i, gp, BF.exportPidOf bfc) of
77                        SOME m =>
78                            (BF.discardCode bfc;
79                             SOME (thunkify m, [], [i]))
80                      | NONE => (execute (bfc, benv,
81                                         BinInfo.error i EM.COMPLAIN,                                         BinInfo.error i EM.COMPLAIN,
82                                         BinInfo.describe i,                                         BinInfo.describe i,
83                                         fn e => PS.exec_memo_stable (i, e, bl),                                         fn e => PS.exec_memo_stable (i, e, bl),
84                                         [], [i])))                                        [], [i]))
85                end
     fun fetch_sml i =  
         PS.bfc_fetch_sml i handle e => (print "!!! fetch_sml\n"; raise e)  
86    
87      fun dosml (i, (env, sl, bl), gp) =      fun dosml (i, (env, sl, bl), gp) = let
88          case PS.exec_look_sml (i, gp) of          val bfc = PS.bfc_fetch_sml i
89              SOME m => SOME (thunkify m, [i], [])              handle e => (print "!!! fetch_sml\n"; raise e)
90            | NONE => (execute (fetch_sml i, env,      in
91            case PS.exec_look_sml (i, gp, BF.exportPidOf bfc) of
92                SOME m =>
93                    (BF.discardCode bfc;
94                     SOME (thunkify m, [i], []))
95              | NONE => (execute (bfc, env,
96                                SmlInfo.error gp i EM.COMPLAIN,                                SmlInfo.error gp i EM.COMPLAIN,
97                                SmlInfo.descr i,                                SmlInfo.descr i,
98                                fn m => PS.exec_memo_sml (i, m, sl, bl),                                fn m => PS.exec_memo_sml (i, m, sl, bl),
99                                [i], []))                                [i], []))
100  end  end
101    end

Legend:
Removed from v.361  
changed lines
  Added in v.362

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