%
% (c) The GRASP/AQUA Project, Glasgow University, 1992-1998
%
-% $Id: CLabel.lhs,v 1.42 2000/11/13 14:40:38 simonmar Exp $
+% $Id: CLabel.lhs,v 1.47 2001/09/04 18:29:20 ken Exp $
%
\section[CLabel]{@CLabel@: Information to make C Labels}
mkCharlikeClosureLabel,
mkIntlikeClosureLabel,
mkMAP_FROZEN_infoLabel,
+ mkEMPTY_MVAR_infoLabel,
mkTopTickyCtrLabel,
mkBlackHoleInfoTableLabel,
import CStrings ( pp_cSEP )
import DataCon ( ConTag )
import Module ( moduleName, moduleNameFS,
- Module, isModuleInThisPackage )
+ Module, isHomeModule )
import Name ( Name, getName, isDllName, isExternallyVisibleName )
import TyCon ( TyCon )
import Unique ( pprUnique, Unique )
-import PrimOp ( PrimOp, pprPrimOp )
+import PrimOp ( PrimOp )
import CostCentre ( CostCentre, CostCentreStack )
import Outputable
\end{code}
mkCharlikeClosureLabel = RtsLabel (Rts_Closure "stg_CHARLIKE_closure")
mkIntlikeClosureLabel = RtsLabel (Rts_Closure "stg_INTLIKE_closure")
mkMAP_FROZEN_infoLabel = RtsLabel (Rts_Info "stg_MUT_ARR_PTRS_FROZEN_info")
+mkEMPTY_MVAR_infoLabel = RtsLabel (Rts_Info "stg_EMPTY_MVAR_info")
mkTopTickyCtrLabel = RtsLabel RtsTopTickyCtr
mkBlackHoleInfoTableLabel = RtsLabel (RtsBlackHoleInfoTbl SLIT("stg_BLACKHOLE_info"))
DataConLabel n k -> isDllName n
TyConLabel tc -> isDllName (getName tc)
ForeignLabel _ d -> d
- ModuleInitLabel m -> (not opt_Static) && (not (isModuleInThisPackage m))
+ ModuleInitLabel m -> (not opt_Static) && (not (isHomeModule m))
_ -> False
\end{code}
]
pprCLbl (RtsLabel (RtsPrimOp primop))
- = pprPrimOp primop <> ptext SLIT("_fast")
+ = ppr primop <> ptext SLIT("_fast")
pprCLbl (RtsLabel RtsModuleRegd)
= ptext SLIT("module_registered")
pprCLbl (CCS_Label ccs) = ppr ccs
pprCLbl (ModuleInitLabel mod)
- = ptext SLIT("__init_") <> ptext (moduleNameFS (moduleName mod))
+ = ptext SLIT("__stginit_") <> ptext (moduleNameFS (moduleName mod))
ppIdFlavor :: IdLabelInfo -> SDoc