small fixes,
authoradash <adash>
Mon, 18 Feb 2008 20:43:56 +0000 (20:43 +0000)
committeradash <adash>
Mon, 18 Feb 2008 20:43:56 +0000 (20:43 +0000)
Enable prefetching of arrays in BuildCode.java

Robust/src/IR/Flat/BuildCode.java
Robust/src/Runtime/DSTM/interface/dstmserver.c
Robust/src/Runtime/DSTM/interface/trans.c
Robust/src/Runtime/thread.c

index 1e4dac96c0fa033cc9cab5371e1396651664bc9a..44c7efcddfb42df3d7de708223f11f55dc3777b0 100644 (file)
@@ -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();
index 92103bb32787b7dbd73c24768480d526d4a26b53..4434ee002b91270cb0fba941d010467ec08d36d7 100644 (file)
@@ -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);
index 9ea79389439f5e9757b9e58ddfca868e23d7fbc8..247cea421a991204b6b3be527943c45deeb31707 100644 (file)
@@ -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)];
index be69af3537497b571f20428de248176f1296b8c8..6d25327aeb9c2c7c3daa105fa0ce449d3a7ff73e 100644 (file)
@@ -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___));