[project @ 2005-09-12 16:00:43 by simonmar]
authorsimonmar <unknown>
Mon, 12 Sep 2005 16:00:43 +0000 (16:00 +0000)
committersimonmar <unknown>
Mon, 12 Sep 2005 16:00:43 +0000 (16:00 +0000)
raiseAsync_: raise_info closure is header + MIN_UPD_SIZE, not header +
1 words.  (MIN_UPD_SIZE is 1 in the HEAD so this has no effect, but
it'll make a difference on STABLE).

ghc/rts/Schedule.c

index 2f94cf0..a496c3d 100644 (file)
@@ -3816,7 +3816,7 @@ raiseAsync_(StgTSO *tso, StgClosure *exception, rtsBool stop_at_atomically)
            // we've got an exception to raise, so let's pass it to the
            // handler in this frame.
            //
-           raise = (StgThunk *)allocate(sizeofW(StgThunk)+1);
+           raise = (StgThunk *)allocate(sizeofW(StgThunk)+MIN_UPD_SIZE);
            TICK_ALLOC_SE_THK(1,0);
            SET_HDR(raise,&stg_raise_info,cf->header.prof.ccs);
            raise->payload[0] = exception;