/* -----------------------------------------------------------------------------
- * $Id: PrimOps.h,v 1.89 2001/12/14 15:26:16 sewardj Exp $
+ * $Id: PrimOps.h,v 1.91 2002/03/02 17:51:22 sof Exp $
*
* (c) The GHC Team, 1998-2000
*
* we use a crude approximation, testing whether either operand is
* larger than 32-bits; if neither is, then we go ahead with the
* multiplication.
+ *
+ * Return non-zero if there is any possibility that the signed multiply
+ * of a and b might overflow. Return zero only if you are absolutely sure
+ * that it won't overflow. If in doubt, return non-zero.
*/
#if SIZEOF_VOID_P == 4
/* -----------------------------------------------------------------------------
+ Constructor tags
+ -------------------------------------------------------------------------- */
+
+/*
+ * This macro is only used when compiling unregisterised code (see
+ * AbsCUtils.dsCOpStmt for motivation & the Story).
+ */
+#ifndef TABLES_NEXT_TO_CODE
+# define dataToTagzh(r,a) r=(GET_TAG(((StgClosure *)a)->header.info))
+#endif
+
+/* -----------------------------------------------------------------------------
BCOs and BCO linkery
-------------------------------------------------------------------------- */