simonmar    2005/10/26 03:42:54 PDT

  Modified files:
    ghc/includes         Regs.h mkDerivedConstants.c 
    ghc/rts              HeapStackCheck.cmm Interpreter.c 
                         Interpreter.h Schedule.c StgCRun.c 
                         StgRun.h StgStartup.cmm 
  Log:
  - change the type of StgRun(): now we return the Capability that the
    thread currently holds.  The return status of the thread is now
    stored in cap->r.rRet (a new slot in the reg table).
  
    This was necessary because on return from StgRun(), the current
    TSO may be blocked, so it no longer belongs to us.  If it is a bound
    thread, then the Task may have been already woken up on another
    Capability, so the scheduler can't use task->cap to find the
    capability it currently owns.
  
  - when shutting down, allow a bound thread to remove its TSO from
    the run queue when exiting (eliminates an error condition in
    releaseCapability()).
  
  Revision  Changes    Path
  1.24      +1 -2      fptools/ghc/includes/Regs.h
  1.28      +1 -0      fptools/ghc/includes/mkDerivedConstants.c
  1.17      +6 -5      fptools/ghc/rts/HeapStackCheck.cmm
  1.56      +7 -5      fptools/ghc/rts/Interpreter.c
  1.7       +1 -1      fptools/ghc/rts/Interpreter.h
  1.264     +31 -21    fptools/ghc/rts/Schedule.c
  1.54      +13 -13    fptools/ghc/rts/StgCRun.c
  1.8       +1 -1      fptools/ghc/rts/StgRun.h
  1.6       +3 -2      fptools/ghc/rts/StgStartup.cmm
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to