[project @ 2004-11-21 22:25:23 by desrt]
authordesrt <unknown>
Sun, 21 Nov 2004 22:25:24 +0000 (22:25 +0000)
committerdesrt <unknown>
Sun, 21 Nov 2004 22:25:24 +0000 (22:25 +0000)
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)

ghc/compiler/codeGen/SMRep.lhs
ghc/includes/MachRegs.h
ghc/includes/RtsConfig.h
ghc/includes/TailCalls.h

index 9e1b7a7..8bbf79d 100644 (file)
@@ -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
index 8297023..6f4b1ac 100644 (file)
@@ -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
  *
    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)
 
index 1af4517..6529c4b 100644 (file)
@@ -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
 
index a61695e..af248da 100644 (file)
@@ -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
    -------------------------------------------------------------------------- */