From 9ac31f7c4db928dd4ef4ac9719074f64ee02a0d0 Mon Sep 17 00:00:00 2001
From: sewardj <unknown>
Date: Mon, 24 Jan 2000 18:22:08 +0000
Subject: [PATCH] [project @ 2000-01-24 18:22:07 by sewardj] ARR_HDR_SIZE -->
 ARR_WORDS_HDR_SIZE, and derived quantities in Constants.h, Constants.lhs et
 al are similarly renamed.

new constant ARR_PTRS_HDR_SIZE, with corresponding derivatives.
---
 ghc/compiler/codeGen/SMRep.lhs         | 13 +++++++++----
 ghc/compiler/main/Constants.lhs        | 14 ++++++++------
 ghc/compiler/nativeGen/Stix.lhs        |  9 +++++----
 ghc/compiler/nativeGen/StixInteger.lhs |  4 ++--
 ghc/compiler/nativeGen/StixPrim.lhs    | 12 ++++++------
 ghc/includes/Constants.h               |  5 +++--
 6 files changed, 33 insertions(+), 24 deletions(-)

diff --git a/ghc/compiler/codeGen/SMRep.lhs b/ghc/compiler/codeGen/SMRep.lhs
index 0e8f628d3f8c..aabcf404492c 100644
--- a/ghc/compiler/codeGen/SMRep.lhs
+++ b/ghc/compiler/codeGen/SMRep.lhs
@@ -10,7 +10,8 @@ Other modules should access this info through ClosureInfo.
 module SMRep (
 	SMRep(..), ClosureType(..),
 	isConstantRep, isStaticRep,
-	fixedHdrSize, arrHdrSize, fixedItblSize, pprSMRep
+	fixedHdrSize, arrWordsHdrSize, arrPtrsHdrSize,
+        fixedItblSize, pprSMRep
 
 #ifndef OMIT_NATIVE_CODEGEN
 	, getSMRepClosureTypeInt
@@ -50,7 +51,8 @@ module SMRep (
 import CmdLineOpts
 import AbsCSyn		( Liveness(..) )
 import Constants	( sTD_HDR_SIZE, pROF_HDR_SIZE,
-			  gRAN_HDR_SIZE, tICKY_HDR_SIZE, aRR_HDR_SIZE,
+			  gRAN_HDR_SIZE, tICKY_HDR_SIZE, 
+                          aRR_WORDS_HDR_SIZE, aRR_PTRS_HDR_SIZE,
 			  sTD_ITBL_SIZE, pROF_ITBL_SIZE,
 			  gRAN_ITBL_SIZE, tICKY_ITBL_SIZE )
 import Outputable
@@ -111,8 +113,11 @@ tickyHdrSize :: Int{-words-}
 tickyHdrSize | opt_DoTickyProfiling = tICKY_HDR_SIZE
 	     | otherwise	    = 0
 
-arrHdrSize   :: Int{-words-}
-arrHdrSize   = fixedHdrSize + aRR_HDR_SIZE
+arrWordsHdrSize   :: Int{-words-}
+arrWordsHdrSize   = fixedHdrSize + aRR_WORDS_HDR_SIZE
+
+arrPtrsHdrSize   :: Int{-words-}
+arrPtrsHdrSize   = fixedHdrSize + aRR_PTRS_HDR_SIZE
 \end{code}
 
 Size of an info table.
diff --git a/ghc/compiler/main/Constants.lhs b/ghc/compiler/main/Constants.lhs
index 14f466777c57..4a2e0cdfc773 100644
--- a/ghc/compiler/main/Constants.lhs
+++ b/ghc/compiler/main/Constants.lhs
@@ -23,7 +23,8 @@ module Constants (
 	pROF_HDR_SIZE,
 	gRAN_HDR_SIZE,
 	tICKY_HDR_SIZE,
-	aRR_HDR_SIZE,
+	aRR_WORDS_HDR_SIZE,
+	aRR_PTRS_HDR_SIZE,
 
 	sTD_ITBL_SIZE,
 	pROF_ITBL_SIZE,
@@ -196,11 +197,12 @@ mAX_Real_Long_REG       = (0::Int)
 Closure header sizes.
 
 \begin{code}
-sTD_HDR_SIZE   = (STD_HDR_SIZE   :: Int)
-pROF_HDR_SIZE  = (PROF_HDR_SIZE  :: Int)
-gRAN_HDR_SIZE  = (GRAN_HDR_SIZE  :: Int)
-tICKY_HDR_SIZE = (TICKY_HDR_SIZE :: Int)
-aRR_HDR_SIZE   = (ARR_HDR_SIZE   :: Int)
+sTD_HDR_SIZE       = (STD_HDR_SIZE       :: Int)
+pROF_HDR_SIZE      = (PROF_HDR_SIZE      :: Int)
+gRAN_HDR_SIZE      = (GRAN_HDR_SIZE      :: Int)
+tICKY_HDR_SIZE     = (TICKY_HDR_SIZE     :: Int)
+aRR_WORDS_HDR_SIZE = (ARR_WORDS_HDR_SIZE :: Int)
+aRR_PTRS_HDR_SIZE  = (ARR_PTRS_HDR_SIZE  :: Int)
 \end{code}
 
 Info Table sizes.
diff --git a/ghc/compiler/nativeGen/Stix.lhs b/ghc/compiler/nativeGen/Stix.lhs
index 5eb0362ddcc5..7945f1e51f22 100644
--- a/ghc/compiler/nativeGen/Stix.lhs
+++ b/ghc/compiler/nativeGen/Stix.lhs
@@ -10,7 +10,7 @@ module Stix (
 	stgBaseReg, stgNode, stgSp, stgSu, stgSpLim, stgHp, stgHpLim, stgTagReg,
 	getUniqLabelNCG,
 
-	fixedHS, arrHS
+	fixedHS, arrWordsHS, arrPtrsHS
     ) where
 
 #include "HsVersions.h"
@@ -24,7 +24,7 @@ import CLabel		( mkAsmTempLabel, CLabel, pprCLabel, pprCLabel_asm )
 import PrimRep          ( PrimRep, showPrimRep )
 import PrimOp           ( PrimOp, pprPrimOp )
 import Unique           ( Unique )
-import SMRep		( fixedHdrSize, arrHdrSize )
+import SMRep		( fixedHdrSize, arrWordsHdrSize, arrPtrsHdrSize )
 import UniqSupply	( returnUs, thenUs, getUniqueUs, UniqSM )
 import Outputable
 \end{code}
@@ -209,6 +209,7 @@ getUniqLabelNCG
   = getUniqueUs	      `thenUs` \ u ->
     returnUs (mkAsmTempLabel u)
 
-fixedHS = StInt (toInteger fixedHdrSize)
-arrHS   = StInt (toInteger arrHdrSize)
+fixedHS     = StInt (toInteger fixedHdrSize)
+arrWordsHS  = StInt (toInteger arrWordsHdrSize)
+arrPtrsHS   = StInt (toInteger arrPtrsHdrSize)
 \end{code}
diff --git a/ghc/compiler/nativeGen/StixInteger.lhs b/ghc/compiler/nativeGen/StixInteger.lhs
index 6b9ad9c11395..044548c8c481 100644
--- a/ghc/compiler/nativeGen/StixInteger.lhs
+++ b/ghc/compiler/nativeGen/StixInteger.lhs
@@ -22,7 +22,7 @@ import CallConv		( cCallConv )
 import OrdList		( OrdList )
 import PrimOp		( PrimOp(..) )
 import PrimRep		( PrimRep(..) )
-import SMRep		( arrHdrSize )
+import SMRep		( arrWordsHdrSize )
 import Stix		( sStLitLbl, StixTree(..), StixTreeList )
 import UniqSupply	( returnUs, thenUs, UniqSM )
 \end{code}
@@ -139,7 +139,7 @@ toStruct str (alloc,size,arr)
     	f1 = StAssign IntRep (mpAlloc str) alloc
     	f2 = StAssign IntRep (mpSize str) size
     	f3 = StAssign PtrRep (mpData str) 
-		(StIndex PtrRep arr (StInt (toInteger arrHdrSize)))
+		(StIndex PtrRep arr (StInt (toInteger arrWordsHdrSize)))
     in
     (f1, f2, f3)
 
diff --git a/ghc/compiler/nativeGen/StixPrim.lhs b/ghc/compiler/nativeGen/StixPrim.lhs
index ff5332df1ac0..8508a31f40dd 100644
--- a/ghc/compiler/nativeGen/StixPrim.lhs
+++ b/ghc/compiler/nativeGen/StixPrim.lhs
@@ -149,7 +149,7 @@ primCode [lhs] ReadArrayOp [obj, ix]
 	lhs' = amodeToStix lhs
     	obj' = amodeToStix obj
     	ix' = amodeToStix ix
-    	base = StIndex IntRep obj' arrHS
+    	base = StIndex IntRep obj' arrPtrsHS
     	assign = StAssign PtrRep lhs' (StInd PtrRep (StIndex PtrRep base ix'))
     in
     returnUs (\xs -> assign : xs)
@@ -159,7 +159,7 @@ primCode [] WriteArrayOp [obj, ix, v]
 	obj' = amodeToStix obj
     	ix' = amodeToStix ix
     	v' = amodeToStix v
-    	base = StIndex IntRep obj' arrHS --(StInt (toInteger 3))
+    	base = StIndex IntRep obj' arrPtrsHS
     	assign = StAssign PtrRep (StInd PtrRep (StIndex PtrRep base ix')) v'
     in
     returnUs (\xs -> assign : xs)
@@ -174,7 +174,7 @@ primCode [lhs] (ReadByteArrayOp pk) [obj, ix]
 	lhs' = amodeToStix lhs
     	obj' = amodeToStix obj
     	ix' = amodeToStix ix
-    	base = StIndex IntRep obj' arrHS
+    	base = StIndex IntRep obj' arrWordsHS
     	assign = StAssign pk lhs' (StInd pk (StIndex pk base ix'))
     in
     returnUs (\xs -> assign : xs)
@@ -203,7 +203,7 @@ primCode [] (WriteByteArrayOp pk) [obj, ix, v]
 	obj' = amodeToStix obj
     	ix' = amodeToStix ix
     	v' = amodeToStix v
-    	base = StIndex IntRep obj' arrHS
+    	base = StIndex IntRep obj' arrWordsHS
     	assign = StAssign pk (StInd pk (StIndex pk base ix')) v'
     in
     returnUs (\xs -> assign : xs)
@@ -229,8 +229,8 @@ primCode lhs (CCallOp (Left fn) is_asm may_gc cconv) rhs
 	let base = amodeToStix' x
 	in
 	    case getAmodeRep x of
-	      ArrayRep      -> StIndex PtrRep base arrHS
-	      ByteArrayRep  -> StIndex IntRep base arrHS
+	      ArrayRep      -> StIndex PtrRep base arrPtrsHS
+	      ByteArrayRep  -> StIndex IntRep base arrWordsHS
 	      ForeignObjRep -> StIndex PtrRep base fixedHS
 	      _ -> base
 \end{code}
diff --git a/ghc/includes/Constants.h b/ghc/includes/Constants.h
index 39831969370b..e0e07b9b736f 100644
--- a/ghc/includes/Constants.h
+++ b/ghc/includes/Constants.h
@@ -1,5 +1,5 @@
 /* ----------------------------------------------------------------------------
- * $Id: Constants.h,v 1.8 2000/01/13 14:34:00 hwloidl Exp $
+ * $Id: Constants.h,v 1.9 2000/01/24 18:22:08 sewardj Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
@@ -27,7 +27,8 @@
 #define PAR_HDR_SIZE   0
 #define TICKY_HDR_SIZE 0
 
-#define ARR_HDR_SIZE   1
+#define ARR_WORDS_HDR_SIZE  1
+#define ARR_PTRS_HDR_SIZE   2
 
 /* -----------------------------------------------------------------------------
    Info Table sizes
-- 
GitLab