Merge branch 'charm' into development
[charm.git] / src / ck-core / envelope.h
index d2251077cd18a0207677bfc2ada5a06ed58749b8..5e0026f7bbdda856c705346160c8cad8137ae1dc 100644 (file)
@@ -155,6 +155,7 @@ public:
       struct s_group {         // NodeBocInitMsg, BocInitMsg, ForNodeBocMsg, ForBocMsg
         CkGroupID g;           ///< GroupID
         CkNodeGroupID rednMgr; ///< Reduction manager for this group (constructor only!)
+        CkGroupID dep;         ///< create after dep is created (constructor only!)
         int epoch;             ///< "epoch" this group was created during (0--mainchare, 1--later)
         UShort arrayEp;        ///< Used only for array broadcasts
       } group;
@@ -247,6 +248,7 @@ private:
       env->totalsize = tsize;
       env->priobits = prio;
       env->setPacked(0);
+      env->type.group.dep.setZero();
       _SET_USED(env, 0);
       //for record-replay
       env->setEvent(++CkpvAccess(envelopeEventID));
@@ -330,6 +332,8 @@ private:
     int getGroupEpoch(void) { return type.group.epoch; }
     void setRednMgr(CkNodeGroupID r){ type.group.rednMgr = r; }
     CkNodeGroupID getRednMgr(){ return type.group.rednMgr; }
+    CkGroupID getGroupDep(){ return type.group.dep; }
+    void setGroupDep(const CkGroupID &r){ type.group.dep = r; }
 
 // Array-specific fields
     CkGroupID &getsetArrayMgr(void) {return type.array.arr;}