From: dias@cs.tufts.edu Date: Tue, 5 Jan 2010 21:15:43 +0000 (+0000) Subject: Following Simon M's "take newCAF() out from sm_mutex" patch X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=5e91c7ce494b63565e58588066c4c72b28e1cd59 Following Simon M's "take newCAF() out from sm_mutex" patch --- diff --git a/compiler/codeGen/StgCmmBind.hs b/compiler/codeGen/StgCmmBind.hs index 5af8f34..6451840 100644 --- a/compiler/codeGen/StgCmmBind.hs +++ b/compiler/codeGen/StgCmmBind.hs @@ -605,7 +605,10 @@ link_caf cl_info _is_upd = do -- so that the garbage collector can find them -- This must be done *before* the info table pointer is overwritten, -- because the old info table ptr is needed for reversion - ; emitRtsCallWithVols rtsPackageId (fsLit "newCAF") [(CmmReg nodeReg,AddrHint)] [node] False + ; emitRtsCallWithVols rtsPackageId (fsLit "newCAF") + [ (CmmReg (CmmGlobal BaseReg), AddrHint), + (CmmReg nodeReg, AddrHint) ] + [node] False -- node is live, so save it. -- Overwrite the closure with a (static) indirection