diff options
author | simonmar <unknown> | 2005-05-18 12:06:51 +0000 |
---|---|---|
committer | simonmar <unknown> | 2005-05-18 12:06:51 +0000 |
commit | 04887da4058a141e9c27cd6f6898dd36d75dc7a4 (patch) | |
tree | 62c9a35293e741bdaf5cbf3c8dce4b93f503bad0 | |
parent | 35eb7d56c0feafae71c35726925d6cd3bb7bb7c5 (diff) | |
download | haskell-04887da4058a141e9c27cd6f6898dd36d75dc7a4.tar.gz |
[project @ 2005-05-18 12:06:51 by simonmar]
revert rev. 1.71
-rw-r--r-- | ghc/compiler/codeGen/CgClosure.lhs | 21 |
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 |