projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Generalise Package Support
[ghc-hetmet.git]
/
compiler
/
stgSyn
/
StgSyn.lhs
diff --git
a/compiler/stgSyn/StgSyn.lhs
b/compiler/stgSyn/StgSyn.lhs
index
f1c50cc
..
74832a2
100644
(file)
--- a/
compiler/stgSyn/StgSyn.lhs
+++ b/
compiler/stgSyn/StgSyn.lhs
@@
-52,6
+52,7
@@
import Var ( isId )
import Id ( Id, idName, idType, idCafInfo )
import IdInfo ( mayHaveCafRefs )
import Packages ( isDllName )
import Id ( Id, idName, idType, idCafInfo )
import IdInfo ( mayHaveCafRefs )
import Packages ( isDllName )
+import PackageConfig ( PackageId )
import Literal ( Literal, literalType )
import ForeignCall ( ForeignCall )
import DataCon ( DataCon, dataConName )
import Literal ( Literal, literalType )
import ForeignCall ( ForeignCall )
import DataCon ( DataCon, dataConName )
@@
-65,8
+66,6
@@
import TyCon ( TyCon )
import UniqSet ( isEmptyUniqSet, uniqSetToList, UniqSet )
import Unique ( Unique )
import Bitmap
import UniqSet ( isEmptyUniqSet, uniqSetToList, UniqSet )
import Unique ( Unique )
import Bitmap
-import DynFlags ( DynFlags )
-import Packages ( HomeModules )
import StaticFlags ( opt_SccProfilingOn )
\end{code}
import StaticFlags ( opt_SccProfilingOn )
\end{code}
@@
-106,18
+105,18
@@
data GenStgArg occ
isStgTypeArg (StgTypeArg _) = True
isStgTypeArg other = False
isStgTypeArg (StgTypeArg _) = True
isStgTypeArg other = False
-isDllArg :: HomeModules -> StgArg -> Bool
+isDllArg :: PackageId -> StgArg -> Bool
-- Does this argument refer to something in a different DLL?
-- Does this argument refer to something in a different DLL?
-isDllArg hmods (StgTypeArg v) = False
-isDllArg hmods (StgVarArg v) = isDllName hmods (idName v)
-isDllArg hmods (StgLitArg lit) = False
+isDllArg this_pkg (StgTypeArg v) = False
+isDllArg this_pkg (StgVarArg v) = isDllName this_pkg (idName v)
+isDllArg this_pkg (StgLitArg lit) = False
-isDllConApp :: HomeModules -> DataCon -> [StgArg] -> Bool
+isDllConApp :: PackageId -> DataCon -> [StgArg] -> Bool
-- Does this constructor application refer to
-- anything in a different DLL?
-- If so, we can't allocate it statically
-- Does this constructor application refer to
-- anything in a different DLL?
-- If so, we can't allocate it statically
-isDllConApp hmods con args
- = isDllName hmods (dataConName con) || any (isDllArg hmods) args
+isDllConApp this_pkg con args
+ = isDllName this_pkg (dataConName con) || any (isDllArg this_pkg) args
stgArgType :: StgArg -> Type
-- Very half baked becase we have lost the type arguments
stgArgType :: StgArg -> Type
-- Very half baked becase we have lost the type arguments