Some code clean and make the cache adapt version compile
[IRC.git] / Robust / src / Runtime / bamboo / multicoremsg.h
index 90cb9ad5af08d724f1fec834197fb83128f8fa9d..401a6956df77f82da5914aa1d7d5182aad3a74e7 100644 (file)
@@ -10,8 +10,6 @@
 int msgdata[BAMBOO_MSG_BUF_LENGTH];
 volatile int msgdataindex;
 volatile int msgdatalast;
-//BAD! BAD! BAD!  THIS SHOULD NOT BE A GLOBAL!!!!
-int msglength;
 volatile bool msgdatafull;
 int outmsgdata[BAMBOO_OUT_BUF_LENGTH];
 int outmsgindex;
@@ -29,9 +27,6 @@ volatile bool isMsgHanging;
   msgdata[msgdatalast] = (n); \
   MSG_LASTINDEXINC_I()
 
-// NOTE: if msgdataindex == msgdatalast, it always means that the buffer if
-//       full. In the case that the buffer is empty, should never call this
-//       MACRO
 #define MSG_REMAINSIZE_I(s) \
   if(msgdataindex < msgdatalast) { \
     (*(int*)s) = msgdatalast - msgdataindex; \
@@ -47,7 +42,7 @@ volatile bool isMsgHanging;
 #define OUTMSG_LASTINDEXINC() \
   outmsglast = (outmsglast + 1) & (BAMBOO_OUT_BUF_MASK); \
   if(outmsglast == outmsgindex) { \
-    BAMBOO_EXIT(0xd101); \
+    BAMBOO_EXIT(); \
   }
 
 #define OUTMSG_CACHE(n) \
@@ -111,8 +106,8 @@ volatile bool isMsgHanging;
  *          lock type: 0 -- read; 1 -- write
  * ProfileMsg: 7 + totalexetime
  *               (size is always 2 * sizeof(int))
- *             8 + corenum
- *               (size is always 2 * sizeof(int))
+ *             8 
+ *               (size is always sizeof(int))
  * StatusMsg: d (size is always 1 * sizeof(int))
  *            e + status + corenum + sendobjs + receiveobjs
  *              (size is always 5 * sizeof(int))
@@ -157,7 +152,7 @@ volatile bool isMsgHanging;
  *            (size is always 3 * sizeof(int))
  */
 typedef enum {
-  MSGSTART = 0xD0,       // 0xD0
+  MSGSTART = 0x0,        // 0xD0
   TRANSOBJ,              // 0xD1
   TRANSTALL,             // 0xD2
   LOCKREQUEST,           // 0xD3
@@ -197,84 +192,39 @@ typedef enum {
   GCPROFILES,            // 0xF3
 #endif // GC_PROFILE
 #ifdef GC_CACHE_ADAPT
-  GCSTARTPOSTINIT,       // 0xF4
-  GCSTARTPREF,           // 0xF5
-  GCFINISHPOSTINIT,      // 0xF6
-  GCFINISHPREF,          // 0xF7
+  GCSTARTPREF,           // 0xF4
+  GCFINISHPREF,          // 0xF5
 #endif // GC_CACHE_ADAPT
 #endif // MULTICORE_GC
   MSGEND
 } MSGTYPE;
 
 // msg related functions
-INLINE void send_hanging_msg(bool isInterrupt);
-INLINE void send_msg_1(int targetcore,
-                       unsigned long n0,
-                       bool isInterrupt);
-INLINE void send_msg_2(int targetcore,
-                       unsigned long n0,
-                       unsigned long n1,
-                       bool isInterrupt);
-INLINE void send_msg_3(int targetcore,
-                       unsigned long n0,
-                       unsigned long n1,
-                       unsigned long n2,
-                       bool isInterrupt);
-INLINE void send_msg_4(int targetcore,
-                       unsigned long n0,
-                       unsigned long n1,
-                       unsigned long n2,
-                       unsigned long n3,
-                       bool isInterrupt);
-INLINE void send_msg_5(int targetcore,
-                       unsigned long n0,
-                       unsigned long n1,
-                       unsigned long n2,
-                       unsigned long n3,
-                       unsigned long n4,
-                       bool isInterrupt);
-INLINE void send_msg_6(int targetcore,
-                       unsigned long n0,
-                       unsigned long n1,
-                       unsigned long n2,
-                       unsigned long n3,
-                       unsigned long n4,
-                       unsigned long n5,
-                       bool isInterrupt);
-INLINE void cache_msg_1(int targetcore,
-                        unsigned long n0);
-INLINE void cache_msg_2(int targetcore,
-                        unsigned long n0,
-                        unsigned long n1);
-INLINE void cache_msg_3(int targetcore,
-                        unsigned long n0,
-                        unsigned long n1,
-                        unsigned long n2);
-INLINE void cache_msg_4(int targetcore,
-                        unsigned long n0,
-                        unsigned long n1,
-                        unsigned long n2,
-                        unsigned long n3);
-INLINE void cache_msg_5(int targetcore,
-                        unsigned long n0,
-                        unsigned long n1,
-                        unsigned long n2,
-                        unsigned long n3,
-                        unsigned long n4);
-INLINE void cache_msg_6(int targetcore,
-                        unsigned long n0,
-                        unsigned long n1,
-                        unsigned long n2,
-                        unsigned long n3,
-                        unsigned long n4,
-                        unsigned long n5);
-INLINE int receiveMsg(unsigned int send_port_pending);
+void send_msg_1(int targetcore,unsigned long n0);
+void send_msg_2(int targetcore,unsigned long n0,unsigned long n1);
+void send_msg_3(int targetcore,unsigned long n0,unsigned long n1,unsigned long n2);
+void send_msg_4(int targetcore,unsigned long n0,unsigned long n1,unsigned long n2,unsigned long n3);
+void send_msg_5(int targetcore,unsigned long n0,unsigned long n1,unsigned long n2,unsigned long n3,unsigned long n4);
+void send_msg_6(int targetcore,unsigned long n0,unsigned long n1,unsigned long n2,unsigned long n3,unsigned long n4,unsigned long n5);
+void send_msg_1_I(int targetcore,unsigned long n0);
+void send_msg_2_I(int targetcore,unsigned long n0,unsigned long n1);
+void send_msg_3_I(int targetcore,unsigned long n0,unsigned long n1,unsigned long n2);
+void send_msg_4_I(int targetcore,unsigned long n0,unsigned long n1,unsigned long n2,unsigned long n3);
+void send_msg_5_I(int targetcore,unsigned long n0,unsigned long n1,unsigned long n2,unsigned long n3,unsigned long n4);
+void send_msg_6_I(int targetcore,unsigned long n0,unsigned long n1,unsigned long n2,unsigned long n3,unsigned long n4,unsigned long n5);
+void cache_msg_1_I(int targetcore,unsigned long n0);
+void cache_msg_2_I(int targetcore,unsigned long n0,unsigned long n1);
+void cache_msg_3_I(int targetcore,unsigned long n0,unsigned long n1,unsigned long n2);
+void cache_msg_4_I(int targetcore,unsigned long n0,unsigned long n1,unsigned long n2,unsigned long n3);
+void cache_msg_5_I(int targetcore,unsigned long n0,unsigned long n1,unsigned long n2,unsigned long n3,unsigned long n4);
+void cache_msg_6_I(int targetcore,unsigned long n0,unsigned long n1,unsigned long n2,unsigned long n3,unsigned long n4,unsigned long n5);
+int receiveMsg_I();
 #ifdef TASK
-INLINE void transferObject(struct transObjInfo * transObj);
+void transferObject(struct transObjInfo * transObj);
 #endif
 
 #ifdef MULTICORE_GC
-INLINE void transferMarkResults();
+void transferMarkResults();
 #endif 
 
 #endif // MULTICORE