diff options
Diffstat (limited to 'includes/rts/StaticPtrTable.h')
-rw-r--r-- | includes/rts/StaticPtrTable.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/includes/rts/StaticPtrTable.h b/includes/rts/StaticPtrTable.h new file mode 100644 index 0000000000..8b56510223 --- /dev/null +++ b/includes/rts/StaticPtrTable.h @@ -0,0 +1,32 @@ +/* ----------------------------------------------------------------------------- + * + * (c) The GHC Team, 2008-2009 + * + * Initialization of the Static Pointer Table + * + * Do not #include this file directly: #include "Rts.h" instead. + * + * To understand the structure of the RTS headers, see the wiki: + * http://ghc.haskell.org/trac/ghc/wiki/Commentary/SourceTree/Includes + * + * -------------------------------------------------------------------------- */ + +#ifndef RTS_STATICPTRTABLE_H +#define RTS_STATICPTRTABLE_H + +/** Inserts an entry in the Static Pointer Table. + * + * The key is a fingerprint computed from the StaticName of a static pointer + * and the spe_closure is a pointer to the closure defining the table entry + * (GHC.SptEntry). + * + * A stable pointer to the closure is made to prevent it from being garbage + * collected while the entry exists on the table. + * + * This function is called from the code generated by + * compiler/deSugar/StaticPtrTable.sptInitCode + * + * */ +void hs_spt_insert (StgWord64 key[2],void* spe_closure); + +#endif /* RTS_STATICPTRTABLE_H */ |