diff options
author | Kavon Farvardin <kavon@farvard.in> | 2018-09-23 15:29:37 -0500 |
---|---|---|
committer | Kavon Farvardin <kavon@farvard.in> | 2018-09-23 15:29:37 -0500 |
commit | 84c2ad99582391005b5e873198b15e9e9eb4f78d (patch) | |
tree | caa8c2f2ec7e97fbb4977263c6817c9af5025cf4 /rts/Stable.h | |
parent | 8ddb47cfcf5776e9a3c55fd37947c8a95e00fa12 (diff) | |
parent | e68b439fe5de61b9a2ca51af472185c62ccb8b46 (diff) | |
download | haskell-wip/T13904.tar.gz |
update to current master againwip/T13904
Diffstat (limited to 'rts/Stable.h')
-rw-r--r-- | rts/Stable.h | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/rts/Stable.h b/rts/Stable.h deleted file mode 100644 index 399a2b3877..0000000000 --- a/rts/Stable.h +++ /dev/null @@ -1,51 +0,0 @@ -/* ----------------------------------------------------------------------------- - * - * (c) The GHC Team, 1998-2004 - * - * Stable Pointers: A stable pointer is represented as an index into - * the stable pointer table. - * - * StgStablePtr used to be a synonym for StgWord, but stable pointers - * are guaranteed to be void* on the C-side, so we have to do some - * occasional casting. Size is not a matter, because StgWord is always - * the same size as a void*. - * - * ---------------------------------------------------------------------------*/ - -#pragma once - -#include "sm/GC.h" // for evac_fn below - -#include "BeginPrivate.h" - -void freeStablePtr ( StgStablePtr sp ); - -/* Use the "Unsafe" one after manually locking with stableLock/stableUnlock */ -void freeStablePtrUnsafe ( StgStablePtr sp ); - -void initStableTables ( void ); -void exitStableTables ( void ); -StgWord lookupStableName ( StgPtr p ); - -/* Call given function on every stable ptr. markStableTables depends - * on the function updating its pointers in case the object is - * moved. */ -/* TODO: This also remembers old stable name addresses, which isn't - * necessary in some contexts markStableTables is called from. - * Consider splitting it. - */ -void markStableTables ( evac_fn evac, void *user ); - -void threadStableTables ( evac_fn evac, void *user ); -void gcStableTables ( void ); -void updateStableTables ( bool full ); - -void stableLock ( void ); -void stableUnlock ( void ); - -#if defined(THREADED_RTS) -// needed by Schedule.c:forkProcess() -extern Mutex stable_mutex; -#endif - -#include "EndPrivate.h" |