summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsimonmar <unknown>2005-05-18 12:06:51 +0000
committersimonmar <unknown>2005-05-18 12:06:51 +0000
commit04887da4058a141e9c27cd6f6898dd36d75dc7a4 (patch)
tree62c9a35293e741bdaf5cbf3c8dce4b93f503bad0
parent35eb7d56c0feafae71c35726925d6cd3bb7bb7c5 (diff)
downloadhaskell-04887da4058a141e9c27cd6f6898dd36d75dc7a4.tar.gz
[project @ 2005-05-18 12:06:51 by simonmar]
revert rev. 1.71
-rw-r--r--ghc/compiler/codeGen/CgClosure.lhs21
1 files changed, 6 insertions, 15 deletions
diff --git a/ghc/compiler/codeGen/CgClosure.lhs b/ghc/compiler/codeGen/CgClosure.lhs
index 8a0f4dd449..1a2cbc5202 100644
--- a/ghc/compiler/codeGen/CgClosure.lhs
+++ b/ghc/compiler/codeGen/CgClosure.lhs
@@ -1,7 +1,7 @@
%
% (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
%
-% $Id: CgClosure.lhs,v 1.71 2005/05/18 04:02:39 wolfgang Exp $
+% $Id: CgClosure.lhs,v 1.72 2005/05/18 12:06:51 simonmar Exp $
%
\section[CgClosure]{Code generation for closures}
@@ -39,7 +39,7 @@ import SMRep ( CgRep, cgRepSizeW, argMachRep, fixedHdrSize, WordOff,
import MachOp ( MachHint(..) )
import Cmm
import CmmUtils ( CmmStmts, mkStmts, oneStmt, plusStmts, noStmts,
- mkLblExpr, mkIntCLit )
+ mkLblExpr )
import CLabel
import StgSyn
import StaticFlags ( opt_DoTickyProfiling )
@@ -84,16 +84,8 @@ cgTopRhsClosure id ccs binder_info srt upd_flag args body = do
closure_info = mkClosureInfo True id lf_info 0 0 srt_info descr
closure_label = mkLocalClosureLabel name
cg_id_info = stableIdInfo id (mkLblExpr closure_label) lf_info
- closure_rep | not is_caf = mkStaticClosureFields closure_info ccs True []
- | otherwise = mkStaticClosure (mkRtsInfoLabel SLIT("stg_caf")) ccs
- [CmmLabel (infoTableLabelFromCI closure_info)]
- [mkIntCLit 0, mkIntCLit 0]
- [] []
-
- is_caf = null args
- && not (closureReEntrant closure_info)
- && isStaticClosure closure_info
-
+ closure_rep = mkStaticClosureFields closure_info ccs True []
+
-- BUILD THE OBJECT, AND GENERATE INFO TABLE (IF NECESSARY)
; emitDataLits closure_label closure_rep
; forkClosureBody (closureCodeBody binder_info closure_info
@@ -488,9 +480,8 @@ setupUpdate closure_info code
; if closureUpdReqd closure_info
then do -- Blackhole the (updatable) CAF:
- code
- -- { upd_closure <- link_caf closure_info True
- -- ; pushUpdateFrame upd_closure code }
+ { upd_closure <- link_caf closure_info True
+ ; pushUpdateFrame upd_closure code }
else do
{ -- No update reqd, you'd think we don't need to
-- black-hole it. But when ticky-ticky is on, we