X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FStable.c;h=c46f8b2b9e40055871fdabfa648ec84b97d071ff;hb=d8334d807812e40f67770ffc37608c0ce66f96b2;hp=97796b89a79b843fb59d69d8e51de2d1a58256cd;hpb=d9275dd06ee24575ff50a6696fe7fe1e1fa91ac7;p=ghc-hetmet.git diff --git a/rts/Stable.c b/rts/Stable.c index 97796b8..c46f8b2 100644 --- a/rts/Stable.c +++ b/rts/Stable.c @@ -8,13 +8,10 @@ #include "PosixSource.h" #include "Rts.h" +#include "RtsAPI.h" + #include "Hash.h" #include "RtsUtils.h" -#include "OSThreads.h" -#include "Storage.h" -#include "RtsAPI.h" -#include "RtsFlags.h" -#include "OSThreads.h" #include "Trace.h" #include "Stable.h" @@ -83,6 +80,8 @@ static unsigned int SPT_size = 0; static Mutex stable_mutex; #endif +static void enlargeStablePtrTable(void); + /* This hash table maps Haskell objects to stable names, so that every * call to lookupStableName on a given object will return the same * stable name. @@ -189,9 +188,7 @@ removeIndirections(StgClosure* p) while (get_itbl(q)->type == IND || get_itbl(q)->type == IND_STATIC || - get_itbl(q)->type == IND_OLDGEN || - get_itbl(q)->type == IND_PERM || - get_itbl(q)->type == IND_OLDGEN_PERM ) { + get_itbl(q)->type == IND_PERM) { q = ((StgInd *)q)->indirectee; tag = GET_CLOSURE_TAG(q); q = UNTAG_CLOSURE(q); @@ -300,7 +297,7 @@ freeStablePtr(StgStablePtr sp) RELEASE_LOCK(&stable_mutex); } -void +static void enlargeStablePtrTable(void) { nat old_SPT_size = SPT_size;