We now use a nonTermination value in the base library to take take of
constructing the SomeException value, with the dictionaries etc, for us.
We'll probably need to do the same for some other exceptions too
-u "$(UNDERSCORE)base_GHCziPack_unpackCString_closure" \
-u "$(UNDERSCORE)base_GHCziIOBase_stackOverflow_closure" \
-u "$(UNDERSCORE)base_GHCziIOBase_heapOverflow_closure" \
-u "$(UNDERSCORE)base_GHCziPack_unpackCString_closure" \
-u "$(UNDERSCORE)base_GHCziIOBase_stackOverflow_closure" \
-u "$(UNDERSCORE)base_GHCziIOBase_heapOverflow_closure" \
- -u "$(UNDERSCORE)base_GHCziIOBase_NonTermination_closure" \
+ -u "$(UNDERSCORE)base_GHCziIOBase_nonTermination_closure" \
-u "$(UNDERSCORE)base_GHCziIOBase_BlockedOnDeadMVar_closure" \
-u "$(UNDERSCORE)base_GHCziIOBase_Deadlock_closure" \
-u "$(UNDERSCORE)base_GHCziWeak_runFinalizzerBatch_closure" \
-u "$(UNDERSCORE)base_GHCziIOBase_BlockedOnDeadMVar_closure" \
-u "$(UNDERSCORE)base_GHCziIOBase_Deadlock_closure" \
-u "$(UNDERSCORE)base_GHCziWeak_runFinalizzerBatch_closure" \
PrelIOBase_stackOverflow_closure
PrelIOBase_BlockedOnDeadMVar_closure
PrelIOBase_BlockedIndefinitely_closure
PrelIOBase_stackOverflow_closure
PrelIOBase_BlockedOnDeadMVar_closure
PrelIOBase_BlockedIndefinitely_closure
-PrelIOBase_NonTermination_closure
+PrelIOBase_nonTermination_closure
PrelWeak_runFinalizzerBatch_closure
__stginit_Prelude
PrelWeak_runFinalizzerBatch_closure
__stginit_Prelude
PRELUDE_CLOSURE(base_GHCziIOBase_heapOverflow_closure);
PRELUDE_CLOSURE(base_GHCziIOBase_BlockedOnDeadMVar_closure);
PRELUDE_CLOSURE(base_GHCziIOBase_BlockedIndefinitely_closure);
PRELUDE_CLOSURE(base_GHCziIOBase_heapOverflow_closure);
PRELUDE_CLOSURE(base_GHCziIOBase_BlockedOnDeadMVar_closure);
PRELUDE_CLOSURE(base_GHCziIOBase_BlockedIndefinitely_closure);
-PRELUDE_CLOSURE(base_GHCziIOBase_NonTermination_closure);
+PRELUDE_CLOSURE(base_GHCziIOBase_nonTermination_closure);
PRELUDE_CLOSURE(base_GHCziIOBase_NestedAtomically_closure);
PRELUDE_CLOSURE(base_GHCziConc_ensureIOManagerIsRunning_closure);
PRELUDE_CLOSURE(base_GHCziIOBase_NestedAtomically_closure);
PRELUDE_CLOSURE(base_GHCziConc_ensureIOManagerIsRunning_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 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 NonTermination_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_NonTermination_closure)
+#define nonTermination_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_nonTermination_closure)
#define NestedAtomically_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_NestedAtomically_closure)
#define Czh_static_info DLL_IMPORT_DATA_REF(base_GHCziBase_Czh_static_info)
#define NestedAtomically_closure DLL_IMPORT_DATA_REF(base_GHCziIOBase_NestedAtomically_closure)
#define Czh_static_info DLL_IMPORT_DATA_REF(base_GHCziBase_Czh_static_info)
case BlockedOnException:
case BlockedOnMVar:
throwToSingleThreaded(cap, task->tso,
case BlockedOnException:
case BlockedOnMVar:
throwToSingleThreaded(cap, task->tso,
- (StgClosure *)NonTermination_closure);
+ (StgClosure *)nonTermination_closure);
return;
default:
barf("deadlock: main thread blocked in a strange way");
return;
default:
barf("deadlock: main thread blocked in a strange way");
break;
case BlockedOnBlackHole:
throwToSingleThreaded(cap, tso,
break;
case BlockedOnBlackHole:
throwToSingleThreaded(cap, tso,
- (StgClosure *)NonTermination_closure);
+ (StgClosure *)nonTermination_closure);
break;
case BlockedOnSTM:
throwToSingleThreaded(cap, tso,
break;
case BlockedOnSTM:
throwToSingleThreaded(cap, tso,
, "-u", "_base_GHCziPack_unpackCString_closure"
, "-u", "_base_GHCziIOBase_stackOverflow_closure"
, "-u", "_base_GHCziIOBase_heapOverflow_closure"
, "-u", "_base_GHCziPack_unpackCString_closure"
, "-u", "_base_GHCziIOBase_stackOverflow_closure"
, "-u", "_base_GHCziIOBase_heapOverflow_closure"
- , "-u", "_base_GHCziIOBase_NonTermination_closure"
+ , "-u", "_base_GHCziIOBase_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_GHCziIOBase_Deadlock_closure"
, "-u", "base_GHCziPack_unpackCString_closure"
, "-u", "base_GHCziIOBase_stackOverflow_closure"
, "-u", "base_GHCziIOBase_heapOverflow_closure"
, "-u", "base_GHCziPack_unpackCString_closure"
, "-u", "base_GHCziIOBase_stackOverflow_closure"
, "-u", "base_GHCziIOBase_heapOverflow_closure"
- , "-u", "base_GHCziIOBase_NonTermination_closure"
+ , "-u", "base_GHCziIOBase_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_GHCziIOBase_Deadlock_closure"