projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Build primitive with stage2
[ghc-hetmet.git]
/
rts
/
Stable.c
diff --git
a/rts/Stable.c
b/rts/Stable.c
index
97796b8
..
c46f8b2
100644
(file)
--- a/
rts/Stable.c
+++ b/
rts/Stable.c
@@
-8,13
+8,10
@@
#include "PosixSource.h"
#include "Rts.h"
#include "PosixSource.h"
#include "Rts.h"
+#include "RtsAPI.h"
+
#include "Hash.h"
#include "RtsUtils.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"
#include "Trace.h"
#include "Stable.h"
@@
-83,6
+80,8
@@
static unsigned int SPT_size = 0;
static Mutex stable_mutex;
#endif
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.
/* 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 ||
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);
q = ((StgInd *)q)->indirectee;
tag = GET_CLOSURE_TAG(q);
q = UNTAG_CLOSURE(q);
@@
-300,7
+297,7
@@
freeStablePtr(StgStablePtr sp)
RELEASE_LOCK(&stable_mutex);
}
RELEASE_LOCK(&stable_mutex);
}
-void
+static void
enlargeStablePtrTable(void)
{
nat old_SPT_size = SPT_size;
enlargeStablePtrTable(void)
{
nat old_SPT_size = SPT_size;