X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FStgMiscClosures.cmm;h=d22a880917785b09e455c1277287a6fdfba9d660;hb=27de38efce6d73d2a0209f803cfa98c82773e773;hp=88490b8c759f938faf1ba070a7371bd18f272ab0;hpb=decf06a77b1331d3af9304e55164bb0a51c15a7f;p=ghc-hetmet.git diff --git a/rts/StgMiscClosures.cmm b/rts/StgMiscClosures.cmm index 88490b8..d22a880 100644 --- a/rts/StgMiscClosures.cmm +++ b/rts/StgMiscClosures.cmm @@ -12,13 +12,11 @@ #include "Cmm.h" -#ifdef __PIC__ import pthread_mutex_lock; +import ghczmprim_GHCziTypes_Czh_static_info; +import ghczmprim_GHCziTypes_Izh_static_info; import EnterCriticalSection; import LeaveCriticalSection; -import base_GHCziBase_Czh_static_info; -import base_GHCziBase_Izh_static_info; -#endif /* ---------------------------------------------------------------------------- Support for the bytecode interpreter. @@ -311,7 +309,7 @@ INFO_TABLE(stg_BLACKHOLE,0,1,BLACKHOLE,"BLACKHOLE","BLACKHOLE") #endif /* Put ourselves on the blackhole queue */ - StgTSO_link(CurrentTSO) = W_[blackhole_queue]; + StgTSO__link(CurrentTSO) = W_[blackhole_queue]; W_[blackhole_queue] = CurrentTSO; /* jot down why and on what closure we are blocked */ @@ -376,7 +374,7 @@ INFO_TABLE(stg_CAF_BLACKHOLE,0,1,CAF_BLACKHOLE,"CAF_BLACKHOLE","CAF_BLACKHOLE") #endif /* Put ourselves on the blackhole queue */ - StgTSO_link(CurrentTSO) = W_[blackhole_queue]; + StgTSO__link(CurrentTSO) = W_[blackhole_queue]; W_[blackhole_queue] = CurrentTSO; /* jot down why and on what closure we are blocked */ @@ -396,12 +394,9 @@ INFO_TABLE(stg_SE_CAF_BLACKHOLE,0,1,SE_CAF_BLACKHOLE,"SE_CAF_BLACKHOLE","SE_CAF_ /* ---------------------------------------------------------------------------- Whiteholes are used for the "locked" state of a closure (see lockClosure()) - - The closure type is BLAKCHOLE, just because we need a valid closure type - for sanity checking. ------------------------------------------------------------------------- */ -INFO_TABLE(stg_WHITEHOLE, 0,0, BLACKHOLE, "WHITEHOLE", "WHITEHOLE") +INFO_TABLE(stg_WHITEHOLE, 0,0, WHITEHOLE, "WHITEHOLE", "WHITEHOLE") { foreign "C" barf("WHITEHOLE object entered!") never returns; } /* ---------------------------------------------------------------------------- @@ -414,14 +409,6 @@ INFO_TABLE(stg_TSO, 0,0,TSO, "TSO", "TSO") { foreign "C" barf("TSO object entered!") never returns; } /* ---------------------------------------------------------------------------- - Evacuees are left behind by the garbage collector. Any attempt to enter - one is a real bug. - ------------------------------------------------------------------------- */ - -INFO_TABLE(stg_EVACUATED,1,0,EVACUATED,"EVACUATED","EVACUATED") -{ foreign "C" barf("EVACUATED object entered!") never returns; } - -/* ---------------------------------------------------------------------------- Weak pointers Live weak pointers have a special closure type. Dead ones are just @@ -467,11 +454,11 @@ INFO_TABLE(stg_STABLE_NAME,0,1,STABLE_NAME,"STABLE_NAME","STABLE_NAME") and entry code for each type. ------------------------------------------------------------------------- */ -INFO_TABLE(stg_FULL_MVAR,3,0,MVAR,"MVAR","MVAR") -{ foreign "C" barf("FULL_MVAR object entered!") never returns; } +INFO_TABLE(stg_MVAR_CLEAN,3,0,MVAR_CLEAN,"MVAR","MVAR") +{ foreign "C" barf("MVAR object entered!") never returns; } -INFO_TABLE(stg_EMPTY_MVAR,3,0,MVAR,"MVAR","MVAR") -{ foreign "C" barf("EMPTY_MVAR object entered!") never returns; } +INFO_TABLE(stg_MVAR_DIRTY,3,0,MVAR_DIRTY,"MVAR","MVAR") +{ foreign "C" barf("MVAR object entered!") never returns; } /* ----------------------------------------------------------------------------- STM @@ -608,11 +595,11 @@ CLOSURE(stg_dummy_ret_closure,stg_dummy_ret); * */ #warning Is this correct? _imp is a pointer! -#define Char_hash_static_info _imp__base_GHCziBase_Czh_static -#define Int_hash_static_info _imp__base_GHCziBase_Izh_static +#define Char_hash_static_info _imp__ghczmprim_GHCziTypes_Czh_static_info +#define Int_hash_static_info _imp__ghczmprim_GHCziTypes_Izh_static_info #else -#define Char_hash_static_info base_GHCziBase_Czh_static -#define Int_hash_static_info base_GHCziBase_Izh_static +#define Char_hash_static_info ghczmprim_GHCziTypes_Czh_static_info +#define Int_hash_static_info ghczmprim_GHCziTypes_Izh_static_info #endif