static unsigned int SPT_size = 0;
+#ifdef THREADED_RTS
static Mutex stable_mutex;
+#endif
/* This hash table maps Haskell objects to stable names, so that every
* call to lookupStableName on a given object will return the same
//
// Also, getStablePtr is now called from __attribute__((constructor))
// functions, so initialising things here wouldn't work anyway.
+#ifdef THREADED_RTS
initMutex(&stable_mutex);
+#endif
}
/*
if (sn != 0) {
ASSERT(stable_ptr_table[sn].addr == p);
IF_DEBUG(stable,debugBelch("cached stable name %ld at %p\n",sn,p));
- RELEASE_LOCK(&stable_mutex);
return sn;
} else {
sn = stable_ptr_free - stable_ptr_table;