Be cleverer in dataConCannotMatch, fixes Trac #5168
[ghc-hetmet.git] / includes / rts / Ticky.h
1 /* -----------------------------------------------------------------------------
2  *
3  * (c) The GHC Team, 1998-2009
4  *
5  * TICKY_TICKY types
6  *
7  * Do not #include this file directly: #include "Rts.h" instead.
8  *
9  * To understand the structure of the RTS headers, see the wiki:
10  *   http://hackage.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes
11  *
12  * ---------------------------------------------------------------------------*/
13
14 #ifndef RTS_TICKY_H
15 #define RTS_TICKY_H
16
17 /* -----------------------------------------------------------------------------
18    The StgEntCounter type - needed regardless of TICKY_TICKY
19    -------------------------------------------------------------------------- */
20
21 typedef struct _StgEntCounter {
22   /* Using StgWord for everything, becuase both the C and asm code
23      generators make trouble if you try to pack things tighter */
24     StgWord     registeredp;    /* 0 == no, 1 == yes */
25     StgInt      arity;          /* arity (static info) */
26     StgInt      stk_args;       /* # of args off stack */
27                                 /* (rest of args are in registers) */
28     char        *str;           /* name of the thing */
29     char        *arg_kinds;     /* info about the args types */
30     StgInt      entry_count;    /* Trips to fast entry code */
31     StgInt      allocs;         /* number of allocations by this fun */
32     struct _StgEntCounter *link;/* link to chain them all together */
33 } StgEntCounter;
34
35 #endif /* RTS_TICKY_H */
36