X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=Robust%2Fsrc%2FRuntime%2FDSTM%2Finterface%2Fqueue.c;h=c892a030266b67d02f095c6995e1139c7c7e2739;hb=cdcf09c40af1419fa42932aae249cb79b69b5daf;hp=7a8fbba392ade522054a244ba793079e28d7257a;hpb=6a34b2001ac8a0172f88a1788123166a07badd82;p=IRC.git diff --git a/Robust/src/Runtime/DSTM/interface/queue.c b/Robust/src/Runtime/DSTM/interface/queue.c deleted file mode 100644 index 7a8fbba3..00000000 --- a/Robust/src/Runtime/DSTM/interface/queue.c +++ /dev/null @@ -1,106 +0,0 @@ -#include "queue.h" - -primarypfq_t pqueue; //Global queue - -void queueInit(void) { - /* Intitialize primary queue */ - pqueue.front = pqueue.rear = NULL; - pthread_mutex_init(&pqueue.qlock, NULL); - pthread_cond_init(&pqueue.qcond, NULL); -} - -/* Delete the node pointed to by the front ptr of the queue */ -void delqnode() { - prefetchqelem_t *delnode; - if((pqueue.front == NULL) && (pqueue.rear == NULL)) { - printf("The queue is empty: UNDERFLOW %s, %d\n", __FILE__, __LINE__); - return; - } else if ((pqueue.front == pqueue.rear) && pqueue.front != NULL && pqueue.rear != NULL) { - free(pqueue.front); - pqueue.front = pqueue.rear = NULL; - } else { - delnode = pqueue.front; - pqueue.front = pqueue.front->next; - free(delnode); - } -} - -void queueDelete(void) { - /* Remove each element */ - while(pqueue.front != NULL) - delqnode(); - pqueue.front = pqueue.rear = NULL; -} - -/* Inserts to the rear of primary prefetch queue */ -void pre_enqueue(prefetchqelem_t *qnode) { - if(pqueue.front == NULL && pqueue.rear == NULL) { - pqueue.front = pqueue.rear = qnode; - } else { - qnode->next = NULL; - pqueue.rear->next = qnode; - pqueue.rear = qnode; - } -} - -/* Return the node pointed to by the front ptr of the queue */ -prefetchqelem_t *pre_dequeue(void) { - prefetchqelem_t *retnode; - if (pqueue.front == NULL) { - printf("Queue empty: Underflow %s, %d\n", __FILE__, __LINE__); - return NULL; - } - retnode = pqueue.front; - pqueue.front = pqueue.front->next; - if (pqueue.front == NULL) - pqueue.rear = NULL; - - return retnode; -} - -void queueDisplay() { - int offset = sizeof(prefetchqelem_t); - int *ptr; - int ntuples; - char *ptr1; - prefetchqelem_t *tmp = pqueue.front; - while(tmp != NULL) { - ptr1 = (char *) tmp; - ptr = (int *)(ptr1 + offset); - ntuples = *ptr; - tmp = tmp->next; - } -} - -void predealloc(prefetchqelem_t *node) { - free(node); -} - - -#if 0 -main() { - unsigned int oids[] = {11, 13}; - short endoffsets[] = {2, 5}; - short arrayfields[] = {2, 2, 1, 5, 6}; - queueInit(); - queueDisplay(); - prefetch(2, oids, endoffsets, arrayfields); - queueDisplay(); - unsigned int oids1[] = {21, 23, 25, 27}; - short endoffsets1[] = {1, 2, 3, 4}; - short arrayfields1[] = {3, 2, 1, 3}; - prefetch(4, oids1, endoffsets1, arrayfields1); - queueDisplay(); - delqnode(); - queueDisplay(); - delqnode(); - queueDisplay(); - delqnode(); - queueDisplay(); - delqnode(); - -} - -#endif - -