From 476eadf9c60165863cfb3c926049ed558136a49e Mon Sep 17 00:00:00 2001 From: simonm Date: Mon, 2 Dec 1996 15:31:38 +0000 Subject: [PATCH] [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. --- ghc/compiler/codeGen/CgTailCall.lhs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ghc/compiler/codeGen/CgTailCall.lhs b/ghc/compiler/codeGen/CgTailCall.lhs index 95055d8..702f647 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) -- 1.7.10.4