[project @ 1996-12-02 15:31:38 by simonm]
authorsimonm <unknown>
Mon, 2 Dec 1996 15:31:38 +0000 (15:31 +0000)
committersimonm <unknown>
Mon, 2 Dec 1996 15:31:38 +0000 (15:31 +0000)
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

index 95055d8..702f647 100644 (file)
@@ -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)