/* ----------------------------------------------------------------------------
- * $Id: Constants.h,v 1.23 2003/03/25 16:06:39 sof Exp $
+ * $Id: Constants.h,v 1.25 2003/04/28 09:55:20 simonmar Exp $
*
* (c) The GHC Team, 1998-2002
*
This must be large enough to accomodate the largest stack frame
pushed in one of the heap check fragments in HeapStackCheck.hc
- (ie. currently the generic heap checks - 19 words).
+ (ie. currently the generic heap checks - 3 words for StgRetDyn,
+ 18 words for the saved registers, see StgMacros.h).
+
+ In the event of an unboxed tuple or let-no-escape stack/heap check
+ failure, there will be other words on the stack which are covered
+ by the RET_DYN frame. These will have been accounted for by stack
+ checks however, so we don't need to allow for them here.
-------------------------------------------------------------------------- */
-#define RESERVED_STACK_WORDS 19
+#define RESERVED_STACK_WORDS 21
/* -----------------------------------------------------------------------------
Storage manager constants
/* The size of a megablock (2^MBLOCK_SHIFT bytes) */
#define MBLOCK_SHIFT 20
-/* the largest size an object can be before we give it a block of its
- * own and treat it as an immovable object during GC, expressed as a
- * fraction of BLOCK_SIZE.
- */
-#define LARGE_OBJECT_THRESHOLD ((nat)(BLOCK_SIZE * 8 / 10))
-
/* -----------------------------------------------------------------------------
Bitmap/size fields (used in info tables)
-------------------------------------------------------------------------- */