diff options
author | simonm <unknown> | 1996-12-02 15:31:38 +0000 |
---|---|---|
committer | simonm <unknown> | 1996-12-02 15:31:38 +0000 |
commit | 476eadf9c60165863cfb3c926049ed558136a49e (patch) | |
tree | a75bc7d401439c2f5442a92568e4c437c127e3c7 /ghc/compiler/codeGen | |
parent | f47353a6b099431409ce840db34f6b4b64221ad4 (diff) | |
download | haskell-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.lhs | 5 |
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) |