Commit cbc5fb05 authored by Ian Lynagh's avatar Ian Lynagh

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.
parent f7612a64
......@@ -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)
......
......@@ -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
......
......@@ -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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment