TCharm & AMPI: Adapt to automatic pup of base class
authorPhil Miller <mille121@illinois.edu>
Fri, 2 Dec 2011 09:05:25 +0000 (03:05 -0600)
committerPhil Miller <mille121@illinois.edu>
Mon, 26 Dec 2011 08:55:51 +0000 (02:55 -0600)
src/ck-core/ckarray.h
src/libs/ck-libs/ampi/ampi.C
src/libs/ck-libs/ampi/ampiimpl.h
src/libs/ck-libs/tcharm/tcharm.C

index a951572b9c7be6df4301761d2168539d77553dec..44010f44e737d53f71510486299e6e0c55797ee9 100644 (file)
@@ -482,7 +482,7 @@ public:
   virtual ~ArrayElement();
 
 /// Pack/unpack routine (called before and after migration)
   virtual ~ArrayElement();
 
 /// Pack/unpack routine (called before and after migration)
-  virtual void pup(PUP::er &p);
+  void pup(PUP::er &p);
 
 //Overridden functions:
   /// Called by the system just before and after migration to another processor:
 
 //Overridden functions:
   /// Called by the system just before and after migration to another processor:
index 888f58211a2527f7736f40b7e2520549a4476875..62bc80278d8222258f75fb54e0193fafc185ae4c 100644 (file)
@@ -887,7 +887,6 @@ ampiParent::ampiParent(CkMigrateMessage *msg):CBase_ampiParent(msg) {
 }
 
 void ampiParent::pup(PUP::er &p) {
 }
 
 void ampiParent::pup(PUP::er &p) {
-  ArrayElement1D::pup(p);
   p|threads;
   p|worldNo;           // why it was missing from here before??
   p|worldStruct;
   p|threads;
   p|worldNo;           // why it was missing from here before??
   p|worldStruct;
@@ -1364,10 +1363,14 @@ static void cmm_pup_posted_ireq(pup_er p,void **msg) {
   //   printf("[%d] pupping postd irequests %p \n",CkMyPe(),*msg);
 }
 
   //   printf("[%d] pupping postd irequests %p \n",CkMyPe(),*msg);
 }
 
-void ampi::pup(PUP::er &p)
+void ampi::base_pup(PUP::er &p)
 {
   if(!p.isUserlevel())
 {
   if(!p.isUserlevel())
-    ArrayElement1D::pup(p);//Pack superclass
+    ArrayElement1D::pup(p);
+}
+
+void ampi::pup(PUP::er &p)
+{
   p|parentProxy;
   p|myComm;
   p|myRank;
   p|parentProxy;
   p|myComm;
   p|myRank;
index 46a25b8474cc8ea0e17dbb3f5b450294063fcd64..cbdde6c0e5f678f0bcd2ee3d73e906d7c10c623e 100644 (file)
@@ -1341,7 +1341,8 @@ friend class SReq;
     void ckJustRestored(void);
     ~ampi();
 
     void ckJustRestored(void);
     ~ampi();
 
-    virtual void pup(PUP::er &p);
+    void base_pup(PUP::er &p);
+    void pup(PUP::er &p);
 
     void allInitDone(CkReductionMsg *m);
     void setInitDoneFlag();
 
     void allInitDone(CkReductionMsg *m);
     void setInitDoneFlag();
index 7e5ff57bc2a9d3dd915c34fdcb54b48e6a6898f1..ce39724300eb5d14600f51591ba8a6a2328f6eda 100644 (file)
@@ -220,9 +220,6 @@ void checkPupMismatch(PUP::er &p,int expected,const char *where)
 }
 
 void TCharm::pup(PUP::er &p) {
 }
 
 void TCharm::pup(PUP::er &p) {
-//Pup superclass
-  ArrayElement1D::pup(p);
-
   //BIGSIM_OOC DEBUGGING
   //if(!p.isUnpacking()){
   //  CmiPrintf("TCharm[%d] packing: ", thisIndex);
   //BIGSIM_OOC DEBUGGING
   //if(!p.isUnpacking()){
   //  CmiPrintf("TCharm[%d] packing: ", thisIndex);