Tue Mar 14 03:21:19 PST 2006  Simon Marlow <[EMAIL PROTECTED]>
  * Fix a really nasty bug in SMP
  In SMP mode a THUNK can change to an IND at any time.  The generic
  apply code (stg_ap_p etc.) examines a closure to determine how to
  apply it to its arguments, if it is a THUNK it must enter it first in
  order to evaluate it.  The problem was that in order to enter the
  THUNK, we were re-reading the info pointer, and possibly ending up
  with an IND instead of the original THUNK.  It isn't safe to enter the
  IND, because it points to a function (functions are never "entered",
  only applied).  Solution: we must not re-read the info pointer.

    M ./ghc/compiler/cmm/CmmParse.y -1 +3
    M ./ghc/utils/genapply/GenApply.hs -4 +8
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to