logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

cvs commit: fptools/ghc/compiler/absCSyn AbsCSyn.lhs PprAbsC.lhs fptools: msg#00265

Subject: cvs commit: fptools/ghc/compiler/absCSyn AbsCSyn.lhs PprAbsC.lhs fptools/ghc/compiler/codeGen CgExpr.lhs CgTailCall.lhs fptools/ghc/include s Regs.h StgMacros.h fptools/ghc/rts Schedule.c
rje         2003/01/28 09:55:49 PST

  Modified files:        (Branch: speceval_2)
    ghc/compiler/absCSyn AbsCSyn.lhs PprAbsC.lhs 
    ghc/compiler/codeGen CgExpr.lhs CgTailCall.lhs 
    ghc/includes         Regs.h StgMacros.h 
    ghc/rts              Schedule.c 
  Log:
  Changed the behaviour of spec-let so that we push the return frame
  BEFORE doing any speculative computation.
  
  If we don't do this then, if the speculative expression is something fairly
  complex such as a "case" then then some work might be done without a
  speculative return frame having been pushed.
  
  It is important that there always be a spec return frame on the stack when
  the current execution is speculative as these frames are what the
  dynamic profiler and abortion mechanism use to work out what speculative
  executions are taking place.
  
  (note that neither the profiler nor the abortion mechanism have yet
  been ported across from my original 5.02-derived tree)
  
  This commit also includes a few changes from the earlier branch that I
  had missed in my previous rebasing.
  
  Revision  Changes    Path
  1.51.2.2  +2 -0      fptools/ghc/compiler/absCSyn/AbsCSyn.lhs
  1.95.2.2  +4 -1      fptools/ghc/compiler/absCSyn/PprAbsC.lhs
  1.52.2.2  +20 -7     fptools/ghc/compiler/codeGen/CgExpr.lhs
  1.36.2.1  +55 -17    fptools/ghc/compiler/codeGen/CgTailCall.lhs
  1.12.2.1  +10 -1     fptools/ghc/includes/Regs.h
  1.50.2.1  +20 -1     fptools/ghc/includes/StgMacros.h
  1.160.2.1 +2 -1      fptools/ghc/rts/Schedule.c


<Prev in Thread] Current Thread [Next in Thread>