Add an ASSERT to catch a known bug: when allocating an AP_UPD in
raiseAsync, if the object is larger than a block in size then all
sorts of things can go wrong.
/* ---------------------------------------------------------------------------
- * $Id: Schedule.c,v 1.57 2000/03/20 09:42:50 andy Exp $
+ * $Id: Schedule.c,v 1.58 2000/03/30 15:35:13 simonmar Exp $
*
* (c) The GHC Team, 1998-2000
*
*/
ap = (StgAP_UPD *)allocate(AP_sizeW(words));
+ /* ToDo: allocating an AP_UPD more than a block in size doesn't
+ * work, and will cause the GC to break later on.
+ */
+ ASSERT(AP_sizeW(words) <= BLOCK_SIZE_W);
+
ASSERT(words >= 0);
ap->n_args = words;