projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
OccNames for closure conversion isomorphisms
[ghc-hetmet.git]
/
compiler
/
basicTypes
/
Unique.lhs
diff --git
a/compiler/basicTypes/Unique.lhs
b/compiler/basicTypes/Unique.lhs
index
8743288
..
a0b28f8
100644
(file)
--- a/
compiler/basicTypes/Unique.lhs
+++ b/
compiler/basicTypes/Unique.lhs
@@
-1,4
+1,5
@@
%
%
+% (c) The University of Glasgow 2006
% (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
%
% (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
%
@@
-49,15
+50,14
@@
module Unique (
#include "HsVersions.h"
#include "HsVersions.h"
-import BasicTypes ( Boxity(..) )
-import PackageConfig ( PackageId, packageIdFS )
-import FastString ( FastString, uniqueOfFS )
+import BasicTypes
+import PackageConfig
+import FastString
import Outputable
import FastTypes
import Outputable
import FastTypes
-import GLAEXTS
-
-import Char ( chr, ord )
+import GHC.Exts
+import Data.Char ( chr, ord )
\end{code}
%************************************************************************
\end{code}
%************************************************************************
@@
-120,25
+120,15
@@
i2w_s x = (x::Int#)
mkUnique (C# c) (I# i)
= MkUnique (w2i (tag `or#` bits))
where
mkUnique (C# c) (I# i)
= MkUnique (w2i (tag `or#` bits))
where
-#if __GLASGOW_HASKELL__ >= 503
tag = i2w (ord# c) `uncheckedShiftL#` i2w_s 24#
tag = i2w (ord# c) `uncheckedShiftL#` i2w_s 24#
-#else
- tag = i2w (ord# c) `shiftL#` i2w_s 24#
-#endif
bits = i2w i `and#` (i2w 16777215#){-``0x00ffffff''-}
unpkUnique (MkUnique u)
= let
bits = i2w i `and#` (i2w 16777215#){-``0x00ffffff''-}
unpkUnique (MkUnique u)
= let
- tag = C# (chr# (w2i ((i2w u) `shiftr` (i2w_s 24#))))
+ tag = C# (chr# (w2i ((i2w u) `uncheckedShiftRL#` (i2w_s 24#))))
i = I# (w2i ((i2w u) `and#` (i2w 16777215#){-``0x00ffffff''-}))
in
(tag, i)
i = I# (w2i ((i2w u) `and#` (i2w 16777215#){-``0x00ffffff''-}))
in
(tag, i)
- where
-#if __GLASGOW_HASKELL__ >= 503
- shiftr x y = uncheckedShiftRL# x y
-#else
- shiftr x y = shiftRL# x y
-#endif
\end{code}
\end{code}