summaryrefslogtreecommitdiff
path: root/ghc/compiler/codeGen
diff options
context:
space:
mode:
authorsimonm <unknown>1996-12-02 15:31:38 +0000
committersimonm <unknown>1996-12-02 15:31:38 +0000
commit476eadf9c60165863cfb3c926049ed558136a49e (patch)
treea75bc7d401439c2f5442a92568e4c437c127e3c7 /ghc/compiler/codeGen
parentf47353a6b099431409ce840db34f6b4b64221ad4 (diff)
downloadhaskell-476eadf9c60165863cfb3c926049ed558136a49e.tar.gz
[project @ 1996-12-02 15:31:38 by simonm]
don't set the info ptr when entering a closure; this is unnecessary as the info ptr is loaded in the constructor entry code (see comment by me in CgConTbls.lhs). Very minor performance hit for Sparc/Alpha, big win for i386. Should probably be conditionalised on the architecture or something.
Diffstat (limited to 'ghc/compiler/codeGen')
-rw-r--r--ghc/compiler/codeGen/CgTailCall.lhs5
1 files changed, 1 insertions, 4 deletions
diff --git a/ghc/compiler/codeGen/CgTailCall.lhs b/ghc/compiler/codeGen/CgTailCall.lhs
index 95055d854e..702f647458 100644
--- a/ghc/compiler/codeGen/CgTailCall.lhs
+++ b/ghc/compiler/codeGen/CgTailCall.lhs
@@ -334,10 +334,7 @@ tailCallBusiness fun fun_amode lf_info arg_amodes live_vars pending_assts
([],
mkAbstractCs [
CCallProfCtrMacro SLIT("ENT_VIA_NODE") [],
- CAssign (CReg infoptr)
-
- (CMacroExpr DataPtrRep INFO_PTR [CReg node]),
- CJump (CMacroExpr CodePtrRep ENTRY_CODE [CReg infoptr])
+ CJump (CMacroExpr CodePtrKind ENTRY_CODE [(CMacroExpr DataPtrKind INFO_PTR [CReg node])])
])
StdEntry lbl Nothing -> ([], CJump (CLbl lbl CodePtrRep))
StdEntry lbl (Just itbl) -> ([], CAssign (CReg infoptr) (CLbl itbl DataPtrRep)