summaryrefslogtreecommitdiff
path: root/rts/ThreadPaused.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/ThreadPaused.c')
-rw-r--r--rts/ThreadPaused.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/rts/ThreadPaused.c b/rts/ThreadPaused.c
index d01be291d3..a916891aa8 100644
--- a/rts/ThreadPaused.c
+++ b/rts/ThreadPaused.c
@@ -149,7 +149,7 @@ stackSqueeze(Capability *cap, StgTSO *tso, StgPtr bottom)
// | ********* |
// -| ********* |
//
- // 'sp' points the the current top-of-stack
+ // 'sp' points the current top-of-stack
// 'gap' points to the stack_gap structure inside the gap
// ***** indicates real stack data
// ..... indicates gap
@@ -306,13 +306,6 @@ threadPaused(Capability *cap, StgTSO *tso)
continue;
}
- // We should never have made it here in the event of blackholes that
- // we already own; they should have been marked when we blackholed
- // them and consequently we should have stopped our stack walk
- // above.
- ASSERT(!((bh_info == &stg_BLACKHOLE_info)
- && (((StgInd*)bh)->indirectee == (StgClosure*)tso)));
-
// zero out the slop so that the sanity checker can tell
// where the next closure is.
OVERWRITING_CLOSURE(bh);
@@ -329,6 +322,10 @@ threadPaused(Capability *cap, StgTSO *tso)
if (cur_bh_info != bh_info) {
bh_info = cur_bh_info;
+#if defined(PROF_SPIN)
+ ++whitehole_threadPaused_spin;
+#endif
+ busy_wait_nop();
goto retry;
}
#endif