From c3f40b7229ab653af4ea0157576b6ff134d96301 Mon Sep 17 00:00:00 2001 From: adash Date: Mon, 18 Feb 2008 20:43:56 +0000 Subject: [PATCH] small fixes, Enable prefetching of arrays in BuildCode.java --- Robust/src/IR/Flat/BuildCode.java | 5 ++++- Robust/src/Runtime/DSTM/interface/dstmserver.c | 4 ++-- Robust/src/Runtime/DSTM/interface/trans.c | 3 ++- Robust/src/Runtime/thread.c | 1 + 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Robust/src/IR/Flat/BuildCode.java b/Robust/src/IR/Flat/BuildCode.java index 1e4dac96..44c7efcd 100644 --- a/Robust/src/IR/Flat/BuildCode.java +++ b/Robust/src/IR/Flat/BuildCode.java @@ -1435,8 +1435,10 @@ public class BuildCode { Iterator it = fpn.hspp.iterator(); output.println("/* prefetch */"); output.println("; /* empty statement to avoid compiler error */"); + /* TODO Add support for arrays, Currently handles only field pointers*/ /* The while loop below removes all prefetch tuples with arrays from the set of prefetches */ + /* while(it.hasNext()) { PrefetchPair pp = (PrefetchPair) it.next(); for(i = 0; i < pp.desc.size(); i++) { @@ -1447,7 +1449,8 @@ public class BuildCode { } } } - it = fpn.hspp.iterator(); + */ + //it = fpn.hspp.iterator(); String oidlist = new String(); while(it.hasNext()) { PrefetchPair pp = (PrefetchPair) it.next(); diff --git a/Robust/src/Runtime/DSTM/interface/dstmserver.c b/Robust/src/Runtime/DSTM/interface/dstmserver.c index 92103bb3..4434ee00 100644 --- a/Robust/src/Runtime/DSTM/interface/dstmserver.c +++ b/Robust/src/Runtime/DSTM/interface/dstmserver.c @@ -774,8 +774,8 @@ void processReqNotify(unsigned int numoid, unsigned int *oidarry, unsigned short int sd; struct sockaddr_in remoteAddr; int bytesSent; - int status, size, retry = 0; - + int status, size; + int i = 0; while(i < numoid) { oid = *(oidarry + i); diff --git a/Robust/src/Runtime/DSTM/interface/trans.c b/Robust/src/Runtime/DSTM/interface/trans.c index 9ea79389..247cea42 100644 --- a/Robust/src/Runtime/DSTM/interface/trans.c +++ b/Robust/src/Runtime/DSTM/interface/trans.c @@ -437,6 +437,7 @@ int transCommit(transrecord_t *record) { char treplyctrl = 0, treplyretry = 0; /* keeps track of the common response that needs to be sent */ char localstat = 0; + /* Look through all the objects in the transaction record and make piles * for each machine involved in the transaction*/ pile_ptr = pile = createPiles(record); @@ -862,7 +863,7 @@ void *getRemoteObj(transrecord_t *record, unsigned int mnum, unsigned int oid) { /* Open connection */ if (connect(sd, (struct sockaddr *) &serv_addr, sizeof(struct sockaddr)) < 0) { - perror("Error in connect\n"); + perror("getRemoteObj() Error in connect\n"); return NULL; } char readrequest[sizeof(char)+sizeof(unsigned int)]; diff --git a/Robust/src/Runtime/thread.c b/Robust/src/Runtime/thread.c index be69af35..6d25327a 100644 --- a/Robust/src/Runtime/thread.c +++ b/Robust/src/Runtime/thread.c @@ -131,6 +131,7 @@ void CALL01(___Thread______join____, struct ___Thread___ * ___this___) { transrecord_t *trans; objheader_t *ptr; /* Add transaction to check if thread finished for join operation */ + goto transstart; transstart: trans = transStart(); ptr = transRead(trans, (unsigned int) VAR(___this___)); -- 2.34.1