projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
cf872d0
)
Following Simon M's "take newCAF() out from sm_mutex" patch
author
dias@cs.tufts.edu
<unknown>
Tue, 5 Jan 2010 21:15:43 +0000
(21:15 +0000)
committer
dias@cs.tufts.edu
<unknown>
Tue, 5 Jan 2010 21:15:43 +0000
(21:15 +0000)
compiler/codeGen/StgCmmBind.hs
patch
|
blob
|
history
diff --git
a/compiler/codeGen/StgCmmBind.hs
b/compiler/codeGen/StgCmmBind.hs
index
5af8f34
..
6451840
100644
(file)
--- 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
-- 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
-- node is live, so save it.
-- Overwrite the closure with a (static) indirection