Following Simon M's "take newCAF() out from sm_mutex" patch
[ghc-hetmet.git] / compiler / codeGen / StgCmmBind.hs
index 5af8f34..6451840 100644 (file)
@@ -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