#include "gCollect.h"
+#include "prelookup.h"
extern objstr_t *prefetchcache; //Global Prefetch cache
extern pthread_mutex_t prefetchcache_mutex; //Mutex to lock Prefetch Cache
prefetchNodeInfo_t *pNodeInfo; //Global prefetch holding metadata
void initializePCache() {
- pNodeInfo = calloc(1, sizeof(prefetchNodeInfo_t));
+ pNodeInfo = calloc(1, sizeof(prefetchNodeInfo_t)); //Not freed yet
pNodeInfo->oldptr = prefetchcache;
pNodeInfo->newptr = NULL;
pNodeInfo->num_old_objstr = 1; //for prefetch cache allocated by objstralloc in trans.c file
for(; curr != NULL; curr = curr->next) {
if(((unsigned long int)(curr->val) >= tmpbegin) && ((unsigned long int)(curr->val) < tmpend)) {
unsigned int oid = curr->key;
- prehashRemove(oid);
+ objheader_t *objheader;
+ if((objheader = prehashSearch(oid)) != NULL) {
+ prehashRemove(oid);
+ }
}
}
}