X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FThreadPaused.c;h=96a23673a7348da0011a6bf2a24a4e65353c3c6d;hb=f4b727487a65e6b611bbaafbd2207bd63a8df706;hp=58c30e330e1a147abe5066c0a1a049a1aa9f7f30;hpb=a2a67cd520b9841114d69a87a423dabcb3b4368e;p=ghc-hetmet.git diff --git a/rts/ThreadPaused.c b/rts/ThreadPaused.c index 58c30e3..96a2367 100644 --- a/rts/ThreadPaused.c +++ b/rts/ThreadPaused.c @@ -317,5 +317,10 @@ end: if (RtsFlags.GcFlags.squeezeUpdFrames == rtsTrue && ((weight <= 5 && words_to_squeeze > 0) || weight < words_to_squeeze)) { stackSqueeze(tso, (StgPtr)frame); + tso->flags |= TSO_SQUEEZED; + // This flag tells threadStackOverflow() that the stack was + // squeezed, because it may not need to be expanded. + } else { + tso->flags &= ~TSO_SQUEEZED; } }