[project @ 2001-10-19 10:04:37 by sewardj]
[ghc-hetmet.git] / ghc / compiler / basicTypes / Unique.lhs
index dda19bf..86e6d60 100644 (file)
@@ -41,7 +41,7 @@ module Unique (
        mkPreludeMiscIdUnique, mkPreludeDataConUnique,
        mkPreludeTyConUnique, mkPreludeClassUnique,
 
-       getNumBuiltinUniques, getBuiltinUniques, mkBuiltinUnique,
+       mkBuiltinUnique,
        mkPseudoUnique1, mkPseudoUnique2, mkPseudoUnique3
     ) where
 
@@ -52,6 +52,7 @@ import FastString     ( FastString, uniqueOfFS )
 import GlaExts
 import ST
 import PrelBase ( Char(..), chr, ord )
+import FastTypes
 
 import Outputable
 \end{code}
@@ -70,7 +71,7 @@ data Unique = MkUnique Int#
 \end{code}
 
 \begin{code}
-u2i :: Unique -> FAST_INT
+u2i :: Unique -> FastInt
 u2i (MkUnique i) = i
 \end{code}
 
@@ -286,9 +287,14 @@ Allocation of unique supply characters:
 mkAlphaTyVarUnique i            = mkUnique '1' i
 
 mkPreludeClassUnique i         = mkUnique '2' i
+
+-- Prelude type constructors occupy *three* slots.
+-- The first is for the tycon itself; the latter two
+-- are for the generic to/from Ids.  See TysWiredIn.mk_tc_gen_info.
+
 mkPreludeTyConUnique i         = mkUnique '3' (3*i)
-mkTupleTyConUnique Boxed   a   = mkUnique '4' a
-mkTupleTyConUnique Unboxed a   = mkUnique '5' a
+mkTupleTyConUnique Boxed   a   = mkUnique '4' (3*a)
+mkTupleTyConUnique Unboxed a   = mkUnique '5' (3*a)
 
 -- Data constructor keys occupy *two* slots.  The first is used for the
 -- data constructor itself and its wrapper function (the function that
@@ -324,15 +330,5 @@ mkBuiltinUnique i = mkUnique 'B' i
 mkPseudoUnique1 i = mkUnique 'C' i -- used for getUnique on Regs
 mkPseudoUnique2 i = mkUnique 'D' i -- used in NCG for getUnique on RealRegs
 mkPseudoUnique3 i = mkUnique 'E' i -- used in NCG spiller to create spill VirtualRegs
-
-
-
-getBuiltinUniques :: Int -> [Unique]
-getBuiltinUniques n = map (mkUnique 'B') [1 .. n]
-
-getNumBuiltinUniques :: Int        -- First unique
-                     -> Int        -- Number required
-                     -> [Unique]
-getNumBuiltinUniques base n = map (mkUnique 'B') [base .. base+n-1]
 \end{code}