From: desrt Date: Sun, 21 Nov 2004 22:25:24 +0000 (+0000) Subject: [project @ 2004-11-21 22:25:23 by desrt] X-Git-Tag: Initial_conversion_from_CVS_complete~1409 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=a1947dc78b38b2aced923e2f6d04031a0cb94009;p=ghc-hetmet.git [project @ 2004-11-21 22:25:23 by desrt] rtsconfig, smrep: fixes to not put info next to code (like ia64) machregs: define registers for powerpc64 - same as ppc32 tailcalls: for now do tailcalls as normal calls. (ok on powerpc since calls don't grow the stack and we don't care about LR anyway) --- diff --git a/ghc/compiler/codeGen/SMRep.lhs b/ghc/compiler/codeGen/SMRep.lhs index 9e1b7a7..8bbf79d 100644 --- a/ghc/compiler/codeGen/SMRep.lhs +++ b/ghc/compiler/codeGen/SMRep.lhs @@ -289,7 +289,7 @@ arrPtrsHdrSize = fixedHdrSize*wORD_SIZE + sIZEOF_StgMutArrPtrs_NoHdr \begin{code} -- IA64 mangler doesn't place tables next to code tablesNextToCode :: Bool -#ifdef ia64_TARGET_ARCH +#if defined(ia64_TARGET_ARCH) || defined(powerpc64_TARGET_ARCH) tablesNextToCode = False #else tablesNextToCode = not opt_Unregisterised diff --git a/ghc/includes/MachRegs.h b/ghc/includes/MachRegs.h index 8297023..6f4b1ac 100644 --- a/ghc/includes/MachRegs.h +++ b/ghc/includes/MachRegs.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: MachRegs.h,v 1.16 2004/08/13 13:09:18 simonmar Exp $ + * $Id: MachRegs.h,v 1.17 2004/11/21 22:25:24 desrt Exp $ * * (c) The GHC Team, 1998-1999 * @@ -396,7 +396,7 @@ I think we can do the Whole Business with callee-save registers only! -------------------------------------------------------------------------- */ -#if powerpc_TARGET_ARCH || rs6000_TARGET_ARCH +#if powerpc_TARGET_ARCH || powerpc64_TARGET_ARCH || rs6000_TARGET_ARCH #define REG(x) __asm__(#x) diff --git a/ghc/includes/RtsConfig.h b/ghc/includes/RtsConfig.h index 1af4517..6529c4b 100644 --- a/ghc/includes/RtsConfig.h +++ b/ghc/includes/RtsConfig.h @@ -54,7 +54,7 @@ * * UNDEFINING THIS WON'T WORK ON ITS OWN. You have been warned. */ -#if !defined(USE_MINIINTERPRETER) && !defined(ia64_TARGET_ARCH) +#if !defined(USE_MINIINTERPRETER) && !defined(ia64_TARGET_ARCH) && !defined (powerpc64_TARGET_ARCH) #define TABLES_NEXT_TO_CODE #endif diff --git a/ghc/includes/TailCalls.h b/ghc/includes/TailCalls.h index a61695e..af248da 100644 --- a/ghc/includes/TailCalls.h +++ b/ghc/includes/TailCalls.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: TailCalls.h,v 1.16 2004/08/13 13:09:41 simonmar Exp $ + * $Id: TailCalls.h,v 1.17 2004/11/21 22:25:24 desrt Exp $ * * (c) The GHC Team, 1998-1999 * @@ -203,6 +203,10 @@ but uses $$dyncall if necessary to cope, just in case you aren't. #endif /* powerpc_TARGET_ARCH */ +#ifdef powerpc64_TARGET_ARCH +#define JMP_(cont) ((F_) (cont))() +#endif + /* ----------------------------------------------------------------------------- Tail calling on IA64 -------------------------------------------------------------------------- */