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:
35eb7d5
)
[project @ 2005-05-18 12:06:51 by simonmar]
author
simonmar
<unknown>
Wed, 18 May 2005 12:06:51 +0000
(12:06 +0000)
committer
simonmar
<unknown>
Wed, 18 May 2005 12:06:51 +0000
(12:06 +0000)
revert rev. 1.71
ghc/compiler/codeGen/CgClosure.lhs
patch
|
blob
|
history
diff --git
a/ghc/compiler/codeGen/CgClosure.lhs
b/ghc/compiler/codeGen/CgClosure.lhs
index
8a0f4dd
..
1a2cbc5
100644
(file)
--- 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
%
%
% (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}
%
\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,
import MachOp ( MachHint(..) )
import Cmm
import CmmUtils ( CmmStmts, mkStmts, oneStmt, plusStmts, noStmts,
- mkLblExpr, mkIntCLit )
+ mkLblExpr )
import CLabel
import StgSyn
import StaticFlags ( opt_DoTickyProfiling )
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_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
-- 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:
; 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
else do
{ -- No update reqd, you'd think we don't need to
-- black-hole it. But when ticky-ticky is on, we