From: Ian Lynagh Date: Thu, 21 Aug 2008 11:06:20 +0000 (+0000) Subject: Fix references to exceptions from the RTS X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=cbc5fb05036f3c1990b2f9f91b9e1c66b97a392f Fix references to exceptions from the RTS We now need to make sure that they have been toException'd. Also, the RTS doesn't know about the Deadlock exception any more. --- diff --git a/rts/Prelude.h b/rts/Prelude.h index 9b27d2f..6eb1311 100644 --- a/rts/Prelude.h +++ b/rts/Prelude.h @@ -37,8 +37,8 @@ extern StgClosure ZCMain_main_closure; PRELUDE_CLOSURE(base_GHCziIOBase_stackOverflow_closure); PRELUDE_CLOSURE(base_GHCziIOBase_heapOverflow_closure); -PRELUDE_CLOSURE(base_GHCziIOBase_BlockedOnDeadMVar_closure); -PRELUDE_CLOSURE(base_GHCziIOBase_BlockedIndefinitely_closure); +PRELUDE_CLOSURE(base_GHCziIOBase_blockedOnDeadMVar_closure); +PRELUDE_CLOSURE(base_GHCziIOBase_blockedIndefinitely_closure); PRELUDE_CLOSURE(base_ControlziExceptionziBase_nonTermination_closure); PRELUDE_CLOSURE(base_ControlziExceptionziBase_nestedAtomically_closure); @@ -87,10 +87,10 @@ PRELUDE_INFO(base_GHCziStable_StablePtr_con_info); #define stackOverflow_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_stackOverflow_closure) #define heapOverflow_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_heapOverflow_closure) -#define BlockedOnDeadMVar_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_BlockedOnDeadMVar_closure) -#define BlockedIndefinitely_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_BlockedIndefinitely_closure) +#define blockedOnDeadMVar_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_blockedOnDeadMVar_closure) +#define blockedIndefinitely_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_blockedIndefinitely_closure) #define nonTermination_closure DLL_IMPORT_DATA_REF(base_ControlziExceptionziBase_nonTermination_closure) -#define NestedAtomically_closure DLL_IMPORT_DATA_REF(base_ControlziExceptionziBase_nestedAtomically_closure) +#define nestedAtomically_closure DLL_IMPORT_DATA_REF(base_ControlziExceptionziBase_nestedAtomically_closure) #define Czh_static_info DLL_IMPORT_DATA_REF(ghczmprim_GHCziTypes_Czh_static_info) #define Fzh_static_info DLL_IMPORT_DATA_REF(ghczmprim_GHCziTypes_Fzh_static_info) diff --git a/rts/Schedule.c b/rts/Schedule.c index a9ea81b..537cee0 100644 --- a/rts/Schedule.c +++ b/rts/Schedule.c @@ -3152,7 +3152,7 @@ resurrectThreads (StgTSO *threads) case BlockedOnException: /* Called by GC - sched_mutex lock is currently held. */ throwToSingleThreaded(cap, tso, - (StgClosure *)BlockedOnDeadMVar_closure); + (StgClosure *)blockedOnDeadMVar_closure); break; case BlockedOnBlackHole: throwToSingleThreaded(cap, tso, @@ -3160,7 +3160,7 @@ resurrectThreads (StgTSO *threads) break; case BlockedOnSTM: throwToSingleThreaded(cap, tso, - (StgClosure *)BlockedIndefinitely_closure); + (StgClosure *)blockedIndefinitely_closure); break; case NotBlocked: /* This might happen if the thread was blocked on a black hole diff --git a/rts/package.conf.in b/rts/package.conf.in index bac7883..7ebcbc6 100644 --- a/rts/package.conf.in +++ b/rts/package.conf.in @@ -106,9 +106,8 @@ ld-options: , "-u", "_base_GHCziIOBase_stackOverflow_closure" , "-u", "_base_GHCziIOBase_heapOverflow_closure" , "-u", "_base_ControlziExceptionziBase_nonTermination_closure" - , "-u", "_base_GHCziIOBase_BlockedOnDeadMVar_closure" - , "-u", "_base_GHCziIOBase_BlockedIndefinitely_closure" - , "-u", "_base_GHCziIOBase_Deadlock_closure" + , "-u", "_base_GHCziIOBase_blockedOnDeadMVar_closure" + , "-u", "_base_GHCziIOBase_blockedIndefinitely_closure" , "-u", "_base_ControlziExceptionziBase_nestedAtomically_closure" , "-u", "_base_GHCziWeak_runFinalizzerBatch_closure" #else @@ -140,9 +139,8 @@ ld-options: , "-u", "base_GHCziIOBase_stackOverflow_closure" , "-u", "base_GHCziIOBase_heapOverflow_closure" , "-u", "base_ControlziExceptionziBase_nonTermination_closure" - , "-u", "base_GHCziIOBase_BlockedOnDeadMVar_closure" - , "-u", "base_GHCziIOBase_BlockedIndefinitely_closure" - , "-u", "base_GHCziIOBase_Deadlock_closure" + , "-u", "base_GHCziIOBase_blockedOnDeadMVar_closure" + , "-u", "base_GHCziIOBase_blockedIndefinitely_closure" , "-u", "base_ControlziExceptionziBase_nestedAtomically_closure" , "-u", "base_GHCziWeak_runFinalizzerBatch_closure" #endif