X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FabsCSyn%2FCLabel.lhs;h=c8712f5f17a94e7a5ec8680b7def072129eecafb;hb=fb7a723bfd7650a705cb226e07c5b08b7a8e9279;hp=a40f55944d28c114e9e212c2c28151c0f6372d75;hpb=47eef4b5780f0a5b5a37847097842daebd0f9285;p=ghc-hetmet.git diff --git a/ghc/compiler/absCSyn/CLabel.lhs b/ghc/compiler/absCSyn/CLabel.lhs index a40f559..c8712f5 100644 --- a/ghc/compiler/absCSyn/CLabel.lhs +++ b/ghc/compiler/absCSyn/CLabel.lhs @@ -1,7 +1,7 @@ % % (c) The GRASP/AQUA Project, Glasgow University, 1992-1998 % -% $Id: CLabel.lhs,v 1.41 2000/11/06 08:15:20 simonpj Exp $ +% $Id: CLabel.lhs,v 1.47 2001/09/04 18:29:20 ken Exp $ % \section[CLabel]{@CLabel@: Information to make C Labels} @@ -48,6 +48,7 @@ module CLabel ( mkCharlikeClosureLabel, mkIntlikeClosureLabel, mkMAP_FROZEN_infoLabel, + mkEMPTY_MVAR_infoLabel, mkTopTickyCtrLabel, mkBlackHoleInfoTableLabel, @@ -85,11 +86,11 @@ import CmdLineOpts ( opt_Static, opt_DoTickyProfiling ) 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} @@ -246,19 +247,20 @@ mkStgUpdatePAPLabel = RtsLabel (Rts_Code "stg_update_PAP") mkSplitMarkerLabel = RtsLabel (Rts_Code "__stg_split_marker") mkUpdInfoLabel = RtsLabel RtsUpdInfo mkSeqInfoLabel = RtsLabel RtsSeqInfo -mkIndInfoLabel = RtsLabel (Rts_Info "IND_info") -mkIndStaticInfoLabel = RtsLabel (Rts_Info "IND_STATIC_info") +mkIndInfoLabel = RtsLabel (Rts_Info "stg_IND_info") +mkIndStaticInfoLabel = RtsLabel (Rts_Info "stg_IND_STATIC_info") mkRtsGCEntryLabel str = RtsLabel (RtsGCEntryLabel str) mkMainRegTableLabel = RtsLabel RtsMainRegTable -mkCharlikeClosureLabel = RtsLabel (Rts_Closure "CHARLIKE_closure") -mkIntlikeClosureLabel = RtsLabel (Rts_Closure "INTLIKE_closure") -mkMAP_FROZEN_infoLabel = RtsLabel (Rts_Info "MUT_ARR_PTRS_FROZEN_info") +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("BLACKHOLE_info")) -mkCAFBlackHoleInfoTableLabel = RtsLabel (RtsBlackHoleInfoTbl SLIT("CAF_BLACKHOLE_info")) +mkBlackHoleInfoTableLabel = RtsLabel (RtsBlackHoleInfoTbl SLIT("stg_BLACKHOLE_info")) +mkCAFBlackHoleInfoTableLabel = RtsLabel (RtsBlackHoleInfoTbl SLIT("stg_CAF_BLACKHOLE_info")) mkSECAFBlackHoleInfoTableLabel = if opt_DoTickyProfiling then - RtsLabel (RtsBlackHoleInfoTbl SLIT("SE_CAF_BLACKHOLE_info")) + RtsLabel (RtsBlackHoleInfoTbl SLIT("stg_SE_CAF_BLACKHOLE_info")) else -- RTS won't have info table unless -ticky is on panic "mkSECAFBlackHoleInfoTableLabel requires -ticky" mkRtsPrimOpLabel primop = RtsLabel (RtsPrimOp primop) @@ -387,7 +389,7 @@ labelDynamic lbl = 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} @@ -467,8 +469,8 @@ pprCLbl (RtsLabel RtsShouldNeverHappenCode) = ptext SLIT("NULL") -- used to be stg_error_entry but Windows can't have DLL entry points as static -- initialisers, and besides, this ShouldNeverHappen, right? -pprCLbl (RtsLabel RtsUpdInfo) = ptext SLIT("upd_frame_info") -pprCLbl (RtsLabel RtsSeqInfo) = ptext SLIT("seq_frame_info") +pprCLbl (RtsLabel RtsUpdInfo) = ptext SLIT("stg_upd_frame_info") +pprCLbl (RtsLabel RtsSeqInfo) = ptext SLIT("stg_seq_frame_info") pprCLbl (RtsLabel RtsMainRegTable) = ptext SLIT("MainRegTable") pprCLbl (RtsLabel (RtsGCEntryLabel str)) = text str pprCLbl (RtsLabel (Rts_Closure str)) = text str @@ -480,35 +482,35 @@ pprCLbl (RtsLabel RtsTopTickyCtr) = ptext SLIT("top_ct") pprCLbl (RtsLabel (RtsBlackHoleInfoTbl info)) = ptext info pprCLbl (RtsLabel (RtsSelectorInfoTbl upd_reqd offset)) - = hcat [ptext SLIT("__sel_"), text (show offset), + = hcat [ptext SLIT("stg_sel_"), text (show offset), ptext (if upd_reqd then SLIT("_upd_info") else SLIT("_noupd_info")) ] pprCLbl (RtsLabel (RtsSelectorEntry upd_reqd offset)) - = hcat [ptext SLIT("__sel_"), text (show offset), + = hcat [ptext SLIT("stg_sel_"), text (show offset), ptext (if upd_reqd then SLIT("_upd_entry") else SLIT("_noupd_entry")) ] pprCLbl (RtsLabel (RtsApInfoTbl upd_reqd arity)) - = hcat [ptext SLIT("__ap_"), text (show arity), + = hcat [ptext SLIT("stg_ap_"), text (show arity), ptext (if upd_reqd then SLIT("_upd_info") else SLIT("_noupd_info")) ] pprCLbl (RtsLabel (RtsApEntry upd_reqd arity)) - = hcat [ptext SLIT("__ap_"), text (show arity), + = hcat [ptext SLIT("stg_ap_"), text (show arity), ptext (if upd_reqd then SLIT("_upd_entry") else SLIT("_noupd_entry")) ] pprCLbl (RtsLabel (RtsPrimOp primop)) - = pprPrimOp primop <> ptext SLIT("_fast") + = ppr primop <> ptext SLIT("_fast") pprCLbl (RtsLabel RtsModuleRegd) = ptext SLIT("module_registered") @@ -526,7 +528,7 @@ pprCLbl (CC_Label cc) = ppr cc 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