Merge branch 'charm' of charmgit:charm into charm
authorYanhua Sun <sun22@llnl.gov>
Tue, 16 Jul 2013 17:47:41 +0000 (10:47 -0700)
committerYanhua Sun <sun22@llnl.gov>
Tue, 16 Jul 2013 17:47:41 +0000 (10:47 -0700)
23 files changed:
src/ck-core/sdag.C [new file with mode: 0644]
src/ck-core/sdag.h
src/ck-perf/trace-common.C
src/ck-perf/trace-common.h
src/ck-perf/trace.h
src/scripts/Make.depends
src/scripts/Makefile
src/util/pup.h
src/util/pup_stl.h
src/xlat-i/sdag/CEntry.C
src/xlat-i/sdag/CEntry.h
src/xlat-i/sdag/CParsedFile.C
src/xlat-i/sdag/CSdagConstruct.C
src/xlat-i/sdag/CStateVar.h
src/xlat-i/sdag/EToken.h
src/xlat-i/xi-grammar.tab.C
src/xlat-i/xi-grammar.tab.h
src/xlat-i/xi-grammar.y
src/xlat-i/xi-scan.C
src/xlat-i/xi-scan.l
src/xlat-i/xi-symbol.C
src/xlat-i/xi-symbol.h
src/xlat-i/xi-util.h

diff --git a/src/ck-core/sdag.C b/src/ck-core/sdag.C
new file mode 100644 (file)
index 0000000..9dd0f7d
--- /dev/null
@@ -0,0 +1,21 @@
+#include "sdag.h"
+
+namespace SDAG {
+  PUPable_def(MsgClosure);
+  PUPable_def(ForallClosure);
+  PUPable_def(TransportableBigSimLog);
+  PUPable_def(CCounter);
+  PUPable_def(CSpeculator);
+  PUPable_def(Buffer);
+  PUPable_def(Continuation);
+
+  void registerPUPables() {
+    PUPable_reg(MsgClosure);
+    PUPable_reg(ForallClosure);
+    PUPable_reg(TransportableBigSimLog);
+    PUPable_reg(CCounter);
+    PUPable_reg(CSpeculator);
+    PUPable_reg(Buffer);
+    PUPable_reg(Continuation);
+  }
+}
index 7dd1c5b76167dc94f1f41d7b4e8db2812a18713a..1e3eb37392c2b7dbdcc4f1ab93b30be9b7458927 100644 (file)
 #ifndef _sdag_H_
 #define _sdag_H_
 
+#include "pup.h"
+
+#define SINGLE_ARG(...) __VA_ARGS__
+
+namespace SDAG {
+  struct Closure : public PUP::able {
+    virtual void pup(PUP::er& p) = 0;
+    PUPable_abstract(Closure);
+    int continuations;
+    // reference count and self-destruct when no continuations have a reference
+    void ref() { continuations++; }
+    void deref() { if (--continuations <= 0) delete this; }
+    // done this way to keep Closure abstract for PUP reasons
+    // these must be called by descendents of Closure
+    void packClosure(PUP::er& p) { p | continuations; }
+    void init() { continuations = 1; }
+    virtual ~Closure() { }
+  };
+}
+
 #include "charm++.h"
 #include <vector>
+#include <list>
+#include <map>
 #include <set>
 
-class CMsgBuffer {
-  public:
-    int entry;
-    void *msg;
-    void *bgLog1; 
-    void *bgLog2; 
-    int refnum;
-    CMsgBuffer *next;
-
-    CMsgBuffer(int e, void *m, void* l1, int r) : entry(e), msg(m), bgLog1(l1), bgLog2(NULL),refnum(r), next(NULL) {}
-    CMsgBuffer(int e, void *m, int r) : entry(e), msg(m), bgLog1(NULL), bgLog2(NULL),refnum(r), next(NULL) {}
-    CMsgBuffer(): bgLog1(NULL), bgLog2(NULL), next(NULL) {}
+#include <pup_stl.h>
+
+namespace SDAG {
+  struct TransportableBigSimLog : public Closure {
+    void* log;
+    TransportableBigSimLog() : log(0) { init(); }
+    TransportableBigSimLog(CkMigrateMessage*) : log(0) { init(); }
+
+    TransportableBigSimLog(void* log)
+      : log(log) { init(); }
+
     void pup(PUP::er& p) {
-      p|entry;
-      CkPupMessage(p, &msg);
-      p|refnum;
-      if (p.isUnpacking()) {
-        bgLog1 = bgLog2 = NULL;
-      }
+      if (p.isUnpacking()) log = 0;
+      else if (log != 0)
+        CkAbort("BigSim logs stored by SDAG are not migratable\n");
+      packClosure(p);
     }
-};
-
-struct TransportableEntity {
-  enum PType { TransportableEntityType,
-               TransportableMsgType,
-               TransportableCounterType,
-               TransportableSpeculatorType,
-               TransportableBigSimLogType };
-
-  PType type;
-
-  TransportableEntity() : type(TransportableEntityType) { };
-  TransportableEntity(PType type) : type(type) { };
-
-  void pupType(PUP::er& p) {
-    int t = (int)type;
-    p | t;
-    type = (PType)t;
-  }
-
-  virtual void pup(PUP::er& p) {
-    pupType(p);
-  }
-};
-
-struct TransportableBigSimLog : public TransportableEntity {
-  void* log;
-  TransportableBigSimLog() : log(0) { }
-
-  TransportableBigSimLog(void* log)
-    : TransportableEntity(TransportableBigSimLogType)
-    , log(log) { }
-
-  void pup(PUP::er& p) {
-    TransportableEntity::pupType(p);
-    if (p.isUnpacking()) log = 0;
-  }
-};
-
-struct TransportableMsg : public TransportableEntity {
-  void* msg;
-
-  TransportableMsg() : msg(0) { }
-
-  TransportableMsg(CkMessage* msg)
-    : TransportableEntity(TransportableMsgType)
-    , msg(msg) { }
-
-  void pup(PUP::er& p) {
-    TransportableEntity::pupType(p);
-    bool isNull = !msg;
-    p | isNull;
-    if (!isNull) CkPupMessage(p, &msg);
-  }
-};
-
-class CCounter : public TransportableEntity {
-private:
-  unsigned int count;
-public:
-  CCounter() : TransportableEntity(TransportableCounterType) { }
-  CCounter(int c) : TransportableEntity(TransportableCounterType), count(c) { }
-  CCounter(int first, int last, int stride)
-    : TransportableEntity(TransportableCounterType) {
-    count = ((last - first) / stride) + 1;
-  }
-  void decrement(void) { count--; }
-  int isDone(void) { return (count == 0); }
-
-  void pup(PUP::er& p) {
-    TransportableEntity::pupType(p);
-    p | count;
-  }
-};
-
-struct CSpeculator : public TransportableEntity {
-  int speculationIndex;
-
-  CSpeculator() : TransportableEntity(TransportableSpeculatorType) { }
-
-  CSpeculator(int speculationIndex_)
-    : TransportableEntity(TransportableSpeculatorType)
-    , speculationIndex(speculationIndex_) { }
-
-  void pup(PUP::er& p) {
-    TransportableEntity::pupType(p);
-    p | speculationIndex;
-  }
-};
-
-#define MAXARG 8
-#define MAXANY 8
-#define MAXREF 8
-
-class CWhenTrigger {
-  public:
-    int whenID, nArgs;
-    TransportableEntity* args[MAXARG];
-    int nAnyEntries;
-    int anyEntries[MAXANY];
-    int nEntries;
-    int entries[MAXREF];
-    int refnums[MAXREF];
-    int speculationIndex;
+    PUPable_decl(TransportableBigSimLog);
+  };
+
+  struct ForallClosure : public Closure {
+    int val;
+    ForallClosure() : val(0) { init(); }
+    ForallClosure(CkMigrateMessage*) : val(0) { init(); }
+    ForallClosure(int val) : val(val) { init(); }
+
+    void pup(PUP::er& p) {
+      p | val;
+      packClosure(p);
+    }
+    PUPable_decl(ForallClosure);
+    int& getP0() { return val; }
+  };
+
+  struct MsgClosure : public Closure {
+    CkMessage* msg;
 
-    CWhenTrigger *next;
-    CWhenTrigger(int id, int na, int ne, int nae) :
-      whenID(id), nArgs(na), nAnyEntries(nae), nEntries(ne), speculationIndex(-1), next(NULL) { init(); }
-    CWhenTrigger(): next(NULL) { init(); }
-    void init() {
-      for (int i = 0; i < MAXARG; i++) args[i] = NULL;
+    MsgClosure() : msg(0) { init(); continuations = 0; }
+    MsgClosure(CkMigrateMessage*) : msg(0) { init(); continuations = 0; }
+
+    MsgClosure(CkMessage* msg)
+      : msg(msg) {
+      init();
+      continuations = 0;
+      CmiReference(UsrToEnv(msg));
     }
+
     void pup(PUP::er& p) {
-      p|whenID;
-      p|nArgs;
-      p|nAnyEntries;
-      p(anyEntries, MAXANY);
-      p|nEntries;
-      p(entries, MAXREF);
-      p(refnums, MAXREF);
-
-      for (int i = 0; i < MAXARG; i++) {
-        bool isNull = !args[i];
-        p | isNull;
-
-        if (!isNull) {
-          int t = p.isUnpacking() ? -1 : args[i]->type;
-          p | t;
-
-          if (p.isUnpacking()) {
-            switch ((TransportableEntity::PType)t) {
-            case TransportableEntity::TransportableEntityType: args[i] = new TransportableEntity(); break;
-            case TransportableEntity::TransportableMsgType: args[i] = new TransportableMsg(); break;
-            case TransportableEntity::TransportableCounterType: args[i] = new CCounter(); break;
-            case TransportableEntity::TransportableSpeculatorType: args[i] = new CSpeculator(); break;
-            case TransportableEntity::TransportableBigSimLogType: args[i] = new TransportableBigSimLog(); break;
-            }
-          }
+      bool hasMsg = msg;
+      p | hasMsg;
+      if (hasMsg) CkPupMessage(p, (void**)&msg);
+      packClosure(p);
+    }
 
-          // use virtual dispatch
-          args[i]->pup(p);
-        } else {
-          args[i] = NULL;
-        }
-      }
-      p|speculationIndex;
+    virtual ~MsgClosure() {
+      if (msg) CmiFree(UsrToEnv(msg));
     }
-};
 
-// Quick and dirty List for small numbers of items.
-// It should ideally be a template, but in order to have portability,
-// we would make it two lists
+    PUPable_decl(MsgClosure);
+  };
 
-class TListCWhenTrigger
-{
+  class CCounter : public Closure {
   private:
+    unsigned int count;
+  public:
+    CCounter() { init(); }
+    CCounter(CkMigrateMessage*) { init(); }
+    CCounter(int c) : count(c) { init(); }
+    CCounter(int first, int last, int stride) {
+      init();
+      count = ((last - first) / stride) + 1;
+    }
+    void decrement(void) { count--; }
+    int isDone(void) { return (count == 0); }
+
+    void pup(PUP::er& p) {
+      p | count;
+      packClosure(p);
+    }
+    PUPable_decl(CCounter);
+  };
 
-    CWhenTrigger *first, *last;
-    CWhenTrigger *current;
+  struct CSpeculator : public Closure {
+    int speculationIndex;
 
-  public:
+    CSpeculator() : speculationIndex(0) { init(); }
+    CSpeculator(CkMigrateMessage*) : speculationIndex(0) { init(); }
 
-    TListCWhenTrigger(void) : first(0), last(0), current(0) {;}
+    CSpeculator(int speculationIndex_)
+      : speculationIndex(speculationIndex_) { init(); }
 
     void pup(PUP::er& p) {
-      int nEntries=0;
-      int cur=-1;
-      if (!p.isUnpacking()) { 
-        for (CWhenTrigger *tmp = first; tmp; tmp=tmp->next, nEntries++)
-          if (current == tmp) cur = nEntries;
-      }
-      p|nEntries;
-      p|cur;
-      if (p.isUnpacking()) { 
-        first = last = current = NULL;
-        if (nEntries) {
-         CWhenTrigger** unpackArray = new CWhenTrigger*[nEntries]; 
-          for (int i=0; i<nEntries; i++)  {
-            unpackArray[i] = new CWhenTrigger;
-            if (i!=0) unpackArray[i-1]->next=unpackArray[i];
-          }
-          first = unpackArray[0];
-          last = unpackArray[nEntries-1];
-          last->next = NULL;
-          current = cur==-1?NULL:unpackArray[cur];
-          delete [] unpackArray;
-        }
-      }
-      for (CWhenTrigger *tmp = first; tmp; tmp=tmp->next) tmp->pup(p);
+      p | speculationIndex;
+      packClosure(p);
     }
+    PUPable_decl(CSpeculator);
+  };
+
+  struct Continuation : public PUP::able {
+    int whenID;
+    std::vector<Closure*> closure;
+    std::vector<CMK_REFNUM_TYPE> entries, refnums;
+    std::vector<int> anyEntries;
+    int speculationIndex;
 
-    int empty(void) { return ! first; }
-    
-    CWhenTrigger *begin(void) {
-      return (current = first);
+    Continuation() : speculationIndex(-1) { }
+    Continuation(CkMigrateMessage*) : speculationIndex(-1) { }
+
+    Continuation(int whenID)
+      : whenID(whenID)
+      , speculationIndex(-1) { }
+
+    void pup(PUP::er& p) {
+      p | whenID;
+      p | closure;
+      p | entries;
+      p | refnums;
+      p | anyEntries;
+      p | speculationIndex;
     }
 
-    int end(void) {
-      return (current == 0);
+    void addClosure(Closure* cl) {
+      cl->ref();
+      closure.push_back(cl);
     }
 
-    CWhenTrigger *next (void) {
-      return (current = current->next);
+    virtual ~Continuation() {
+      for (int i = 0; i < closure.size(); i++)
+        closure[i]->deref();
     }
 
-    CWhenTrigger *front(void)
+    PUPable_decl(Continuation);
+  };
+
+  struct Buffer : public PUP::able {
+    int entry;
+    CMK_REFNUM_TYPE refnum;
+    Closure* cl;
+
+#if CMK_BIGSIM_CHARM
+    void *bgLog1, *bgLog2;
+#endif
+
+    Buffer(CkMigrateMessage*) { }
+
+    Buffer(int entry, Closure* cl, CMK_REFNUM_TYPE refnum)
+      : entry(entry)
+      , refnum(refnum)
+      , cl(cl)
+#if CMK_BIGSIM_CHARM
+      , bgLog1(0)
+      , bgLog2(0)
+#endif
     {
-      return first;
+      cl->ref();
     }
 
-    void remove(CWhenTrigger *data)
-    {
-      // case 1: empty list
-      if (first == 0)
-        return;
-      // case 2: first element to be removed
-      if(first == data) {
-        first = first->next;
-       if(first==0) last=0;
-        return;
-      }
-      // case 3: middle or last element to be removed
-      CWhenTrigger *nn;
-      CWhenTrigger *prev = first;
-      for(nn=first->next; nn; nn = nn->next) {
-        if (nn == data) {
-          prev->next = nn->next;
-         if(nn==last)
-           last=prev;
-          return;
-        }
-        prev = nn;
-      }
+    void pup(PUP::er& p) {
+      p | entry;
+      p | refnum;
+      bool hasCl = cl;
+      p | hasCl;
+      if (hasCl)
+        p | cl;
+#if CMK_BIGSIM_CHARM
+      if (p.isUnpacking())
+        bgLog1 = bgLog2 = 0;
+      else if (bgLog1 != 0 && bgLog2 != 0)
+        CkAbort("BigSim logs stored by SDAG are not migratable\n");
+#endif
     }
 
-    void append(CWhenTrigger *data)
-    {
-      data->next = 0;
-      if(first == 0) {
-        last = first = data;
-      } else {
-        last->next = data;
-       last = last->next;
-      }
+    virtual ~Buffer() {
+      cl->deref();
     }
-};
 
-class TListCMsgBuffer
-{
-  private:
+    PUPable_decl(Buffer);
+  };
 
-    CMsgBuffer *first, *last;
-    CMsgBuffer *current;
+  struct Dependency {
+    std::vector<std::list<int> > entryToWhen;
+    std::map<int, std::list<Continuation*> > whenToContinuation;
 
-  public:
+    // entry -> lst of buffers
+    // @todo this will have sequential lookup time for specific reference
+    // numbers
+    std::vector<std::list<Buffer*> > buffer;
 
-    TListCMsgBuffer(void) : first(0), last(0), current(0) {}
+    int curSpeculationIndex;
 
     void pup(PUP::er& p) {
-      int nEntries=0;
-      int cur=0;
-      if (!p.isUnpacking()) { 
-        for (CMsgBuffer *tmp = first; tmp; tmp=tmp->next, nEntries++) {
-          if (current == tmp) cur = nEntries;
-        }
-      }
-      p|nEntries;
-      p|cur;
-      if (p.isUnpacking()) { 
-        first = last = current = NULL;
-        if (nEntries) {
-         CMsgBuffer** unpackArray = new CMsgBuffer*[nEntries]; 
-          for (int i=0; i<nEntries; i++)  {
-            unpackArray[i] = new CMsgBuffer;
-            if (i!=0) unpackArray[i-1]->next=unpackArray[i];
-          }
-          first = unpackArray[0];
-          last = unpackArray[nEntries-1];
-          current = unpackArray[cur];
-         delete [] unpackArray;
-        }
-      }
-      for (CMsgBuffer *tmp = first; tmp; tmp=tmp->next) tmp->pup(p);
+      p | curSpeculationIndex;
+      p | entryToWhen;
+      p | buffer;
+      p | whenToContinuation;
     }
 
-    int empty(void) { return ! first; }
-    
-    CMsgBuffer *begin(void) {
-      return (current = first);
+    Dependency(int numEntries, int numWhens)
+      : entryToWhen(numEntries)
+      , buffer(numEntries)
+      , curSpeculationIndex(0) { }
+
+    void addDepends(int whenID, int entry) {
+      entryToWhen[entry].push_back(whenID);
     }
 
-    int end(void) {
-      return (current == 0);
+    void reg(Continuation *c) {
+      //printf("registering new continuation %p, whenID = %d\n", c, c->whenID);
+      whenToContinuation[c->whenID].push_back(c);
     }
 
-    CMsgBuffer *next (void) {
-      return (current = current->next);
+    void dereg(Continuation *c) {
+      if (whenToContinuation.find(c->whenID) != whenToContinuation.end()) {
+        std::list<Continuation*>& lst = whenToContinuation[c->whenID];
+        lst.remove(c);
+       if (lst.size() == 0)
+         whenToContinuation.erase(c->whenID);
+      } else {
+        CkAbort("trying to deregister: continuation not found");
+      }
     }
 
-    CMsgBuffer *front(void)
-    {
-      return first;
+    Buffer* pushBuffer(int entry, Closure *cl, CMK_REFNUM_TYPE refnum) {
+      Buffer* buf = new Buffer(entry, cl, refnum);
+      buffer[entry].push_back(buf);
+      return buf;
     }
 
-    void remove(CMsgBuffer *data)
-    {
-      // case 1: empty list
-      if (first == 0)
-        return;
-      // case 2: first element to be removed
-      if(first == data) {
-        first = first->next;
-       if(first==0) last=0;
-        return;
+    Continuation *tryFindContinuation(int entry) {
+      for (std::list<int>::iterator iter = entryToWhen[entry].begin();
+           iter != entryToWhen[entry].end();
+           ++iter) {
+        int whenID = *iter;
+
+        if (whenToContinuation.find(whenID) != whenToContinuation.end()) {
+          for (std::list<Continuation*>::iterator iter2 = whenToContinuation[whenID].begin();
+               iter2 != whenToContinuation[whenID].end();
+               iter2++) {
+            Continuation* c = *iter2;
+            if (searchBufferedMatching(c)) {
+              dereg(c);
+              return c;
+            }
+          }
+        }
+      }
+      //printf("no continuation found\n");
+      return 0;
+    }
+
+    bool searchBufferedMatching(Continuation* t) {
+      CkAssert(t->entries.size() == t->refnums.size());
+      for (int i = 0; i < t->entries.size(); i++) {
+        if (!tryFindMessage(t->entries[i], true, t->refnums[i], 0)) {
+          return false;
+        }
       }
-      // case 3: middle or last element to be removed
-      CMsgBuffer *nn;
-      CMsgBuffer *prev = first;
-      for(nn=first->next; nn; nn = nn->next) {
-        if (nn == data) {
-          prev->next = nn->next;
-         if(nn==last)
-           last=prev;
-          return;
+      for (int i = 0; i < t->anyEntries.size(); i++) {
+        if (!tryFindMessage(t->anyEntries[i], false, 0, 0)) {
+          return false;
         }
-        prev = nn;
       }
+      return true;
     }
 
-    void append(CMsgBuffer *data)
-    {
-      data->next = 0;
-      if(first == 0) {
-        last = first = data;
-      } else {
-        last->next = data;
-       last = last->next;
+    Buffer* tryFindMessage(int entry, bool hasRef, CMK_REFNUM_TYPE refnum, std::set<Buffer*>* ignore) {
+      // @todo sequential lookup for buffer with reference number or ignore set
+      for (std::list<Buffer*>::iterator iter = buffer[entry].begin();
+           iter != buffer[entry].end();
+           ++iter) {
+        if ((!hasRef || (*iter)->refnum == refnum) &&
+            (!ignore || ignore->find(*iter) == ignore->end()))
+          return *iter;
       }
+      return 0;
     }
-};
-
-
-/**
- This class hides all the details of dependencies between
- when blocks and entries. It also contains the entry buffers
- and when triggers.
-*/
-
-class CDep {
-   int numEntries, numWhens;
-   TListCWhenTrigger **whens;
-   TListCMsgBuffer **buffers;
-   int *numWhenDepends;
-   int *numEntryDepends;
-   TListCMsgBuffer ***whenDepends;
-   TListCWhenTrigger ***entryDepends;
-   int curSpeculationIndex;
-
- public:
-   void pup(PUP::er& p) {
-     /* 
-        no need for initMem() because __sdag_pup() will take care of 
-        allocating of CDep and call addDepends(), so we don't pup whenDepends
-        and entryDepends here.
-     */ 
-     int i;
-
-     for (i=0; i<numWhens; i++)    whens[i]->pup(p);
-     for (i=0; i<numEntries; i++)  buffers[i]->pup(p);
-
-     p(numWhenDepends, numWhens);
-     p(numEntryDepends, numEntries);
-
-     p | curSpeculationIndex;
-/*
-     // don't actually pack this info because it gets created once 
-     // the addDepends() in the initialization scheme are called for this class
-     for (i=0; i<numWhens; i++)
-       for (j=0; j<numWhenDepends[i]; j++) {
-         int which;
-         if (p.isPacking())  which = whenDepends[i][j] - buffers[0];
-         p|which;
-         if (p.isUnpacking()) whenDepends[i][j] = buffers[which];
-       }
-
-     for (i=0; i<numEntries; i++)
-       for (j=0; j<numEntryDepends[i]; j++) {
-         int which;
-         if (p.isPacking())  which = entryDepends[i][j] - whens[0];
-         p|which;
-         if (p.isUnpacking()) entryDepends[i][j] = whens[which];
-     }
-*/
-   }
-
-   CDep(int ne, int nw) : numEntries(ne), numWhens(nw), curSpeculationIndex(0) { initMem(); }
-
-   ~CDep() {
-     int i;
-     delete [] numWhenDepends;
-     delete [] numEntryDepends;
-     for(i=0;i<numWhens;i++) {
-       delete whens[i];
-       delete [] whenDepends[i];
-     }
-     for(i=0;i<numEntries;i++) {
-       delete buffers[i];
-       delete [] entryDepends[i];
-     }
-     delete [] whens;
-     delete [] buffers;
-     delete [] whenDepends;
-     delete [] entryDepends;
-   }
-
- private:
-   void initMem() {
-     // initialize the internal data structures here
-     whens = new TListCWhenTrigger *[numWhens];
-     buffers = new TListCMsgBuffer *[numEntries];
-     numWhenDepends = new int[numWhens];
-     numEntryDepends = new int[numEntries];
-     whenDepends = new TListCMsgBuffer **[numWhens];
-     entryDepends = new TListCWhenTrigger **[numEntries];
-     int i;
-     for(i=0;i<numWhens;i++) {
-       whens[i] = new TListCWhenTrigger();
-       whenDepends[i] = new TListCMsgBuffer *[numEntries];
-       numWhenDepends[i] = 0;
-     }
-     for(i=0;i<numEntries;i++) {
-       buffers[i] = new TListCMsgBuffer();
-       entryDepends[i] = new TListCWhenTrigger *[numWhens];
-       numEntryDepends[i] = 0;
-     }
-   }
-
- public:
-   // adds a dependency of whenID upon Entry
-   // done only at initialization.
-   void addDepends(int whenID, int entry) {
-     whenDepends[whenID][numWhenDepends[whenID]++] = buffers[entry];
-     entryDepends[entry][numEntryDepends[entry]++] = whens[whenID];
-   }
-
-   // register a trigger to be called with
-   // with <nEntries> specified
-   // in <entries> with corresponding <refnums>
-   void Register(CWhenTrigger *trigger)
-   {
-     whens[trigger->whenID]->append(trigger);
-   }
-
-   // deregister trigger from all
-   // the entries it is registered for
-   void deRegister(CWhenTrigger *trigger) {
-     whens[trigger->whenID]->remove(trigger);
-   }
-
-   // buffer a message for a specific entry point with a specified
-   // reference number
-   CMsgBuffer* bufferMessage(int entry, void *msg, void* log , int refnum)
-   {
-     CMsgBuffer *buf = new CMsgBuffer(entry, msg, log,refnum);
-     buffers[entry]->append(buf);
-     return buf;
-   }
-
-   // For a specified entry number and reference number,
-   // get the registered trigger which satisfies dependency. 
-   // If no trigger exists
-   // for the given reference number, get the trigger registered for
-   // ANY ref num. If that also doesnt exist, Return NULL
-   CWhenTrigger *getTrigger(int entry, int refnum)
-   {
-     for(int i=0;i<numEntryDepends[entry];i++) {
-       TListCWhenTrigger *wlist = entryDepends[entry][i];
-       for(CWhenTrigger *elem=wlist->begin(); 
-           !wlist->end(); 
-           elem=wlist->next()) {
-         if(elem==0)
-           break;
-         if(depSatisfied(elem)){
-            deRegister(elem);
-            return elem;
-         }
-       }
-     }
-     return 0;
-   }
-
-
-   // given the entry number and reference number,
-   // get the buffered message, without removing it from
-   // the list, NULL if no such message exists
-   CMsgBuffer *getMessage(int entry, int refnum, std::set<CMsgBuffer*> ignore)
-   {
-     TListCMsgBuffer *list = buffers[entry];
-     for(CMsgBuffer *elem=list->begin(); !list->end(); elem=list->next()) {
-       if(elem == 0)
-         return 0;
-       if(elem->refnum == refnum && ignore.find(elem) == ignore.end())
-         return elem;
-     }
-     return 0;
-   }
-
-   // given the entry number,
-   // get the buffered message, without removing it from
-   // the list, NULL if no such message exists
-   // note that this is the ANY case
-   CMsgBuffer *getMessage(int entry, std::set<CMsgBuffer*> ignore)
-   {
-     TListCMsgBuffer *list = buffers[entry];
-     for(CMsgBuffer *elem=list->begin(); !list->end(); elem=list->next()) {
-       if(elem == 0)
-         return 0;
-       if(ignore.find(elem) == ignore.end())
-         return elem;
-     }
-     return 0;
-   }
-
-   CMsgBuffer *getMessageSingle(int entry, int refnum) {
-     TListCMsgBuffer *list = buffers[entry];
-     for(CMsgBuffer *elem=list->begin(); !list->end(); elem=list->next()) {
-       if(elem == 0)
-         return 0;
-       if(elem->refnum == refnum)
-         return elem;
-     }
-     return 0;
-   }
-
-   CMsgBuffer *getMessageSingle(int entry) {
-     return buffers[entry]->front();
-   }
-
-   // remove the given message from buffer
-   void removeMessage(CMsgBuffer *msg)
-   {
-     TListCMsgBuffer *list = buffers[msg->entry];
-     list->remove(msg);
-   }
-
-   // return 1 if all the dependeces for trigger are satisfied
-   // return 0 otherwise
-   int depSatisfied(CWhenTrigger *trigger)
-   {
-     int i;
-     for(i=0;i<trigger->nEntries;i++) {
-       if(!getMessageSingle(trigger->entries[i], trigger->refnums[i]))
-         return 0;
-     }
-     for(i=0;i<trigger->nAnyEntries;i++) {
-       if(!getMessageSingle(trigger->anyEntries[i]))
-         return 0;
-     }
-     return 1;
-   }
-
-   int getAndIncrementSpeculationIndex() {
-     return curSpeculationIndex++;
-   }
-
-   void removeAllSpeculationIndex(int speculationIndex) {
-     for (int i = 0; i < numWhens; i++) {
-       TListCWhenTrigger *wlist = whens[i];
-       CWhenTrigger *elem = wlist->begin();
-       while (elem && !wlist->end()) {
-         if (elem->speculationIndex == speculationIndex) {
-           CWhenTrigger *cancelled = elem;
-           deRegister(elem);
-           elem = wlist->next();
-           delete cancelled;
-         } else {
-           elem = wlist->next();
-         }
-       }
-     }
-   }
-
-};
-
-
-/** 
- This class hides all of the details of dependencies between
- overlap blocks and when blocks. 
- */
-
-class COverDep {
-
-   int numOverlaps, numWhens;
-   TListCWhenTrigger **whens;
-   int *numOverlapDepends;
-   TListCWhenTrigger ***overlapDepends;
-   
-  public:
-     void pup(PUP::er& p) {
-        /*
-          no need for initMem() because __sdag_pup() will take care of
-          allocating of COverDep and call addOverlapDepends(), so we don't pup overlapsDepends here
-        */
-        int i; // , j;
-        for (i=0; i<numWhens; i++)    whens[i]->pup(p);
-
-        p(numOverlapDepends, numOverlaps);
-     }
-
-     COverDep(int no, int nw) : numOverlaps(no), numWhens(nw) { initMem(); }
-
-     ~COverDep() {
-        int i;
-        delete [] numOverlapDepends;
-        for(i=0;i<numWhens;i++) {
-            delete whens[i];
-        }
-        for(i=0;i<numOverlaps;i++) {
-            delete [] overlapDepends[i];
 
+    Buffer* tryFindMessage(int entry) {
+      if (buffer[entry].size() == 0)
+        return 0;
+      else
+        return buffer[entry].front();
+    }
+
+    void removeMessage(Buffer *buf) {
+      buffer[buf->entry].remove(buf);
+    }
+
+    int getAndIncrementSpeculationIndex() {
+      return curSpeculationIndex++;
+    }
+
+    void removeAllSpeculationIndex(int speculationIndex) {
+      for (std::map<int, std::list<Continuation*> >::iterator iter = whenToContinuation.begin();
+           iter != whenToContinuation.end();
+           ++iter) {
+        std::list<Continuation*>& lst = iter->second;
+
+        for (std::list<Continuation*>::iterator iter2 = lst.begin();
+             iter2 != lst.end();
+             ++iter2) {
+          if ((*iter2)->speculationIndex == speculationIndex) {
+            Continuation *cancelled = *iter2;
+            lst.erase(iter2++);
+            delete cancelled;
+          }
         }
-       delete [] whens;
-       delete [] overlapDepends;
-     }
-     
-   private:
-     void initMem() {
-       // initialize the internal data structures here
-       whens = new TListCWhenTrigger *[numWhens];
-       numOverlapDepends = new int[numOverlaps];
-       overlapDepends = new TListCWhenTrigger **[numOverlaps];
-       int i;
-       for(i=0;i<numWhens;i++) {
-         whens[i] = new TListCWhenTrigger();
-       }
-       for(i=0;i<numOverlaps;i++) {
-         overlapDepends[i] = new TListCWhenTrigger *[numWhens];
-         numOverlapDepends[i] = 0;
-       }
-     }
-
-   public:
-     //adds a dependency of the whenID for each Overlap
-     // done only at initialization
-     void addOverlapDepends(int whenID, int overlap) {
-       overlapDepends[overlap][whenID] = whens[whenID];
-       //overlapDepends[overlap][numOverlapDepends[overlap]++] = whens[whenID];
-     }
-     
-     // register a trigger to be called with
-     // with <nEntries> specified
-     // in <entries> with corresponding <refnums>
-     void Register(CWhenTrigger *trigger)
-     {
-       whens[trigger->whenID]->append(trigger);
-     }
-     
-     // deregister trigger from all
-     // the entries it is registered for
-     void deRegister(CWhenTrigger *trigger)
-     {
-        whens[trigger->whenID]->remove(trigger);
-     }
-     
-     
-     // For a specified entry number and reference number,
-     // get the registered trigger which satisfies dependency.
-     // If no trigger exists
-     // for the given reference number, get the trigger registered for
-     // ANY ref num. If that also doesnt exist, Return NULL
-     CWhenTrigger *getTrigger(int overlapID, int whenID)
-     {
-        TListCWhenTrigger *wlist = overlapDepends[overlapID][whenID];
-        CWhenTrigger *elem=wlist->begin(); 
-        if (elem == 0)
-          return 0;      
-        else {
-          deRegister(elem);
-         return elem;
-        }
-     }
-};
+      }
+    }
+  };
+
+  void registerPUPables();
+}
 
 #endif
index 0349867255f92a81671312bcbbb8d4588de66e62..64c1fa61a6704c8f6a675894152cda44203be624 100644 (file)
@@ -51,7 +51,7 @@ CpvStaticDeclare(mTFP, machineTraceFuncPtr);    // machine user event
 int _threadMsg, _threadChare, _threadEP;
 int _packMsg, _packChare, _packEP;
 int _unpackMsg, _unpackChare, _unpackEP;
-int _dummyMsg, _dummyChare, _dummyEP;
+int _sdagMsg, _sdagChare, _sdagEP;
 
 /// decide parameters from command line
 static void traceCommonInit(char **argv)
@@ -175,10 +175,10 @@ static void traceCommonInit(char **argv)
     CkRegisterChareInCharm(_unpackChare);
     _unpackEP = CkRegisterEp("dummy_unpack_ep", 0, _unpackMsg,_unpackChare, 0+CK_EP_INTRINSIC);
 
-    _dummyMsg = CkRegisterMsg("dummy_msg", 0, 0, 0, 0);
-    _dummyChare = CkRegisterChare("dummy_chare", 0, TypeInvalid);
-    CkRegisterChareInCharm(_dummyChare);
-    _dummyEP = CkRegisterEp("dummy_ep", 0, _dummyMsg,_dummyChare, 0+CK_EP_INTRINSIC);
+    _sdagMsg = CkRegisterMsg("sdag_msg", 0, 0, 0, 0);
+    _sdagChare = CkRegisterChare("SDAG", 0, TypeInvalid);
+    CkRegisterChareInCharm(_sdagChare);
+    _sdagEP = CkRegisterEp("SDAG_RTS", 0, _sdagMsg, _sdagChare, 0+CK_EP_INTRINSIC);
   }
 }
 
index 903ca26a387869dffd60ad8754414fb4115860e6..16553774f70d0706aa260f4eecc9a70af253802b 100644 (file)
@@ -102,7 +102,7 @@ inline double TraceCpuTimer(double t) { return t - CkpvAccess(traceInitCpuTime);
 extern int _threadMsg, _threadChare, _threadEP;
 extern int _packMsg, _packChare, _packEP;
 extern int _unpackMsg, _unpackChare, _unpackEP;
-extern int _dummyMsg, _dummyChare, _dummyEP;
+extern int _sdagMsg, _sdagChare, _sdagEP;
 
 /** Write out the common parts of the .sts file. */
 extern void traceWriteSTS(FILE *stsfp,int nUserEvents);
index a438685dbf647456c449a8d60d8dfafc843d6989..6d8e5d4b4e65f1e04d7a3ce152c0a43a1d4c3952 100644 (file)
@@ -26,7 +26,7 @@ extern "C" void traceEnableCCS();
 
 extern double CmiTraceTimer();
 
-extern int _dummyMsg, _dummyChare, _dummyEP;
+extern int _sdagMsg, _sdagChare, _sdagEP;
 
 /* CW Support for Thread Listener interface */
 extern "C" void traceAddThreadListeners(CthThread tid, envelope *e);
index 677c1d805bf8a3b716ab83b2c67b309630d0115d..9a9819f6b5b942c3b80303ddf4b213ca1ff06135 100644 (file)
@@ -91,7 +91,7 @@ conv-ccs.o: conv-ccs.c converse.h conv-config.h conv-autoconfig.h \
  conv-common.h conv-mach.h conv-mach-opt.h cmiqueue.h pup_c.h queueing.h \
  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
  conv-trace.h persistent.h debug-conv.h conv-ccs.h sockRoutines.h \
- ccs-server.h ckhashtable.h pup.h ccs-server.c ccs-auth.h ccs-auth.c
+ ccs-server.h ckhashtable.h pup.h
        $(CHARMC) -c -I. conv-ccs.c
 
 ccs-builtins.o: ccs-builtins.C converse.h conv-config.h conv-autoconfig.h \
@@ -201,6 +201,25 @@ memoryaffinity.o: memoryaffinity.c converse.h conv-config.h \
 commitid.o: commitid.c
        $(CHARMC) -c -I. commitid.c
 
+sdag.o: sdag.C sdag.h pup.h converse.h conv-config.h conv-autoconfig.h \
+ conv-common.h conv-mach.h conv-mach-opt.h cmiqueue.h pup_c.h queueing.h \
+ conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
+ conv-trace.h persistent.h debug-conv.h charm++.h charm.h middle.h \
+ middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
+ debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h ckarrayindex.h cksection.h ckcallback.h \
+ conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
+ CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
+ CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
+ lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
+ LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h MetaBalancer.h \
+ MetaBalancer.decl.h CkLocation.decl.h cklocrec.h ckmigratable.h \
+ CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
+ tempo.h tempo.decl.h waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h \
+ ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h pup_stl.h
+       $(CHARMC) -c -I. sdag.C
+
 pup_util.o: pup_util.C converse.h conv-config.h conv-autoconfig.h \
  conv-common.h conv-mach.h conv-mach-opt.h cmiqueue.h pup_c.h queueing.h \
  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
@@ -256,7 +275,7 @@ ckimage.o: ckimage.C ckimage.h pup.h converse.h conv-config.h \
 ckdll.o: ckdll.C converse.h conv-config.h conv-autoconfig.h conv-common.h \
  conv-mach.h conv-mach-opt.h cmiqueue.h pup_c.h queueing.h conv-cpm.h \
  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
- persistent.h debug-conv.h ckdll.h ckdll_dlopen.C
+ persistent.h debug-conv.h ckdll.h ckdll_dlopen.C ckdll_system.C
        $(CHARMC) -c -I. ckdll.C
 
 ckhashtable.o: ckhashtable.C ckhashtable.h pup.h converse.h conv-config.h \
@@ -331,17 +350,18 @@ trace-projections.o: trace-projections.C charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h trace-projections.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h trace-projections.h \
  trace-common.h trace-projectionsBOC.h register.h ckcallback-ccs.h \
  CkCallback.decl.h TraceProjections.decl.h TopoManager.h \
  TraceProjections.def.h
@@ -353,19 +373,20 @@ trace-summary.o: trace-summary.C charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h trace-summary.h register.h \
- trace-common.h trace-summaryBOC.h ckcallback-ccs.h CkCallback.decl.h \
- TraceSummary.decl.h TraceSummary.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h trace-summary.h \
+ register.h trace-common.h trace-summaryBOC.h ckcallback-ccs.h \
+ CkCallback.decl.h TraceSummary.decl.h TraceSummary.def.h
        $(CHARMC) -c -I. trace-summary.C
 
 trace-simple.o: trace-simple.C charm++.h charm.h converse.h conv-config.h \
@@ -374,18 +395,19 @@ trace-simple.o: trace-simple.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- trace-simple.h register.h trace-common.h trace-simpleBOC.h \
- TraceSimple.decl.h TraceSimple.def.h
+ trace-bluegene.h trace-simple.h register.h trace-common.h \
+ trace-simpleBOC.h TraceSimple.decl.h TraceSimple.def.h
        $(CHARMC) -c -I. trace-simple.C
 
 trace-counter.o: trace-counter.C charm++.h charm.h converse.h \
@@ -394,17 +416,18 @@ trace-counter.o: trace-counter.C charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h
        $(CHARMC) -c -I. trace-counter.C
 
 trace-utilization.o: trace-utilization.C trace-utilization.h charm++.h \
@@ -413,19 +436,20 @@ trace-utilization.o: trace-utilization.C trace-utilization.h charm++.h \
  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
  persistent.h debug-conv.h pup.h middle.h middle-conv.h cklists.h \
  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h converse.h \
+ cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h register.h trace-common.h \
- ckcallback-ccs.h CkCallback.decl.h TraceUtilization.decl.h \
- TraceUtilization.def.h
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+ trace-bluegene.h register.h trace-common.h ckcallback-ccs.h \
+ CkCallback.decl.h TraceUtilization.decl.h TraceUtilization.def.h
        $(CHARMC) -c -I. trace-utilization.C
 
 trace-bluegene.o: trace-bluegene.C charm++.h charm.h converse.h \
@@ -434,17 +458,18 @@ trace-bluegene.o: trace-bluegene.C charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h trace-common.h blue.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h trace-common.h blue.h \
  blue-conv.h blue_impl.h ckliststring.h blue_types.h bigsim_timing.h \
  bigsim_logs.h blue_defs.h bigsim_network.h
        $(CHARMC) -c -I. trace-bluegene.C
@@ -455,18 +480,19 @@ trace-projector.o: trace-projector.C charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h trace-projector.h ck.h qd.h \
- register.h stats.h TopoManager.h allEvents.h charmEvents.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h trace-projector.h ck.h \
+ qd.h register.h stats.h TopoManager.h allEvents.h charmEvents.h \
  charmProjections.h traceCoreAPI.h converseEvents.h converseProjections.h \
  machineEvents.h machineProjections.h traceCore.h threadEvents.h \
  traceCoreCommon.h trace-common.h trace-projections.h
@@ -487,17 +513,18 @@ trace-memory.o: trace-memory.C trace-memory.h charm++.h charm.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h trace-common.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h trace-common.h
        $(CHARMC) -c -I. trace-memory.C
 
 trace-common.o: trace-common.C charm.h converse.h conv-config.h \
@@ -517,17 +544,18 @@ tracec.o: tracec.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- trace-common.h tracec.h
+ trace-bluegene.h trace-common.h tracec.h
        $(CHARMC) -c -I. tracec.C
 
 tracef.o: tracef.C charm++.h charm.h converse.h conv-config.h \
@@ -536,17 +564,17 @@ tracef.o: tracef.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- charm++.h ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
+ charm++.h envelope.h middle.h ckarrayindex.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
  NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
- ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- charm-api.h
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h charm-api.h
        $(CHARMC) -c -I. tracef.C
 
 init.o: init.C ckcheckpoint.h pup.h converse.h conv-config.h \
@@ -557,17 +585,18 @@ init.o: init.C ckcheckpoint.h pup.h converse.h conv-config.h \
  conv-ccs.h sockRoutines.h ccs-server.h ckmessage.h ck.h charm++.h \
  charm.h middle.h conv-config.h middle-conv.h converse.h pup.h cklists.h \
  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h CkMarshall.decl.h ckarrayindex.h cksection.h \
- ckcallback.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ debug-conv++.h simd.h CkMarshall.decl.h envelope.h middle.h \
+ ckarrayindex.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h \
+ cksection.h ckcallback.h ckobjQ.h ckreduction.h CkReduction.decl.h \
  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
  NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
qd.h register.h stats.h TopoManager.h CkCheckpoint.decl.h
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
waitqd.h waitqd.decl.h ckevacuation.h ckarrayreductionmgr.h trace.h \
conv-trace.h trace-bluegene.h qd.h register.h stats.h TopoManager.h \
+ CkCheckpoint.decl.h
        $(CHARMC) -c -I. init.C
 
 register.o: register.C ck.h charm++.h charm.h converse.h conv-config.h \
@@ -576,17 +605,18 @@ register.o: register.C ck.h charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- qd.h register.h stats.h TopoManager.h
+ trace-bluegene.h qd.h register.h stats.h TopoManager.h
        $(CHARMC) -c -I. register.C
 
 qd.o: qd.C ck.h charm++.h charm.h converse.h conv-config.h \
@@ -595,17 +625,18 @@ qd.o: qd.C ck.h charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- qd.h register.h stats.h TopoManager.h
+ trace-bluegene.h qd.h register.h stats.h TopoManager.h
        $(CHARMC) -c -I. qd.C
 
 ck.o: ck.C ck.h charm++.h charm.h converse.h conv-config.h \
@@ -614,18 +645,19 @@ ck.o: ck.C ck.h charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- qd.h register.h stats.h TopoManager.h crc32.h trace-common.h BaseLB.h \
- ckliststring.h CkMarshall.def.h
+ trace-bluegene.h qd.h register.h stats.h TopoManager.h crc32.h \
+ trace-common.h BaseLB.h ckliststring.h CkMarshall.def.h
        $(CHARMC) -c -I. ck.C
 
 msgalloc.o: msgalloc.C ck.h charm++.h charm.h converse.h conv-config.h \
@@ -634,17 +666,18 @@ msgalloc.o: msgalloc.C ck.h charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- qd.h register.h stats.h TopoManager.h
+ trace-bluegene.h qd.h register.h stats.h TopoManager.h
        $(CHARMC) -c -I. msgalloc.C
 
 ckfutures.o: ckfutures.C charm++.h charm.h converse.h conv-config.h \
@@ -653,17 +686,19 @@ ckfutures.o: ckfutures.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
ck.h qd.h register.h stats.h TopoManager.h CkFutures.def.h
+ trace-bluegene.h ck.h qd.h register.h stats.h TopoManager.h \
+ CkFutures.def.h
        $(CHARMC) -c -I. ckfutures.C
 
 ckIgetControl.o: ckIgetControl.C charm++.h charm.h converse.h \
@@ -672,17 +707,18 @@ ckIgetControl.o: ckIgetControl.C charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h ckIgetControl.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h ckIgetControl.h
        $(CHARMC) -c -I. ckIgetControl.C
 
 debug-message.o: debug-message.C ck.h charm++.h charm.h converse.h \
@@ -691,18 +727,19 @@ debug-message.o: debug-message.C ck.h charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
  ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
middle.h ckarrayindex.h cklists.h objid.h qd.h register.h stats.h \
TopoManager.h envelope.h queueing.h
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
trace-bluegene.h qd.h register.h stats.h TopoManager.h envelope.h \
+ queueing.h
        $(CHARMC) -c -I. debug-message.C
 
 debug-charm.o: debug-charm.C converse.h conv-config.h conv-autoconfig.h \
@@ -711,17 +748,19 @@ debug-charm.o: debug-charm.C converse.h conv-config.h conv-autoconfig.h \
  conv-trace.h persistent.h debug-conv.h ckhashtable.h pup.h conv-ccs.h \
  sockRoutines.h ccs-server.h debug-charm.h debug-conv++.h cklists.h \
  charm.h middle.h middle-conv.h register.h ck.h charm++.h ckbitvector.h \
- ckstream.h init.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
- lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
- LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ ckstream.h init.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h converse.h \
+ cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
ckarrayindex.h cklists.h objid.h qd.h stats.h TopoManager.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h qd.h stats.h \
+ TopoManager.h
        $(CHARMC) -c -I. debug-charm.C
 
 ckcallback.o: ckcallback.C charm++.h charm.h converse.h conv-config.h \
@@ -730,17 +769,18 @@ ckcallback.o: ckcallback.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- ckcallback-ccs.h CkCallback.decl.h CkCallback.def.h
+ trace-bluegene.h ckcallback-ccs.h CkCallback.decl.h CkCallback.def.h
        $(CHARMC) -c -I. ckcallback.C
 
 cklocation.o: cklocation.C charm++.h charm.h converse.h conv-config.h \
@@ -749,17 +789,19 @@ cklocation.o: cklocation.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
register.h ck.h qd.h stats.h TopoManager.h CkLocation.def.h
+ trace-bluegene.h register.h ck.h qd.h stats.h TopoManager.h \
+ CkLocation.def.h
        $(CHARMC) -c -I. cklocation.C
 
 ckarray.o: ckarray.C charm++.h charm.h converse.h conv-config.h \
@@ -768,18 +810,19 @@ ckarray.o: ckarray.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- register.h ck.h qd.h stats.h TopoManager.h pathHistory.h \
- PathHistory.decl.h pup_stl.h pup.h CkArray.def.h
+ trace-bluegene.h register.h ck.h qd.h stats.h TopoManager.h \
+ pathHistory.h PathHistory.decl.h CkArray.def.h
        $(CHARMC) -c -I. ckarray.C
 
 ckreduction.o: ckreduction.C charm++.h charm.h converse.h conv-config.h \
@@ -788,17 +831,19 @@ ckreduction.o: ckreduction.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
ck.h qd.h register.h stats.h TopoManager.h CkReduction.def.h
+ trace-bluegene.h ck.h qd.h register.h stats.h TopoManager.h \
+ CkReduction.def.h
        $(CHARMC) -c -I. ckreduction.C
 
 ckarrayreductionmgr.o: ckarrayreductionmgr.C charm++.h charm.h converse.h \
@@ -807,18 +852,19 @@ ckarrayreductionmgr.o: ckarrayreductionmgr.C charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h ck.h qd.h register.h stats.h \
- TopoManager.h CkArrayReductionMgr.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h ck.h qd.h register.h \
+ stats.h TopoManager.h CkArrayReductionMgr.def.h
        $(CHARMC) -c -I. ckarrayreductionmgr.C
 
 tempo.o: tempo.C charm++.h charm.h converse.h conv-config.h \
@@ -827,17 +873,18 @@ tempo.o: tempo.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- tempo.def.h
+ trace-bluegene.h tempo.def.h
        $(CHARMC) -c -I. tempo.C
 
 waitqd.o: waitqd.C waitqd.h charm++.h charm.h converse.h conv-config.h \
@@ -846,36 +893,39 @@ waitqd.o: waitqd.C waitqd.h charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h waitqd.decl.h waitqd.def.h
-       $(CHARMC) -c -I. waitqd.C
-
-LBDatabase.o: LBDatabase.C converse.h conv-config.h conv-autoconfig.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h ckcheckpoint.h ckcallback.h \
+ ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
+ waitqd.decl.h waitqd.def.h
+       $(CHARMC) -c -I. waitqd.C
+
+LBDatabase.o: LBDatabase.C converse.h conv-config.h conv-autoconfig.h \
  conv-common.h conv-mach.h conv-mach-opt.h cmiqueue.h pup_c.h queueing.h \
  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
  conv-trace.h persistent.h debug-conv.h LBDatabase.h lbdb.h charm.h pup.h \
  middle.h middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h LBSimulation.h charm++.h CentralLB.h \
- BaseLB.h CentralLB.decl.h CentralLBMsg.h topology.h NullLB.h BaseLB.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h LBSimulation.h charm++.h CentralLB.h BaseLB.h \
+ CentralLB.decl.h CentralLBMsg.h topology.h NullLB.h BaseLB.h \
  LBDatabase.def.h
        $(CHARMC) -c -I. LBDatabase.C
 
@@ -886,16 +936,18 @@ MetaBalancer.o: MetaBalancer.C converse.h conv-config.h conv-autoconfig.h \
  lbdb.h charm.h pup.h middle.h middle-conv.h LBDBManager.h cklists.h \
  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
  charm++.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h converse.h \
+ cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.decl.h topology.h MetaBalancer.def.h
+ cklocation.h CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h \
ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
tempo.decl.h waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h \
+ ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
NullLB.decl.h BaseLB.decl.h MetaBalancer.decl.h topology.h \
+ MetaBalancer.def.h
        $(CHARMC) -c -I. MetaBalancer.C
 
 lbdb.o: lbdb.C converse.h conv-config.h conv-autoconfig.h conv-common.h \
@@ -906,15 +958,16 @@ lbdb.o: lbdb.C converse.h conv-config.h conv-autoconfig.h conv-common.h \
  LBDBManager.h cklists.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
- CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h \
+ cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
+ cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h \
+ charisma.h charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+ conv-trace.h trace-bluegene.h NullLB.decl.h BaseLB.decl.h
        $(CHARMC) -c -I. lbdb.C
 
 lbdbf.o: lbdbf.C charm++.h charm.h converse.h conv-config.h \
@@ -923,17 +976,18 @@ lbdbf.o: lbdbf.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- charm-api.h
+ trace-bluegene.h charm-api.h
        $(CHARMC) -c -I. lbdbf.C
 
 charisma.o: charisma.C charisma.h charisma.decl.h charm++.h charm.h \
@@ -942,17 +996,18 @@ charisma.o: charisma.C charisma.h charisma.decl.h charm++.h charm.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
- sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h \
- trace.h trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h \
- objid.h charisma.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+ trace-bluegene.h charisma.def.h
        $(CHARMC) -c -I. charisma.C
 
 ckobjQ.o: ckobjQ.C charm++.h charm.h converse.h conv-config.h \
@@ -961,16 +1016,18 @@ ckobjQ.o: ckobjQ.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h
+ trace-bluegene.h
        $(CHARMC) -c -I. ckobjQ.C
 
 LBAgent.o: LBAgent.C LBAgent.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
@@ -981,16 +1038,17 @@ LBAgent.o: LBAgent.C LBAgent.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
- CentralLB.decl.h CentralLBMsg.h topology.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h topology.h
        $(CHARMC) -c -I. LBAgent.C
 
 LBProfit.o: LBProfit.C converse.h conv-config.h conv-autoconfig.h \
@@ -1000,16 +1058,17 @@ LBProfit.o: LBProfit.C converse.h conv-config.h conv-autoconfig.h \
  lbdb.h charm.h pup.h middle.h middle-conv.h LBDBManager.h cklists.h \
  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
  charm++.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h converse.h \
+ cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h
+ cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h \
+ charisma.h charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+ trace-bluegene.h NullLB.decl.h BaseLB.decl.h
        $(CHARMC) -c -I. LBProfit.C
 
 ckcheckpoint.o: ckcheckpoint.C charm++.h charm.h converse.h conv-config.h \
@@ -1018,18 +1077,19 @@ ckcheckpoint.o: ckcheckpoint.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- ck.h qd.h register.h stats.h TopoManager.h CkCheckpoint.decl.h \
- CkCheckpoint.def.h
+ trace-bluegene.h ck.h qd.h register.h stats.h TopoManager.h \
+ CkCheckpoint.decl.h CkCheckpoint.def.h
        $(CHARMC) -c -I. ckcheckpoint.C
 
 ckmemcheckpoint.o: ckmemcheckpoint.C charm++.h charm.h converse.h \
@@ -1038,18 +1098,19 @@ ckmemcheckpoint.o: ckmemcheckpoint.C charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h ck.h qd.h register.h stats.h \
- TopoManager.h CkMemCheckpoint.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h ck.h qd.h register.h \
+ stats.h TopoManager.h CkMemCheckpoint.def.h
        $(CHARMC) -c -I. ckmemcheckpoint.C
 
 ckevacuation.o: ckevacuation.C charm++.h charm.h converse.h conv-config.h \
@@ -1058,17 +1119,18 @@ ckevacuation.o: ckevacuation.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- ck.h qd.h register.h stats.h TopoManager.h
+ trace-bluegene.h ck.h qd.h register.h stats.h TopoManager.h
        $(CHARMC) -c -I. ckevacuation.C
 
 ckmessagelogging.o: ckmessagelogging.C charm.h converse.h conv-config.h \
@@ -1077,19 +1139,20 @@ ckmessagelogging.o: ckmessagelogging.C charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h ck.h charm++.h \
  middle.h middle-conv.h cklists.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
- lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
- LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h qd.h register.h stats.h TopoManager.h \
- ckmessagelogging.h ckobjid.h CentralLB.h BaseLB.h CentralLB.decl.h \
- CentralLBMsg.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h qd.h register.h stats.h \
+ TopoManager.h ckmessagelogging.h ckobjid.h CentralLB.h BaseLB.h \
+ CentralLB.decl.h CentralLBMsg.h
        $(CHARMC) -c -I. ckmessagelogging.C
 
 ckcausalmlog.o: ckcausalmlog.C charm.h converse.h conv-config.h \
@@ -1098,19 +1161,20 @@ ckcausalmlog.o: ckcausalmlog.C charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h ck.h charm++.h \
  middle.h middle-conv.h cklists.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
- lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
- LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h qd.h register.h stats.h TopoManager.h \
- ckcausalmlog.h ckobjid.h CentralLB.h BaseLB.h CentralLB.decl.h \
- CentralLBMsg.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h qd.h register.h stats.h \
+ TopoManager.h ckcausalmlog.h ckobjid.h CentralLB.h BaseLB.h \
+ CentralLB.decl.h CentralLBMsg.h
        $(CHARMC) -c -I. ckcausalmlog.C
 
 ckobjid.o: ckobjid.C charm.h converse.h conv-config.h conv-autoconfig.h \
@@ -1119,17 +1183,18 @@ ckobjid.o: ckobjid.C charm.h converse.h conv-config.h conv-autoconfig.h \
  conv-trace.h persistent.h debug-conv.h pup.h ck.h charm++.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- qd.h register.h stats.h TopoManager.h ckobjid.h
+ trace-bluegene.h qd.h register.h stats.h TopoManager.h ckobjid.h
        $(CHARMC) -c -I. ckobjid.C
 
 LBDBManager.o: LBDBManager.C charm++.h charm.h converse.h conv-config.h \
@@ -1138,17 +1203,17 @@ LBDBManager.o: LBDBManager.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- charm++.h ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
+ charm++.h envelope.h middle.h ckarrayindex.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
  NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
- ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- LBDBManager.h
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h LBDBManager.h
        $(CHARMC) -c -I. LBDBManager.C
 
 LBComm.o: LBComm.C converse.h conv-config.h conv-autoconfig.h \
@@ -1164,17 +1229,18 @@ LBObj.o: LBObj.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- charm++.h ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
+ charm++.h envelope.h middle.h ckarrayindex.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
  NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- LBObj.h LBOM.h LBDBManager.h
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
ckarrayreductionmgr.h trace.h trace-bluegene.h LBObj.h LBOM.h \
+ LBDBManager.h
        $(CHARMC) -c -I. LBObj.C
 
 LBMachineUtil.o: LBMachineUtil.C LBDatabase.h lbdb.h converse.h \
@@ -1185,15 +1251,17 @@ LBMachineUtil.o: LBMachineUtil.C LBDatabase.h lbdb.h converse.h \
  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h
        $(CHARMC) -c -I. LBMachineUtil.C
 
 CentralPredictor.o: CentralPredictor.C charm++.h charm.h converse.h \
@@ -1202,18 +1270,19 @@ CentralPredictor.o: CentralPredictor.C charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h charm++.h ckarrayindex.h objid.h \
+ ckmessage.h pup.h CkMarshall.decl.h charm++.h envelope.h middle.h \
+ ckarrayindex.h objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h \
  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
  ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
middle.h ckarrayindex.h cklists.h objid.h CentralLB.h BaseLB.h \
LBDatabase.h CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
trace-bluegene.h CentralLB.h BaseLB.h LBDatabase.h CentralLB.decl.h \
charm++.h envelope.h sdag.h BaseLB.decl.h LBDatabase.decl.h \
  CentralLBMsg.h
        $(CHARMC) -c -I. CentralPredictor.C
 
@@ -1223,18 +1292,19 @@ BaseLB.o: BaseLB.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- BaseLB.h LBSimulation.h charm++.h CentralLB.h CentralLB.decl.h \
- CentralLBMsg.h BaseLB.def.h
+ trace-bluegene.h BaseLB.h LBSimulation.h charm++.h CentralLB.h \
+ CentralLB.decl.h CentralLBMsg.h BaseLB.def.h
        $(CHARMC) -c -I. BaseLB.C
 
 CentralLB.o: CentralLB.C charm++.h charm.h converse.h conv-config.h \
@@ -1243,21 +1313,22 @@ CentralLB.o: CentralLB.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- charm++.h ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
+ charm++.h envelope.h middle.h ckarrayindex.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
  NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
ck.h charm++.h envelope.h qd.h register.h stats.h ckfutures.h charisma.h \
TopoManager.h converse.h CentralLB.h BaseLB.h LBDatabase.h \
CentralLB.decl.h BaseLB.decl.h LBDatabase.decl.h CentralLBMsg.h \
LBDBManager.h LBSimulation.h ComlibStrategy.h ckhashtable.h pup.h \
convcomlibstrategy.h cklists.h ComlibLearner.h CentralLB.def.h
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
ckarrayreductionmgr.h trace.h trace-bluegene.h ck.h charm++.h envelope.h \
qd.h register.h stats.h ckfutures.h charisma.h TopoManager.h converse.h \
CentralLB.h BaseLB.h LBDatabase.h CentralLB.decl.h sdag.h BaseLB.decl.h \
LBDatabase.decl.h CentralLBMsg.h LBDBManager.h LBSimulation.h \
ComlibStrategy.h ckhashtable.h pup.h convcomlibstrategy.h cklists.h \
+ ComlibLearner.h CentralLB.def.h
        $(CHARMC) -c -I. CentralLB.C
 
 HybridBaseLB.o: HybridBaseLB.C HybridBaseLB.h charm++.h charm.h \
@@ -1266,17 +1337,18 @@ HybridBaseLB.o: HybridBaseLB.C HybridBaseLB.h charm++.h charm.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h BaseLB.h CentralLB.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h BaseLB.h CentralLB.h \
  CentralLB.decl.h CentralLBMsg.h HybridBaseLB.decl.h NeighborLBMsg.h \
  HybridLBMsg.h topology.h GreedyLB.h GreedyLB.decl.h GreedyCommLB.h \
  GreedyCommLB.decl.h CommLBHeap.h RefineCommLB.h RefinerComm.h Refiner.h \
@@ -1292,16 +1364,17 @@ NborBaseLB.o: NborBaseLB.C BaseLB.h LBDatabase.h lbdb.h converse.h \
  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
- NborBaseLB.h NborBaseLB.decl.h NeighborLBMsg.h topology.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h NborBaseLB.h NborBaseLB.decl.h NeighborLBMsg.h topology.h \
  NborBaseLB.def.h
        $(CHARMC) -c -I. NborBaseLB.C
 
@@ -1313,15 +1386,17 @@ ckgraphTemp.o: ckgraphTemp.C ckgraphTemp.h BaseLB.h LBDatabase.h lbdb.h \
  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h ckgraph.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h ckgraph.h
        $(CHARMC) -c -I. ckgraphTemp.C
 
 ckgraph.o: ckgraph.C ckgraph.h BaseLB.h LBDatabase.h lbdb.h converse.h \
@@ -1332,15 +1407,17 @@ ckgraph.o: ckgraph.C ckgraph.h BaseLB.h LBDatabase.h lbdb.h converse.h \
  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h
        $(CHARMC) -c -I. ckgraph.C
 
 LButil.o: LButil.C elements.h converse.h conv-config.h conv-autoconfig.h \
@@ -1351,15 +1428,17 @@ LButil.o: LButil.C elements.h converse.h conv-config.h conv-autoconfig.h \
  LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h
        $(CHARMC) -c -I. LButil.C
 
 RefinerTemp.o: RefinerTemp.C RefinerTemp.h elements.h converse.h \
@@ -1370,16 +1449,18 @@ RefinerTemp.o: RefinerTemp.C RefinerTemp.h elements.h converse.h \
  cklists.h ckheap.h CentralLB.h BaseLB.h LBDatabase.h LBDBManager.h \
  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
  charm++.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h converse.h \
+ cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h
cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h \
charisma.h charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+ trace-bluegene.h NullLB.decl.h BaseLB.decl.h CentralLB.decl.h \
+ CentralLBMsg.h
        $(CHARMC) -c -I. RefinerTemp.C
 
 Refiner.o: Refiner.C Refiner.h elements.h converse.h conv-config.h \
@@ -1390,16 +1471,17 @@ Refiner.o: Refiner.C Refiner.h elements.h converse.h conv-config.h \
  LBDatabase.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h \
  lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
- CentralLB.decl.h CentralLBMsg.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h
        $(CHARMC) -c -I. Refiner.C
 
 RefinerApprox.o: RefinerApprox.C elements.h converse.h conv-config.h \
@@ -1410,16 +1492,17 @@ RefinerApprox.o: RefinerApprox.C elements.h converse.h conv-config.h \
  CentralLB.h BaseLB.h LBDatabase.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h Refiner.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h Refiner.h
        $(CHARMC) -c -I. RefinerApprox.C
 
 RefinerComm.o: RefinerComm.C elements.h converse.h conv-config.h \
@@ -1430,16 +1513,17 @@ RefinerComm.o: RefinerComm.C elements.h converse.h conv-config.h \
  CentralLB.h BaseLB.h LBDatabase.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h Refiner.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h Refiner.h
        $(CHARMC) -c -I. RefinerComm.C
 
 bitvecset.o: bitvecset.c bitvecset.h
@@ -1465,17 +1549,18 @@ CommLBHeap.o: CommLBHeap.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- CommLBHeap.h
+ trace-bluegene.h CommLBHeap.h
        $(CHARMC) -c -I. CommLBHeap.C
 
 NullLB.o: NullLB.C NullLB.h BaseLB.h LBDatabase.h lbdb.h converse.h \
@@ -1486,17 +1571,18 @@ NullLB.o: NullLB.C NullLB.h BaseLB.h LBDatabase.h lbdb.h converse.h \
  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h objid.h cklists.h \
+ objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h \
  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
  CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
- CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
NullLB.decl.h ck.h charm++.h envelope.h qd.h register.h stats.h \
ckfutures.h charisma.h TopoManager.h converse.h NullLB.def.h
+ MetaBalancer.decl.h CkLocation.decl.h cklocrec.h ckmigratable.h \
+ CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
tempo.h tempo.decl.h waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h \
+ ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
NullLB.decl.h BaseLB.decl.h NullLB.decl.h ck.h charm++.h envelope.h qd.h \
register.h stats.h ckfutures.h charisma.h TopoManager.h converse.h \
+ NullLB.def.h
        $(CHARMC) -c -I. NullLB.C
 
 LBSimulation.o: LBSimulation.C LBSimulation.h charm++.h charm.h \
@@ -1505,18 +1591,19 @@ LBSimulation.o: LBSimulation.C LBSimulation.h charm++.h charm.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h charm++.h ckarrayindex.h objid.h \
+ ckmessage.h pup.h CkMarshall.decl.h charm++.h envelope.h middle.h \
+ ckarrayindex.h objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h \
  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
  ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
middle.h ckarrayindex.h cklists.h objid.h CentralLB.h BaseLB.h \
LBDatabase.h CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
trace-bluegene.h CentralLB.h BaseLB.h LBDatabase.h CentralLB.decl.h \
charm++.h envelope.h sdag.h BaseLB.decl.h LBDatabase.decl.h \
  CentralLBMsg.h
        $(CHARMC) -c -I. LBSimulation.C
 
@@ -1526,18 +1613,19 @@ ComlibModuleInterface.o: ComlibModuleInterface.C ComlibStrategy.h \
  conv-cpm.h conv-cpath.h conv-qd.h conv-random.h conv-lists.h \
  conv-trace.h persistent.h debug-conv.h pup.h middle.h middle-conv.h \
  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h converse.h \
+ cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h convcomlibstrategy.h \
- ComlibLearner.h
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+ trace-bluegene.h convcomlibstrategy.h ComlibLearner.h
        $(CHARMC) -c -I. ComlibModuleInterface.C
 
 modifyScheduler.o: modifyScheduler.C charm++.h charm.h converse.h \
@@ -1546,17 +1634,18 @@ modifyScheduler.o: modifyScheduler.C charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h
        $(CHARMC) -c -I. modifyScheduler.C
 
 charmProjections.o: charmProjections.C converse.h conv-config.h \
@@ -1566,18 +1655,19 @@ charmProjections.o: charmProjections.C converse.h conv-config.h \
  traceCoreCommon.h charmEvents.h traceCoreAPI.h ck.h charm++.h charm.h \
  pup.h middle.h middle-conv.h cklists.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
- lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
- LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h qd.h register.h stats.h TopoManager.h \
- trace-common.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h qd.h register.h stats.h \
+ TopoManager.h trace-common.h
        $(CHARMC) -c -I. charmProjections.C
 
 cktiming.o: cktiming.C charm++.h charm.h converse.h conv-config.h \
@@ -1586,17 +1676,18 @@ cktiming.o: cktiming.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- cktiming.h
+ trace-bluegene.h cktiming.h
        $(CHARMC) -c -I. cktiming.C
 
 ckbitvector.o: ckbitvector.C charm++.h charm.h converse.h conv-config.h \
@@ -1605,16 +1696,18 @@ ckbitvector.o: ckbitvector.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h
+ trace-bluegene.h
        $(CHARMC) -c -I. ckbitvector.C
 
 pathHistory.o: pathHistory.C charm++.h charm.h converse.h conv-config.h \
@@ -1623,19 +1716,20 @@ pathHistory.o: pathHistory.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- charm++.h ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
+ charm++.h envelope.h middle.h ckarrayindex.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
  NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
PathHistory.decl.h charm++.h LBDatabase.h pathHistory.h envelope.h \
pup_stl.h register.h trace-projections.h trace.h trace-common.h \
ckhashtable.h pup.h PathHistory.def.h
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
ckarrayreductionmgr.h trace.h trace-bluegene.h PathHistory.decl.h \
charm++.h envelope.h sdag.h LBDatabase.h pathHistory.h register.h \
trace-projections.h trace.h trace-common.h ckhashtable.h pup.h \
+ PathHistory.def.h
        $(CHARMC) -c -I. pathHistory.C
 
 controlPoints.o: controlPoints.C charm++.h charm.h converse.h \
@@ -1644,23 +1738,23 @@ controlPoints.o: controlPoints.C charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h charm++.h ckarrayindex.h objid.h \
+ ckmessage.h pup.h CkMarshall.decl.h charm++.h envelope.h middle.h \
+ ckarrayindex.h objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h \
  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
  ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h controlPoints.h conv-config.h \
- ControlPoints.decl.h charm++.h pup_stl.h charm-api.h LBDatabase.h \
- arrayRedistributor.h pathHistory.h PathHistory.decl.h envelope.h \
- cp_effects.h ck.h qd.h register.h stats.h TopoManager.h ckarray.h \
- trace-controlPoints.h trace.h register.h trace-common.h \
- trace-projections.h ckhashtable.h pup.h pathHistory.h cp_effects.h \
- ControlPoints.def.h
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+ trace-bluegene.h controlPoints.h conv-config.h ControlPoints.decl.h \
+ charm++.h envelope.h sdag.h charm-api.h LBDatabase.h \
+ arrayRedistributor.h pathHistory.h PathHistory.decl.h cp_effects.h ck.h \
+ qd.h register.h stats.h TopoManager.h ckarray.h trace-controlPoints.h \
+ trace.h register.h trace-common.h trace-projections.h ckhashtable.h \
+ pup.h pathHistory.h cp_effects.h ControlPoints.def.h
        $(CHARMC) -c -I. controlPoints.C
 
 arrayRedistributor.o: arrayRedistributor.C charm++.h charm.h converse.h \
@@ -1669,21 +1763,22 @@ arrayRedistributor.o: arrayRedistributor.C charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h charm++.h ckarrayindex.h objid.h \
+ ckmessage.h pup.h CkMarshall.decl.h charm++.h envelope.h middle.h \
+ ckarrayindex.h objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h \
  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
  ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
middle.h ckarrayindex.h cklists.h objid.h trace-controlPoints.h trace.h \
envelope.h register.h trace-common.h LBDatabase.h controlPoints.h \
conv-config.h ControlPoints.decl.h charm++.h pup_stl.h charm-api.h \
arrayRedistributor.h pathHistory.h PathHistory.decl.h cp_effects.h ck.h \
qd.h register.h stats.h TopoManager.h ckarray.h
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
trace-bluegene.h trace-controlPoints.h trace.h envelope.h register.h \
trace-common.h LBDatabase.h controlPoints.h conv-config.h \
ControlPoints.decl.h charm++.h sdag.h charm-api.h arrayRedistributor.h \
pathHistory.h PathHistory.decl.h cp_effects.h ck.h qd.h register.h \
+ stats.h TopoManager.h ckarray.h
        $(CHARMC) -c -I. arrayRedistributor.C
 
 cp_effects.o: cp_effects.C cp_effects.h charm++.h charm.h converse.h \
@@ -1692,18 +1787,18 @@ cp_effects.o: cp_effects.C cp_effects.h charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h charm++.h ckarrayindex.h objid.h \
+ ckmessage.h pup.h CkMarshall.decl.h charm++.h envelope.h middle.h \
+ ckarrayindex.h objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h \
  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
  ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h ck.h qd.h register.h stats.h \
- TopoManager.h ckarray.h
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+ trace-bluegene.h ck.h qd.h register.h stats.h TopoManager.h ckarray.h
        $(CHARMC) -c -I. cp_effects.C
 
 trace-controlPoints.o: trace-controlPoints.C charm++.h charm.h converse.h \
@@ -1712,17 +1807,18 @@ trace-controlPoints.o: trace-controlPoints.C charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h trace-controlPoints.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h trace-controlPoints.h \
  register.h trace-common.h trace-controlPointsBOC.h \
  TraceControlPoints.decl.h TraceControlPoints.def.h
        $(CHARMC) -c -I. trace-controlPoints.C
@@ -1733,18 +1829,19 @@ mpi-interoperate.o: mpi-interoperate.C mpi-interoperate.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h ck.h charm++.h charm.h pup.h middle.h middle-conv.h \
  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h converse.h \
+ cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h qd.h register.h stats.h \
- TopoManager.h
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+ trace-bluegene.h qd.h register.h stats.h TopoManager.h
        $(CHARMC) -c -I. mpi-interoperate.C
 
 EveryLB.o: EveryLB.C LBDatabase.h lbdb.h converse.h conv-config.h \
@@ -1754,16 +1851,17 @@ EveryLB.o: EveryLB.C LBDatabase.h lbdb.h converse.h conv-config.h \
  middle.h middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
  ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h LBDatabase.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
NullLB.decl.h BaseLB.decl.h EveryLB.decl.h charm++.h BlockLB.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
BaseLB.decl.h EveryLB.decl.h charm++.h envelope.h sdag.h BlockLB.decl.h \
  CentralLB.decl.h BaseLB.decl.h LBDatabase.decl.h CentralLBMsg.h \
  CommLB.decl.h DummyLB.decl.h GreedyAgentLB.decl.h GreedyCommLB.decl.h \
  GreedyLB.decl.h NeighborCommLB.decl.h NborBaseLB.decl.h NeighborLBMsg.h \
@@ -1785,23 +1883,25 @@ CommonLBs.o: CommonLBs.C LBDatabase.h lbdb.h converse.h conv-config.h \
  middle.h middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
  ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
  ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h LBDatabase.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
- ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h CommonLBs.decl.h charm++.h BlockLB.decl.h \
- CentralLB.decl.h BaseLB.decl.h LBDatabase.decl.h CentralLBMsg.h \
- CommLB.decl.h DummyLB.decl.h GreedyAgentLB.decl.h GreedyCommLB.decl.h \
- GreedyLB.decl.h NeighborCommLB.decl.h NborBaseLB.decl.h NeighborLBMsg.h \
- NeighborLB.decl.h OrbLB.decl.h PhasebyArrayLB.decl.h RandCentLB.decl.h \
- RecBipartLB.decl.h RefineLB.decl.h RefineCommLB.decl.h RotateLB.decl.h \
- TreeMatchLB.decl.h RefineSwapLB.decl.h CommAwareRefineLB.decl.h \
- AdaptiveLB.decl.h CommonLBs.def.h
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CommonLBs.decl.h charm++.h envelope.h sdag.h \
+ BlockLB.decl.h CentralLB.decl.h BaseLB.decl.h LBDatabase.decl.h \
+ CentralLBMsg.h CommLB.decl.h DummyLB.decl.h GreedyAgentLB.decl.h \
+ GreedyCommLB.decl.h GreedyLB.decl.h NeighborCommLB.decl.h \
+ NborBaseLB.decl.h NeighborLBMsg.h NeighborLB.decl.h OrbLB.decl.h \
+ PhasebyArrayLB.decl.h RandCentLB.decl.h RecBipartLB.decl.h \
+ RefineLB.decl.h RefineCommLB.decl.h RotateLB.decl.h TreeMatchLB.decl.h \
+ RefineSwapLB.decl.h CommAwareRefineLB.decl.h AdaptiveLB.decl.h \
+ CommonLBs.def.h
        $(CHARMC) -c -I. CommonLBs.C
 
 BlockLB.o: BlockLB.C BlockLB.decl.h charm++.h charm.h converse.h \
@@ -1810,17 +1910,18 @@ BlockLB.o: BlockLB.C BlockLB.decl.h charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h CentralLB.decl.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h CentralLB.decl.h \
  CentralLBMsg.h BlockLB.h CentralLB.h BaseLB.h BlockLB.def.h
        $(CHARMC) -c -I. BlockLB.C
 
@@ -1832,17 +1933,18 @@ CommLB.o: CommLB.C CommLB.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h objid.h cklists.h \
+ objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h \
  conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
  CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
  CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
- CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
- CentralLB.decl.h CentralLBMsg.h CommLB.decl.h charm++.h CentralLB.decl.h \
CommLBHeap.h GreedyCommLB.h CentralLB.h GreedyCommLB.decl.h CommLB.def.h
+ MetaBalancer.decl.h CkLocation.decl.h cklocrec.h ckmigratable.h \
+ CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
tempo.h tempo.decl.h waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h \
+ ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h \
NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
+ CommLB.decl.h charm++.h envelope.h sdag.h CentralLB.decl.h CommLBHeap.h \
+ GreedyCommLB.h CentralLB.h GreedyCommLB.decl.h CommLB.def.h
        $(CHARMC) -c -I. CommLB.C
 
 DummyLB.o: DummyLB.C DummyLB.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
@@ -1853,16 +1955,18 @@ DummyLB.o: DummyLB.C DummyLB.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
CentralLB.decl.h CentralLBMsg.h DummyLB.decl.h DummyLB.def.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h DummyLB.decl.h \
+ DummyLB.def.h
        $(CHARMC) -c -I. DummyLB.C
 
 GreedyAgentLB.o: GreedyAgentLB.C LBSimulation.h charm++.h charm.h \
@@ -1871,20 +1975,20 @@ GreedyAgentLB.o: GreedyAgentLB.C LBSimulation.h charm++.h charm.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h charm++.h ckarrayindex.h objid.h \
+ ckmessage.h pup.h CkMarshall.decl.h charm++.h envelope.h middle.h \
+ ckarrayindex.h objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h \
  cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
  ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h CentralLB.h BaseLB.h \
- CentralLB.decl.h CentralLBMsg.h GreedyAgentLB.h CentralLB.h \
- GreedyAgentLB.decl.h charm++.h CentralLB.decl.h LBAgent.h topology.h \
- GreedyAgentLB.def.h
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+ trace-bluegene.h CentralLB.h BaseLB.h CentralLB.decl.h CentralLBMsg.h \
+ GreedyAgentLB.h CentralLB.h GreedyAgentLB.decl.h charm++.h envelope.h \
+ sdag.h CentralLB.decl.h LBAgent.h topology.h GreedyAgentLB.def.h
        $(CHARMC) -c -I. GreedyAgentLB.C
 
 GreedyCommLB.o: GreedyCommLB.C elements.h converse.h conv-config.h \
@@ -1895,17 +1999,18 @@ GreedyCommLB.o: GreedyCommLB.C elements.h converse.h conv-config.h \
  CentralLB.h BaseLB.h LBDatabase.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
- GreedyCommLB.decl.h CommLBHeap.h manager.h GreedyCommLB.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h GreedyCommLB.decl.h \
+ CommLBHeap.h manager.h GreedyCommLB.def.h
        $(CHARMC) -c -I. GreedyCommLB.C
 
 GreedyLB.o: GreedyLB.C charm++.h charm.h converse.h conv-config.h \
@@ -1914,18 +2019,19 @@ GreedyLB.o: GreedyLB.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- ckgraph.h BaseLB.h GreedyLB.h CentralLB.h CentralLB.decl.h \
- CentralLBMsg.h GreedyLB.decl.h GreedyLB.def.h
+ trace-bluegene.h ckgraph.h BaseLB.h GreedyLB.h CentralLB.h \
+ CentralLB.decl.h CentralLBMsg.h GreedyLB.decl.h GreedyLB.def.h
        $(CHARMC) -c -I. GreedyLB.C
 
 NeighborCommLB.o: NeighborCommLB.C elements.h converse.h conv-config.h \
@@ -1936,16 +2042,17 @@ NeighborCommLB.o: NeighborCommLB.C elements.h converse.h conv-config.h \
  NborBaseLB.h BaseLB.h LBDatabase.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h NborBaseLB.decl.h NeighborLBMsg.h topology.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h NborBaseLB.decl.h NeighborLBMsg.h topology.h \
  NeighborCommLB.decl.h NeighborCommLB.def.h
        $(CHARMC) -c -I. NeighborCommLB.C
 
@@ -1957,16 +2064,17 @@ NeighborLB.o: NeighborLB.C elements.h converse.h conv-config.h \
  NborBaseLB.h BaseLB.h LBDatabase.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h NborBaseLB.decl.h NeighborLBMsg.h topology.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h NborBaseLB.decl.h NeighborLBMsg.h topology.h \
  NeighborLB.decl.h NeighborLB.def.h
        $(CHARMC) -c -I. NeighborLB.C
 
@@ -1978,16 +2086,17 @@ OrbLB.o: OrbLB.C OrbLB.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
- CentralLB.decl.h CentralLBMsg.h OrbLB.decl.h OrbLB.def.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h OrbLB.decl.h OrbLB.def.h
        $(CHARMC) -c -I. OrbLB.C
 
 PhasebyArrayLB.o: PhasebyArrayLB.C PhasebyArrayLB.h CentralLB.h BaseLB.h \
@@ -1998,17 +2107,18 @@ PhasebyArrayLB.o: PhasebyArrayLB.C PhasebyArrayLB.h CentralLB.h BaseLB.h \
  middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
- PhasebyArrayLB.decl.h PhasebyArrayLB.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h PhasebyArrayLB.decl.h \
+ PhasebyArrayLB.def.h
        $(CHARMC) -c -I. PhasebyArrayLB.C
 
 RandCentLB.o: RandCentLB.C RandCentLB.h CentralLB.h BaseLB.h LBDatabase.h \
@@ -2019,16 +2129,18 @@ RandCentLB.o: RandCentLB.C RandCentLB.h CentralLB.h BaseLB.h LBDatabase.h \
  LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
CentralLB.decl.h CentralLBMsg.h RandCentLB.decl.h RandCentLB.def.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h RandCentLB.decl.h \
+ RandCentLB.def.h
        $(CHARMC) -c -I. RandCentLB.C
 
 RecBipartLB.o: RecBipartLB.C RecBipartLB.h CentralLB.h BaseLB.h \
@@ -2039,17 +2151,18 @@ RecBipartLB.o: RecBipartLB.C RecBipartLB.h CentralLB.h BaseLB.h \
  middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
- RecBipartLB.decl.h ckgraph.h RecBipartLB.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h RecBipartLB.decl.h \
+ ckgraph.h RecBipartLB.def.h
        $(CHARMC) -c -I. RecBipartLB.C
 
 RefineLB.o: RefineLB.C elements.h converse.h conv-config.h \
@@ -2060,17 +2173,18 @@ RefineLB.o: RefineLB.C elements.h converse.h conv-config.h \
  BaseLB.h LBDatabase.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h Refiner.h \
- RefineLB.decl.h RefineLB.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h Refiner.h RefineLB.decl.h \
+ RefineLB.def.h
        $(CHARMC) -c -I. RefineLB.C
 
 RefineCommLB.o: RefineCommLB.C elements.h converse.h conv-config.h \
@@ -2081,18 +2195,18 @@ RefineCommLB.o: RefineCommLB.C elements.h converse.h conv-config.h \
  CentralLB.h BaseLB.h LBDatabase.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
RefinerComm.h Refiner.h RefineLB.h RefineLB.decl.h RefineCommLB.decl.h \
- RefineCommLB.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h RefinerComm.h Refiner.h \
+ RefineLB.h RefineLB.decl.h RefineCommLB.decl.h RefineCommLB.def.h
        $(CHARMC) -c -I. RefineCommLB.C
 
 RotateLB.o: RotateLB.C RotateLB.decl.h charm++.h charm.h converse.h \
@@ -2101,17 +2215,18 @@ RotateLB.o: RotateLB.C RotateLB.decl.h charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h CentralLB.decl.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h CentralLB.decl.h \
  CentralLBMsg.h RotateLB.h CentralLB.h BaseLB.h RotateLB.def.h
        $(CHARMC) -c -I. RotateLB.C
 
@@ -2121,18 +2236,19 @@ TreeMatchLB.o: TreeMatchLB.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- charm++.h ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
+ charm++.h envelope.h middle.h ckarrayindex.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
  sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
  CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
  readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
  LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
  NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
tm_tree.h tm_mapping.h TreeMatchLB.h CentralLB.h BaseLB.h LBDatabase.h \
CentralLB.decl.h charm++.h BaseLB.decl.h LBDatabase.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
ckarrayreductionmgr.h trace.h trace-bluegene.h tm_tree.h tm_mapping.h \
TreeMatchLB.h CentralLB.h BaseLB.h LBDatabase.h CentralLB.decl.h \
charm++.h envelope.h sdag.h BaseLB.decl.h LBDatabase.decl.h \
  CentralLBMsg.h TreeMatchLB.decl.h ckgraph.h TreeMatchLB.def.h
        $(CHARMC) -c -I. TreeMatchLB.C
 
@@ -2144,17 +2260,18 @@ RefineSwapLB.o: RefineSwapLB.C RefineSwapLB.h CentralLB.h BaseLB.h \
  middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
- RefineSwapLB.decl.h ckgraph.h RefineSwapLB.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h RefineSwapLB.decl.h \
+ ckgraph.h RefineSwapLB.def.h
        $(CHARMC) -c -I. RefineSwapLB.C
 
 CommAwareRefineLB.o: CommAwareRefineLB.C CommAwareRefineLB.h CentralLB.h \
@@ -2165,17 +2282,18 @@ CommAwareRefineLB.o: CommAwareRefineLB.C CommAwareRefineLB.h CentralLB.h \
  middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
- CommAwareRefineLB.decl.h ckgraph.h CommAwareRefineLB.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h CommAwareRefineLB.decl.h \
+ ckgraph.h CommAwareRefineLB.def.h
        $(CHARMC) -c -I. CommAwareRefineLB.C
 
 AdaptiveLB.o: AdaptiveLB.C AdaptiveLB.h CentralLB.h BaseLB.h LBDatabase.h \
@@ -2186,17 +2304,18 @@ AdaptiveLB.o: AdaptiveLB.C AdaptiveLB.h CentralLB.h BaseLB.h LBDatabase.h \
  LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
- CentralLB.decl.h CentralLBMsg.h AdaptiveLB.decl.h ckgraph.h \
- AdaptiveLB.def.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h AdaptiveLB.decl.h \
+ ckgraph.h AdaptiveLB.def.h
        $(CHARMC) -c -I. AdaptiveLB.C
 
 ComboCentLB.o: ComboCentLB.C ComboCentLB.h CentralLB.h BaseLB.h \
@@ -2207,17 +2326,18 @@ ComboCentLB.o: ComboCentLB.C ComboCentLB.h CentralLB.h BaseLB.h \
  middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
- ComboCentLB.decl.h ComboCentLB.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h ComboCentLB.decl.h \
+ ComboCentLB.def.h
        $(CHARMC) -c -I. ComboCentLB.C
 
 GraphPartLB.o: GraphPartLB.C GraphPartLB.h CentralLB.h BaseLB.h \
@@ -2228,17 +2348,18 @@ GraphPartLB.o: GraphPartLB.C GraphPartLB.h CentralLB.h BaseLB.h \
  middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
- GraphPartLB.decl.h ckgraph.h GraphPartLB.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h GraphPartLB.decl.h \
+ ckgraph.h GraphPartLB.def.h
        $(CHARMC) -c -I. GraphPartLB.C
 
 GraphBFTLB.o: GraphBFTLB.C GraphBFTLB.h CentralLB.h BaseLB.h LBDatabase.h \
@@ -2249,17 +2370,18 @@ GraphBFTLB.o: GraphBFTLB.C GraphBFTLB.h CentralLB.h BaseLB.h LBDatabase.h \
  LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
- CentralLB.decl.h CentralLBMsg.h GraphBFTLB.decl.h ckgraph.h \
- GraphBFTLB.def.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h GraphBFTLB.decl.h \
+ ckgraph.h GraphBFTLB.def.h
        $(CHARMC) -c -I. GraphBFTLB.C
 
 GridCommLB.o: GridCommLB.C GridCommLB.decl.h charm++.h charm.h converse.h \
@@ -2268,17 +2390,18 @@ GridCommLB.o: GridCommLB.C GridCommLB.decl.h charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h CentralLB.decl.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h CentralLB.decl.h \
  CentralLBMsg.h GridCommLB.h CentralLB.h BaseLB.h manager.h \
  GridCommLB.def.h
        $(CHARMC) -c -I. GridCommLB.C
@@ -2289,19 +2412,20 @@ GridCommRefineLB.o: GridCommRefineLB.C GridCommRefineLB.decl.h charm++.h \
  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
  persistent.h debug-conv.h pup.h middle.h middle-conv.h cklists.h \
  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h converse.h \
+ cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h CentralLB.decl.h \
- CentralLBMsg.h GridCommRefineLB.h CentralLB.h BaseLB.h manager.h \
- GridCommRefineLB.def.h
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+ trace-bluegene.h CentralLB.decl.h CentralLBMsg.h GridCommRefineLB.h \
+ CentralLB.h BaseLB.h manager.h GridCommRefineLB.def.h
        $(CHARMC) -c -I. GridCommRefineLB.C
 
 GridHybridLB.o: GridHybridLB.C GridHybridLB.decl.h charm++.h charm.h \
@@ -2310,17 +2434,18 @@ GridHybridLB.o: GridHybridLB.C GridHybridLB.decl.h charm++.h charm.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h CentralLB.decl.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h CentralLB.decl.h \
  CentralLBMsg.h GridHybridLB.h CentralLB.h BaseLB.h manager.h \
  GridHybridLB.def.h
        $(CHARMC) -c -I. GridHybridLB.C
@@ -2331,19 +2456,20 @@ GridHybridSeedLB.o: GridHybridSeedLB.C GridHybridSeedLB.decl.h charm++.h \
  conv-cpath.h conv-qd.h conv-random.h conv-lists.h conv-trace.h \
  persistent.h debug-conv.h pup.h middle.h middle-conv.h cklists.h \
  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h converse.h \
+ cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
  ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
  cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h CentralLB.decl.h \
- CentralLBMsg.h GridHybridSeedLB.h CentralLB.h BaseLB.h manager.h \
- GridHybridSeedLB.def.h
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+ trace-bluegene.h CentralLB.decl.h CentralLBMsg.h GridHybridSeedLB.h \
+ CentralLB.h BaseLB.h manager.h GridHybridSeedLB.def.h
        $(CHARMC) -c -I. GridHybridSeedLB.C
 
 GridMetisLB.o: GridMetisLB.C GridMetisLB.decl.h charm++.h charm.h \
@@ -2352,17 +2478,18 @@ GridMetisLB.o: GridMetisLB.C GridMetisLB.decl.h charm++.h charm.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h CentralLB.decl.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h CentralLB.decl.h \
  CentralLBMsg.h GridMetisLB.h CentralLB.h BaseLB.h manager.h \
  GridMetisLB.def.h
        $(CHARMC) -c -I. GridMetisLB.C
@@ -2375,20 +2502,21 @@ HbmLB.o: HbmLB.C HbmLB.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
- CentralLB.decl.h CentralLBMsg.h HbmLB.decl.h NeighborLBMsg.h \
- HybridLBMsg.h topology.h GreedyLB.h GreedyLB.decl.h GreedyCommLB.h \
- GreedyCommLB.decl.h CommLBHeap.h RefineCommLB.h RefinerComm.h Refiner.h \
- elements.h ckset.h ckheap.h RefineLB.h RefineLB.decl.h \
- RefineCommLB.decl.h HbmLB.def.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h HbmLB.decl.h \
+ NeighborLBMsg.h HybridLBMsg.h topology.h GreedyLB.h GreedyLB.decl.h \
+ GreedyCommLB.h GreedyCommLB.decl.h CommLBHeap.h RefineCommLB.h \
+ RefinerComm.h Refiner.h elements.h ckset.h ckheap.h RefineLB.h \
+ RefineLB.decl.h RefineCommLB.decl.h HbmLB.def.h
        $(CHARMC) -c -I. HbmLB.C
 
 HybridLB.o: HybridLB.C HybridLB.h CentralLB.h BaseLB.h LBDatabase.h \
@@ -2399,21 +2527,22 @@ HybridLB.o: HybridLB.C HybridLB.h CentralLB.h BaseLB.h LBDatabase.h \
  LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
- CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
- CentralLB.decl.h CentralLBMsg.h HybridBaseLB.h HybridBaseLB.decl.h \
- NeighborLBMsg.h HybridLBMsg.h topology.h HybridLB.decl.h GreedyLB.h \
- GreedyLB.decl.h GreedyCommLB.h GreedyCommLB.decl.h CommLBHeap.h \
- RefineCommLB.h RefinerComm.h Refiner.h elements.h ckset.h ckheap.h \
- RefineLB.h RefineLB.decl.h RefineCommLB.decl.h MetisLB.h MetisLB.decl.h \
- HybridLB.def.h
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h HybridBaseLB.h \
+ HybridBaseLB.decl.h NeighborLBMsg.h HybridLBMsg.h topology.h \
+ HybridLB.decl.h GreedyLB.h GreedyLB.decl.h GreedyCommLB.h \
+ GreedyCommLB.decl.h CommLBHeap.h RefineCommLB.h RefinerComm.h Refiner.h \
+ elements.h ckset.h ckheap.h RefineLB.h RefineLB.decl.h \
+ RefineCommLB.decl.h MetisLB.h MetisLB.decl.h HybridLB.def.h
        $(CHARMC) -c -I. HybridLB.C
 
 RefineKLB.o: RefineKLB.C elements.h converse.h conv-config.h \
@@ -2424,17 +2553,18 @@ RefineKLB.o: RefineKLB.C elements.h converse.h conv-config.h \
  CentralLB.h BaseLB.h LBDatabase.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
- RefinerApprox.h Refiner.h RefineKLB.decl.h RefineKLB.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h RefinerApprox.h Refiner.h \
+ RefineKLB.decl.h RefineKLB.def.h
        $(CHARMC) -c -I. RefineKLB.C
 
 RefineTopoLB.o: RefineTopoLB.C RefineTopoLB.decl.h charm++.h charm.h \
@@ -2443,17 +2573,18 @@ RefineTopoLB.o: RefineTopoLB.C RefineTopoLB.decl.h charm++.h charm.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h CentralLB.decl.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h CentralLB.decl.h \
  CentralLBMsg.h RefineTopoLB.h CentralLB.h BaseLB.h TopoLB.h topology.h \
  RefineTopoLB.def.h
        $(CHARMC) -c -I. RefineTopoLB.C
@@ -2464,17 +2595,18 @@ TopoCentLB.o: TopoCentLB.C TopoCentLB.decl.h charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h CentralLB.decl.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h CentralLB.decl.h \
  CentralLBMsg.h TopoCentLB.h CentralLB.h BaseLB.h topology.h \
  TopoCentLB.def.h
        $(CHARMC) -c -I. TopoCentLB.C
@@ -2485,17 +2617,18 @@ TopoLB.o: TopoLB.C TopoLB.decl.h charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h CentralLB.decl.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h CentralLB.decl.h \
  CentralLBMsg.h TopoLB.h CentralLB.h BaseLB.h topology.h TopoLB.def.h
        $(CHARMC) -c -I. TopoLB.C
 
@@ -2507,18 +2640,19 @@ TempAwareRefineLB.o: TempAwareRefineLB.C TempAwareRefineLB.h CentralLB.h \
  middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
- RefinerTemp.h elements.h ckset.h ckheap.h TempAwareRefineLB.decl.h \
- ckgraph.h TempAwareRefineLB.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h RefinerTemp.h elements.h \
+ ckset.h ckheap.h TempAwareRefineLB.decl.h ckgraph.h \
+ TempAwareRefineLB.def.h
        $(CHARMC) -c -I. TempAwareRefineLB.C
 
 TempAwareCommLB.o: TempAwareCommLB.C TempAwareCommLB.h CentralLB.h \
@@ -2529,17 +2663,18 @@ TempAwareCommLB.o: TempAwareCommLB.C TempAwareCommLB.h CentralLB.h \
  middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
- TempAwareCommLB.decl.h ckgraphTemp.h ckgraph.h TempAwareCommLB.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h TempAwareCommLB.decl.h \
+ ckgraphTemp.h ckgraph.h TempAwareCommLB.def.h
        $(CHARMC) -c -I. TempAwareCommLB.C
 
 TempAwareGreedyLB.o: TempAwareGreedyLB.C TempAwareGreedyLB.h CentralLB.h \
@@ -2550,17 +2685,18 @@ TempAwareGreedyLB.o: TempAwareGreedyLB.C TempAwareGreedyLB.h CentralLB.h \
  middle-conv.h LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h \
  LBMachineUtil.h lbdb++.h LBDatabase.decl.h charm++.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h \
- CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h \
- tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h \
- ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- NullLB.decl.h BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h \
- TempAwareGreedyLB.decl.h ckgraph.h TempAwareGreedyLB.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h TempAwareGreedyLB.decl.h \
+ ckgraph.h TempAwareGreedyLB.def.h
        $(CHARMC) -c -I. TempAwareGreedyLB.C
 
 MetisLB.o: MetisLB.C MetisLB.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
@@ -2571,17 +2707,18 @@ MetisLB.o: MetisLB.C MetisLB.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
- CentralLB.decl.h CentralLBMsg.h MetisLB.decl.h ckgraph.h metis.h \
- MetisLB.def.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h MetisLB.decl.h ckgraph.h \
+ metis.h MetisLB.def.h
        $(CHARMC) -c -I. MetisLB.C
 
 ScotchLB.o: ScotchLB.C ScotchLB.h CentralLB.h BaseLB.h LBDatabase.h \
@@ -2592,17 +2729,18 @@ ScotchLB.o: ScotchLB.C ScotchLB.h CentralLB.h BaseLB.h LBDatabase.h \
  LBDBManager.h cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
- CentralLB.decl.h CentralLBMsg.h ScotchLB.decl.h ckgraph.h scotch.h \
- ScotchLB.def.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h ScotchLB.decl.h ckgraph.h \
+ scotch.h ScotchLB.def.h
        $(CHARMC) -c -I. ScotchLB.C
 
 TeamLB.o: TeamLB.C TeamLB.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
@@ -2613,17 +2751,18 @@ TeamLB.o: TeamLB.C TeamLB.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
- CentralLB.decl.h CentralLBMsg.h TeamLB.decl.h ckgraph.h metis.h \
- TeamLB.def.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h TeamLB.decl.h ckgraph.h \
+ metis.h TeamLB.def.h
        $(CHARMC) -c -I. TeamLB.C
 
 WSLB.o: WSLB.C elements.h converse.h conv-config.h conv-autoconfig.h \
@@ -2634,16 +2773,17 @@ WSLB.o: WSLB.C elements.h converse.h conv-config.h conv-autoconfig.h \
  LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h WSLB.decl.h \
- topology.h WSLB.def.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h WSLB.decl.h topology.h WSLB.def.h
        $(CHARMC) -c -I. WSLB.C
 
 manager.o: manager.C manager.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
@@ -2654,16 +2794,17 @@ manager.o: manager.C manager.h CentralLB.h BaseLB.h LBDatabase.h lbdb.h \
  cklists.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
  LBDatabase.decl.h charm++.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h \
+ charm.h objid.h converse.h cklists.h objid.h sdag.h pup_stl.h \
+ ckarrayindex.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h \
+ ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
  CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h NullLB.decl.h BaseLB.decl.h \
- CentralLB.decl.h CentralLBMsg.h
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h NullLB.decl.h \
+ BaseLB.decl.h CentralLB.decl.h CentralLBMsg.h
        $(CHARMC) -c -I. manager.C
 
 tm_tree.o: tm_tree.c tm_tree.h tm_timings.h tm_bucket.h
@@ -2771,16 +2912,18 @@ blue_stub.o: blue_stub.C charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h
+ trace-bluegene.h
        $(CHARMC) -c -I. blue_stub.C
 
 blue_standalone.o: blue_standalone.C
@@ -2810,17 +2953,18 @@ ChunkMulticastStrategy.o: ChunkMulticastStrategy.C \
  conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
  charm++.h charm.h converse.h pup.h middle.h conv-config.h middle-conv.h \
  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h ckhashtable.h charm.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h \
  convcomlibstrategy.h ComlibLearner.h ComlibArrayListener.h ComlibStats.h \
  comlib.decl.h ComlibSectionInfo.h queueing.h ck.h qd.h register.h \
  stats.h TopoManager.h spanningTreeStrategy.h spanningTreeVertex.h \
@@ -2837,17 +2981,18 @@ OneTimeMulticastStrategy.o: OneTimeMulticastStrategy.C \
  conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
  charm++.h charm.h converse.h pup.h middle.h conv-config.h middle-conv.h \
  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h ckhashtable.h charm.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h \
  convcomlibstrategy.h ComlibLearner.h ComlibArrayListener.h ComlibStats.h \
  comlib.decl.h ComlibSectionInfo.h TopoManager.h spanningTreeStrategy.h \
  spanningTreeVertex.h treeStrategy_topoUnaware.h \
@@ -2863,17 +3008,18 @@ EachToManyMulticastStrategy.o: EachToManyMulticastStrategy.C \
  conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
  charm++.h charm.h converse.h pup.h middle.h conv-config.h middle-conv.h \
  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h ckhashtable.h charm.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h \
  convcomlibstrategy.h ComlibLearner.h ComlibArrayListener.h ComlibStats.h \
  comlib.decl.h routerstrategy.h router.h AAPLearner.h convcomlib.h \
  AAMLearner.h
@@ -2887,19 +3033,19 @@ ComlibSectionInfo.o: ComlibSectionInfo.C ComlibManager.h \
  ComlibStrategy.h charm++.h charm.h converse.h pup.h middle.h \
  conv-config.h middle-conv.h cklists.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h MetaBalancer.h \
MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h envelope.h \
middle.h ckarrayindex.h cklists.h objid.h convcomlibstrategy.h \
ComlibLearner.h ComlibArrayListener.h ComlibStats.h comlib.decl.h \
- ComlibSectionInfo.h
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h ckhashtable.h \
+ charm.h objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h \
cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
conv-trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
+ ComlibArrayListener.h ComlibStats.h comlib.decl.h ComlibSectionInfo.h
        $(CHARMC) -c -I. ComlibSectionInfo.C
 
 AAPLearner.o: AAPLearner.C
@@ -2911,20 +3057,20 @@ ComlibStats.o: ComlibStats.C ComlibStats.h charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
middle.h ckarrayindex.h cklists.h objid.h convcomlibmanager.h \
- convcomlibstrategy.h converse.h pup.h cklists.h ComlibStrategy.h \
- convcomlibstrategy.h ComlibLearner.h ComlibManager.h \
- ComlibArrayListener.h comlib.decl.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h convcomlibmanager.h \
+ convcomlibstrategy.h cklists.h ComlibStrategy.h convcomlibstrategy.h \
+ ComlibLearner.h ComlibManager.h ComlibArrayListener.h comlib.decl.h
        $(CHARMC) -c -I. ComlibStats.C
 
 AAMLearner.o: AAMLearner.C
@@ -2941,17 +3087,18 @@ MulticastStrategy.o: MulticastStrategy.C MulticastStrategy.h \
  debug-conv.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h \
  converse.h pup.h middle.h conv-config.h middle-conv.h cklists.h \
  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h ckhashtable.h charm.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h \
  convcomlibstrategy.h ComlibLearner.h ComlibArrayListener.h ComlibStats.h \
  comlib.decl.h ComlibSectionInfo.h
        $(CHARMC) -c -I. MulticastStrategy.C
@@ -2965,19 +3112,19 @@ DirectMulticastStrategy.o: DirectMulticastStrategy.C \
  ComlibStrategy.h charm++.h charm.h converse.h pup.h middle.h \
  conv-config.h middle-conv.h cklists.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h MetaBalancer.h \
MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h envelope.h \
middle.h ckarrayindex.h cklists.h objid.h convcomlibstrategy.h \
ComlibLearner.h ComlibArrayListener.h ComlibStats.h comlib.decl.h \
- ComlibSectionInfo.h
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h ckhashtable.h \
+ charm.h objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h \
cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
conv-trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
+ ComlibArrayListener.h ComlibStats.h comlib.decl.h ComlibSectionInfo.h
        $(CHARMC) -c -I. DirectMulticastStrategy.C
 
 RingMulticastStrategy.o: RingMulticastStrategy.C RingMulticastStrategy.h \
@@ -2988,17 +3135,18 @@ RingMulticastStrategy.o: RingMulticastStrategy.C RingMulticastStrategy.h \
  conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
  charm++.h charm.h converse.h pup.h middle.h conv-config.h middle-conv.h \
  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h ckhashtable.h charm.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h \
  convcomlibstrategy.h ComlibLearner.h ComlibArrayListener.h ComlibStats.h \
  comlib.decl.h ComlibSectionInfo.h
        $(CHARMC) -c -I. RingMulticastStrategy.C
@@ -3011,17 +3159,18 @@ MultiRingMulticast.o: MultiRingMulticast.C MultiRingMulticast.h \
  conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
  charm++.h charm.h converse.h pup.h middle.h conv-config.h middle-conv.h \
  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h ckhashtable.h charm.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h \
  convcomlibstrategy.h ComlibLearner.h ComlibArrayListener.h ComlibStats.h \
  comlib.decl.h ComlibSectionInfo.h
        $(CHARMC) -c -I. MultiRingMulticast.C
@@ -3034,17 +3183,18 @@ PipeBroadcastStrategy.o: PipeBroadcastStrategy.C PipeBroadcastStrategy.h \
  debug-conv.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h \
  converse.h pup.h middle.h conv-config.h middle-conv.h cklists.h \
  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h ckhashtable.h charm.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h \
  convcomlibstrategy.h ComlibLearner.h ComlibArrayListener.h ComlibStats.h \
  comlib.decl.h pipebroadcastconverse.h
        $(CHARMC) -c -I. PipeBroadcastStrategy.C
@@ -3057,18 +3207,19 @@ MeshStreamingStrategy.o: MeshStreamingStrategy.C MeshStreamingStrategy.h \
  ComlibStrategy.h charm++.h charm.h converse.h pup.h middle.h \
  conv-config.h middle-conv.h cklists.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
- lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
- LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
- CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h convcomlibstrategy.h \
- ComlibLearner.h pup_cmialloc.h
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h ckhashtable.h \
+ charm.h objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h \
+ cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+ conv-trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
+ pup_cmialloc.h
        $(CHARMC) -c -I. MeshStreamingStrategy.C
 
 PrioStreaming.o: PrioStreaming.C PrioStreaming.h ComlibManager.h \
@@ -3079,19 +3230,19 @@ PrioStreaming.o: PrioStreaming.C PrioStreaming.h ComlibManager.h \
  ComlibStrategy.h charm++.h charm.h converse.h pup.h middle.h \
  conv-config.h middle-conv.h cklists.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h MetaBalancer.h \
MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h envelope.h \
middle.h ckarrayindex.h cklists.h objid.h convcomlibstrategy.h \
ComlibLearner.h ComlibArrayListener.h ComlibStats.h comlib.decl.h \
- StreamingStrategy.h
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h ckhashtable.h \
+ charm.h objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h \
cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
conv-trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
ComlibArrayListener.h ComlibStats.h comlib.decl.h StreamingStrategy.h
        $(CHARMC) -c -I. PrioStreaming.C
 
 BroadcastStrategy.o: BroadcastStrategy.C BroadcastStrategy.h \
@@ -3102,17 +3253,18 @@ BroadcastStrategy.o: BroadcastStrategy.C BroadcastStrategy.h \
  debug-conv.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h \
  converse.h pup.h middle.h conv-config.h middle-conv.h cklists.h \
  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h ckhashtable.h charm.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h \
  convcomlibstrategy.h ComlibLearner.h ComlibArrayListener.h ComlibStats.h \
  comlib.decl.h
        $(CHARMC) -c -I. BroadcastStrategy.C
@@ -3125,17 +3277,18 @@ RectMulticastStrategy.o: RectMulticastStrategy.C RectMulticastStrategy.h \
  debug-conv.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h \
  converse.h pup.h middle.h conv-config.h middle-conv.h cklists.h \
  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h ckhashtable.h charm.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h \
  convcomlibstrategy.h ComlibLearner.h ComlibArrayListener.h ComlibStats.h \
  comlib.decl.h ComlibSectionInfo.h
        $(CHARMC) -c -I. RectMulticastStrategy.C
@@ -3147,17 +3300,18 @@ convcomlibstrategy.o: convcomlibstrategy.C convcomlibmanager.h \
  conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
  charm++.h charm.h converse.h pup.h middle.h conv-config.h middle-conv.h \
  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h ckhashtable.h charm.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h \
  convcomlibstrategy.h ComlibLearner.h
        $(CHARMC) -c -I. convcomlibstrategy.C
 
@@ -3168,17 +3322,18 @@ ComlibManager.o: ComlibManager.C ComlibManager.h convcomlibmanager.h \
  conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
  charm++.h charm.h converse.h pup.h middle.h conv-config.h middle-conv.h \
  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h ckhashtable.h charm.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h \
  convcomlibstrategy.h ComlibLearner.h ComlibArrayListener.h ComlibStats.h \
  comlib.decl.h comlib.h StreamingStrategy.h MeshStreamingStrategy.h \
  PrioStreaming.h BroadcastStrategy.h PipeBroadcastStrategy.h \
@@ -3195,17 +3350,18 @@ ComlibStrategy.o: ComlibStrategy.C ComlibStrategy.h charm++.h charm.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h convcomlibstrategy.h \
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h convcomlibstrategy.h \
  ComlibLearner.h register.h
        $(CHARMC) -c -I. ComlibStrategy.C
 
@@ -3217,17 +3373,18 @@ gridrouter.o: gridrouter.C gridrouter.h petable.h router.h cklists.h \
  converse.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h middle.h \
  middle-conv.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h ckhashtable.h charm.h objid.h \
+ cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- convcomlibstrategy.h ComlibLearner.h
+ trace-bluegene.h convcomlibstrategy.h ComlibLearner.h
        $(CHARMC) -c -I. gridrouter.C
 
 hypercuberouter.o: hypercuberouter.C hypercuberouter.h petable.h router.h \
@@ -3238,17 +3395,18 @@ hypercuberouter.o: hypercuberouter.C hypercuberouter.h petable.h router.h \
  converse.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h middle.h \
  middle-conv.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h ckhashtable.h charm.h objid.h \
+ cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- convcomlibstrategy.h ComlibLearner.h
+ trace-bluegene.h convcomlibstrategy.h ComlibLearner.h
        $(CHARMC) -c -I. hypercuberouter.C
 
 treerouter.o: treerouter.C treerouter.h petable.h router.h cklists.h \
@@ -3259,17 +3417,18 @@ treerouter.o: treerouter.C treerouter.h petable.h router.h cklists.h \
  converse.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h middle.h \
  middle-conv.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h ckhashtable.h charm.h objid.h \
+ cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- convcomlibstrategy.h ComlibLearner.h
+ trace-bluegene.h convcomlibstrategy.h ComlibLearner.h
        $(CHARMC) -c -I. treerouter.C
 
 petable.o: petable.C petable.h router.h cklists.h pup.h converse.h \
@@ -3279,17 +3438,18 @@ petable.o: petable.C petable.h router.h cklists.h pup.h converse.h \
  debug-conv.h convcomlibmanager.h convcomlibstrategy.h converse.h pup.h \
  cklists.h ComlibStrategy.h charm++.h charm.h middle.h middle-conv.h \
  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h convcomlibstrategy.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h ckhashtable.h charm.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h convcomlibstrategy.h \
  ComlibLearner.h
        $(CHARMC) -c -I. petable.C
 
@@ -3301,17 +3461,18 @@ petable.o: petable.C petable.h router.h cklists.h pup.h converse.h \
  converse.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h middle.h \
  middle-conv.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h ckhashtable.h charm.h objid.h \
+ cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- convcomlibstrategy.h ComlibLearner.h
+ trace-bluegene.h convcomlibstrategy.h ComlibLearner.h
        $(CHARMC) -c -I. 3dgridrouter.C
 
 graphrouter.o: graphrouter.C graphrouter.h petable.h router.h cklists.h \
@@ -3322,17 +3483,19 @@ graphrouter.o: graphrouter.C graphrouter.h petable.h router.h cklists.h \
  converse.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h middle.h \
  middle-conv.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h ckhashtable.h charm.h objid.h \
+ cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
convcomlibstrategy.h ComlibLearner.h hypercubetopology.h
+ trace-bluegene.h convcomlibstrategy.h ComlibLearner.h \
+ hypercubetopology.h
        $(CHARMC) -c -I. graphrouter.C
 
 hypercubetopology.o: hypercubetopology.C hypercubetopology.h \
@@ -3343,17 +3506,18 @@ hypercubetopology.o: hypercubetopology.C hypercubetopology.h \
  debug-conv.h convcomlibmanager.h convcomlibstrategy.h converse.h pup.h \
  cklists.h ComlibStrategy.h charm++.h charm.h middle.h middle-conv.h \
  ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h convcomlibstrategy.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h ckhashtable.h charm.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h convcomlibstrategy.h \
  ComlibLearner.h
        $(CHARMC) -c -I. hypercubetopology.C
 
@@ -3364,17 +3528,18 @@ routerstrategy.o: routerstrategy.C routerstrategy.h convcomlibmanager.h \
  conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
  charm++.h charm.h converse.h pup.h middle.h conv-config.h middle-conv.h \
  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h ckhashtable.h charm.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h \
  convcomlibstrategy.h ComlibLearner.h router.h gridrouter.h petable.h \
  persistent.h graphrouter.h hypercuberouter.h treerouter.h 3dgridrouter.h \
  prefixrouter.h converse.h
@@ -3387,17 +3552,18 @@ convcomlibmanager.o: convcomlibmanager.C convcomlibmanager.h \
  conv-trace.h persistent.h debug-conv.h pup.h cklists.h ComlibStrategy.h \
  charm++.h charm.h converse.h pup.h middle.h conv-config.h middle-conv.h \
  cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h debug-charm.h \
- debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h \
- objid.h cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h \
- ckobjQ.h ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h conv-trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
+ debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h envelope.h \
+ middle.h ckarrayindex.h ckhashtable.h charm.h objid.h cklists.h objid.h \
+ sdag.h pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h \
  convcomlibstrategy.h ComlibLearner.h routerstrategy.h router.h \
  StreamingStrategy.h MeshStreamingStrategy.h pipebroadcastconverse.h
        $(CHARMC) -c -I. convcomlibmanager.C
@@ -3410,17 +3576,18 @@ pipebroadcastconverse.o: pipebroadcastconverse.C pipebroadcastconverse.h \
  convcomlibstrategy.h converse.h pup.h cklists.h ComlibStrategy.h \
  charm++.h charm.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
- CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
- CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
- lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
- LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h MetaBalancer.h \
- MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
- CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
- waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h middle.h \
- ckarrayindex.h cklists.h objid.h convcomlibstrategy.h ComlibLearner.h
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h ckhashtable.h \
+ charm.h objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h \
+ cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
+ ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
+ trace-bluegene.h convcomlibstrategy.h ComlibLearner.h
        $(CHARMC) -c -I. pipebroadcastconverse.C
 
 pipelinestrategy.o: pipelinestrategy.C
@@ -3434,18 +3601,18 @@ prefixrouter.o: prefixrouter.C prefixrouter.h converse.h conv-config.h \
  convcomlibstrategy.h pup.h cklists.h ComlibStrategy.h charm++.h charm.h \
  middle.h conv-config.h middle-conv.h ckbitvector.h ckstream.h init.h \
  ckhashtable.h debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h \
- CkMarshall.decl.h ckarrayindex.h objid.h cksection.h ckcallback.h \
- conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h \
CkReduction.decl.h CkArrayReductionMgr.decl.h ckmemcheckpoint.h \
CkMemCheckpoint.decl.h readonly.h ckarray.h cklocation.h LBDatabase.h \
lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h \
LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h MetaBalancer.h \
MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h ckfutures.h \
CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h ckevacuation.h \
- ckarrayreductionmgr.h trace.h conv-trace.h trace-bluegene.h envelope.h \
middle.h ckarrayindex.h cklists.h objid.h convcomlibstrategy.h \
- ComlibLearner.h
+ CkMarshall.decl.h envelope.h middle.h ckarrayindex.h ckhashtable.h \
+ charm.h objid.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h \
cksection.h ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
conv-trace.h trace-bluegene.h convcomlibstrategy.h ComlibLearner.h
        $(CHARMC) -c -I. prefixrouter.C
 
 mpi-mainmodule.o: mpi-mainmodule.C mpi_main.decl.h charm++.h charm.h \
@@ -3454,18 +3621,19 @@ mpi-mainmodule.o: mpi-mainmodule.C mpi_main.decl.h charm++.h charm.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h mpi-interoperate.h ck.h qd.h \
- register.h stats.h TopoManager.h mpi_main.def.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h mpi-interoperate.h ck.h \
+ qd.h register.h stats.h TopoManager.h mpi_main.def.h
        $(CHARMC) -c -I. mpi-mainmodule.C
 
 main.o: main.C ck.h charm++.h charm.h converse.h conv-config.h \
@@ -3474,17 +3642,18 @@ main.o: main.C ck.h charm++.h charm.h converse.h conv-config.h \
  conv-lists.h conv-trace.h persistent.h debug-conv.h pup.h middle.h \
  middle-conv.h cklists.h ckbitvector.h ckstream.h init.h ckhashtable.h \
  debug-charm.h debug-conv++.h simd.h ckmessage.h pup.h CkMarshall.decl.h \
- ckarrayindex.h objid.h cksection.h ckcallback.h conv-ccs.h \
- sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
- CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
- readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
- LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
- NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
- CkLocation.decl.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
- charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h sdag.h \
+ envelope.h middle.h ckarrayindex.h pup.h ckhashtable.h charm.h objid.h \
+ converse.h cklists.h objid.h sdag.h pup_stl.h ckarrayindex.h cksection.h \
+ ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
+ ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
+ ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
+ cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
+ LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
+ MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h cklocrec.h \
+ ckmigratable.h CkArray.decl.h ckfutures.h CkFutures.decl.h charisma.h \
+ charisma.decl.h tempo.h tempo.decl.h waitqd.h waitqd.decl.h \
  ckcheckpoint.h ckcallback.h ckevacuation.h ckarrayreductionmgr.h trace.h \
- trace-bluegene.h envelope.h middle.h ckarrayindex.h cklists.h objid.h \
- qd.h register.h stats.h TopoManager.h
+ trace-bluegene.h qd.h register.h stats.h TopoManager.h
        $(CHARMC) -c -I. main.C
 
 custom_partitioner.o: custom_partitioner.C charm++.h charm.h converse.h \
@@ -3493,16 +3662,17 @@ custom_partitioner.o: custom_partitioner.C charm++.h charm.h converse.h \
  conv-qd.h conv-random.h conv-lists.h conv-trace.h persistent.h \
  debug-conv.h pup.h middle.h middle-conv.h cklists.h ckbitvector.h \
  ckstream.h init.h ckhashtable.h debug-charm.h debug-conv++.h simd.h \
- ckmessage.h pup.h CkMarshall.decl.h ckarrayindex.h objid.h cksection.h \
- ckcallback.h conv-ccs.h sockRoutines.h ccs-server.h ckobjQ.h \
- ckreduction.h CkReduction.decl.h CkArrayReductionMgr.decl.h \
- ckmemcheckpoint.h CkMemCheckpoint.decl.h readonly.h ckarray.h \
- cklocation.h LBDatabase.h lbdb.h LBDBManager.h LBObj.h LBOM.h LBComm.h \
- LBMachineUtil.h lbdb++.h LBDatabase.decl.h NullLB.decl.h BaseLB.decl.h \
- MetaBalancer.h MetaBalancer.decl.h CkLocation.decl.h CkArray.decl.h \
- ckfutures.h CkFutures.decl.h charisma.h charisma.decl.h tempo.h \
- tempo.decl.h waitqd.h waitqd.decl.h sdag.h ckcheckpoint.h ckcallback.h \
- ckevacuation.h ckarrayreductionmgr.h trace.h trace-bluegene.h envelope.h \
- middle.h ckarrayindex.h cklists.h objid.h
+ ckmessage.h pup.h CkMarshall.decl.h envelope.h middle.h ckarrayindex.h \
+ pup.h ckhashtable.h charm.h objid.h converse.h cklists.h objid.h sdag.h \
+ pup_stl.h ckarrayindex.h cksection.h ckcallback.h conv-ccs.h \
+ sockRoutines.h ccs-server.h ckobjQ.h ckreduction.h CkReduction.decl.h \
+ CkArrayReductionMgr.decl.h ckmemcheckpoint.h CkMemCheckpoint.decl.h \
+ readonly.h ckarray.h cklocation.h LBDatabase.h lbdb.h LBDBManager.h \
+ LBObj.h LBOM.h LBComm.h LBMachineUtil.h lbdb++.h LBDatabase.decl.h \
+ NullLB.decl.h BaseLB.decl.h MetaBalancer.h MetaBalancer.decl.h \
+ CkLocation.decl.h cklocrec.h ckmigratable.h CkArray.decl.h ckfutures.h \
+ CkFutures.decl.h charisma.h charisma.decl.h tempo.h tempo.decl.h \
+ waitqd.h waitqd.decl.h ckcheckpoint.h ckcallback.h ckevacuation.h \
+ ckarrayreductionmgr.h trace.h trace-bluegene.h
        $(CHARMC) -c -I. custom_partitioner.C
 
index 2c84dd9c80ee2593dd81bc588815918371cb53bc..462b3677109f4d749613567e3b43c84bd77843bc 100644 (file)
@@ -410,7 +410,7 @@ LIBCONV_CORE= convcore.o conv-conds.o queueing.o msgmgr.o \
        converseProjections.o machineProjections.o \
        quiescence.o isomalloc.o mem-arena.o conv-counter.o \
        global-nop.o cmipool.o cpuaffinity.o cputopology.o  \
-       cmitls.o memoryaffinity.o commitid.o 
+       cmitls.o memoryaffinity.o commitid.o sdag.o
 
 #############################################
 #Comlib Core objects that go into libck.a
index 4a83993c527f1fa33990dacf0ad8132cc2632ba7..3dbcd5722587e1f1f53947f591c009c4a05eeffa 100644 (file)
@@ -751,17 +751,20 @@ public:\
 #define PUPable_def_template(className) \
        template<> PUP::able::PUP_ID className::my_PUP_ID = 0;
 
+//Definitions to include exactly once at file scope
+#define PUPable_def_template_nonInst(className) \
+       PUP::able::PUP_ID className::my_PUP_ID = 0;
+
 //Code to execute exactly once at program start time
 #define PUPable_reg(className) \
     className::register_PUP_ID(#className);
 #define PUPable_reg2(classIdentifier,className)        \
     classIdentifier::register_PUP_ID(className);
 
-
+  inline void operator|(er &p,able &a) {a.pup(p);}
+  inline void operator|(er &p,able* &a) {p(&a);}
 } //<- End namespace PUP
 
-inline void operator|(PUP::er &p,PUP::able &a) {a.pup(p);}
-inline void operator|(PUP::er &p,PUP::able* &a) {p(&a);}
 
 //Holds a pointer to a (possibly dynamically allocated) PUP::able.
 //  Extracting the pointer hands the deletion responsibility over.
@@ -872,7 +875,7 @@ namespace PUP {
                public: enum {value=0};
 #endif
        };
-}
+
 
 #ifdef CK_DEFAULT_BITWISE_PUP   /* OLD compatability mode*/
 /// Default operator| and PUParray: copy as bytes.
@@ -936,14 +939,15 @@ inline void PUParray(PUP::er &p,T *t,int n) {
 #define PUPenum(enumType) \
   inline void operator|(PUP::er &p,enumType &e) { int v=e;  p|v; e=v; }
 
+}
 
 /**
   For all builtin types, like "int",
   operator| and PUParray use p(t) and p(ta,n).
 */
 #define PUP_BUILTIN_SUPPORT(type) \
-  inline void operator|(PUP::er &p,type &t) {p(t);} \
-  inline void PUParray(PUP::er &p,type *ta,int n) { p(ta,n); } \
+  namespace PUP { inline void operator|(er &p,type &t) {p(t);} }       \
+  namespace PUP { inline void PUParray(er &p,type *ta,int n) { p(ta,n); } } \
   namespace PUP { template<> class as_bytes<type> { \
        public: enum {value=1};  \
   }; }
index 35dc9bec727cec49ae94456ae4383f38acf9876f..ef122b7bcea1df6a8c94b4ebba4fc22fef00c797 100644 (file)
@@ -28,167 +28,170 @@ Orion Sky Lawlor, olawlor@acm.org, 7/22/2002
 #include <utility> /*for std::pair*/
 #include "pup.h"
 
-/*************** Simple classes ***************/
-// Non-const version is required for puping std::pair
-template <class A,class B>
-inline void operator|(PUP::er &p,typename std::pair<A,B> &v);
-template <class A,class B>
-inline void operator|(PUP::er &p,typename std::pair<const A,B> &v);
-template <class T>
-inline void operator|(PUP::er &p,std::complex<T> &v);
-template <class charType>
-inline void operator|(PUP::er &p,typename std::basic_string<charType> &v);
-inline void operator|(PUP::er &p,std::string &v);
-template <class container>
-inline int PUP_stl_container_size(PUP::er &p,container &c);
-template <class container, class dtype>
-inline void PUP_stl_container_items(PUP::er &p,container &c);
-template <class container,class dtype>
-inline void PUP_stl_container(PUP::er &p,container &c);
-template <class container,class dtype>
-inline void PUP_stl_map(PUP::er &p,container &c);
-template <class T>
-inline void operator|(PUP::er &p,typename std::vector<T> &v);
-template <class T>
-inline void operator|(PUP::er &p,typename std::list<T> &v);
-template <class V,class T,class Cmp>
-inline void operator|(PUP::er &p,typename std::map<V,T,Cmp> &m);
-template <class V,class T,class Cmp>
-inline void operator|(PUP::er &p,typename std::multimap<V,T,Cmp> &m);
-template <class T>
-inline void operator|(PUP::er &p,typename std::set<T> &m);
+namespace PUP {
+  /*************** Simple classes ***************/
+  // Non-const version is required for puping std::pair
+  template <class A,class B>
+  inline void operator|(er &p,typename std::pair<A,B> &v);
+  template <class A,class B>
+  inline void operator|(er &p,typename std::pair<const A,B> &v);
+  template <class T>
+  inline void operator|(er &p,std::complex<T> &v);
+  template <class charType>
+  inline void operator|(er &p,typename std::basic_string<charType> &v);
+  inline void operator|(er &p,std::string &v);
+  template <class container>
+  inline int PUP_stl_container_size(er &p,container &c);
+  template <class container, class dtype>
+  inline void PUP_stl_container_items(er &p,container &c);
+  template <class container,class dtype>
+  inline void PUP_stl_container(er &p,container &c);
+  template <class container,class dtype>
+  inline void PUP_stl_map(er &p,container &c);
+  template <class T>
+  inline void operator|(er &p,typename std::vector<T> &v);
+  template <class T>
+  inline void operator|(er &p,typename std::list<T> &v);
+  template <class V,class T,class Cmp>
+  inline void operator|(er &p,typename std::map<V,T,Cmp> &m);
+  template <class V,class T,class Cmp>
+  inline void operator|(er &p,typename std::multimap<V,T,Cmp> &m);
+  template <class T>
+  inline void operator|(er &p,typename std::set<T> &m);
 
-template <class A,class B>
-inline void operator|(PUP::er &p,typename std::pair<A,B> &v)
-{
-  p.syncComment(PUP::sync_index);
-  p|v.first;
-  p.syncComment(PUP::sync_item);
-  p|v.second;
-}
-// Const version is required for puping std::map
-template <class A,class B> 
-inline void operator|(PUP::er &p,typename std::pair<const A,B> &v)
-{
-  p.syncComment(PUP::sync_index);
-  p|*(A *)&v.first; /* cast away constness on A */
-  p.syncComment(PUP::sync_item);
-  p|v.second;
-}
-template <class T>
-inline void operator|(PUP::er &p,std::complex<T> &v)
-{
-  T re=v.real(), im=v.imag();
-  p|re; p|im;
-  v=std::complex<T>(re,im);
-}
-template <class charType> 
-inline void operator|(PUP::er &p,typename std::basic_string<charType> &v)
-{
-  int nChar=v.length();
-  p|nChar;
-  if (p.isUnpacking()) { //Unpack to temporary buffer
-    charType *buf=new charType[nChar];
-    p(buf,nChar);
-    v=std::basic_string<charType>(buf,nChar);
-    delete[] buf;
+  template <class A,class B>
+  inline void operator|(er &p,typename std::pair<A,B> &v)
+  {
+    p.syncComment(sync_index);
+    p|v.first;
+    p.syncComment(sync_item);
+    p|v.second;
   }
-  else /*packing*/ { //Do packing in-place from data
-    //Have to cast away constness here
-    p((charType *)v.data(),nChar);
+  // Const version is required for puping std::map
+  template <class A,class B> 
+  inline void operator|(er &p,typename std::pair<const A,B> &v)
+  {
+    p.syncComment(sync_index);
+    p|*(A *)&v.first; /* cast away constness on A */
+    p.syncComment(sync_item);
+    p|v.second;
   }
-}
-inline void operator|(PUP::er &p,std::string &v)
-{
-  p.syncComment(PUP::sync_begin_object,"std::string");
-  int nChar=v.length();
-  p|nChar;
-  if (p.isUnpacking()) { //Unpack to temporary buffer
-    char *buf=new char[nChar];
-    p(buf,nChar);
-    v=std::basic_string<char>(buf,nChar);
-    delete[] buf;
+  template <class T>
+  inline void operator|(er &p,std::complex<T> &v)
+  {
+    T re=v.real(), im=v.imag();
+    p|re; p|im;
+    v=std::complex<T>(re,im);
   }
-  else /*packing*/ { //Do packing in-place from data
-    //Have to cast away constness here
-    p((char *)v.data(),nChar);
+  template <class charType> 
+  inline void operator|(er &p,typename std::basic_string<charType> &v)
+  {
+    int nChar=v.length();
+    p|nChar;
+    if (p.isUnpacking()) { //Unpack to temporary buffer
+      charType *buf=new charType[nChar];
+      p(buf,nChar);
+      v=std::basic_string<charType>(buf,nChar);
+      delete[] buf;
+    }
+    else /*packing*/ { //Do packing in-place from data
+      //Have to cast away constness here
+      p((charType *)v.data(),nChar);
+    }
+  }
+  inline void operator|(er &p,std::string &v)
+  {
+    p.syncComment(sync_begin_object,"std::string");
+    int nChar=v.length();
+    p|nChar;
+    if (p.isUnpacking()) { //Unpack to temporary buffer
+      char *buf=new char[nChar];
+      p(buf,nChar);
+      v=std::basic_string<char>(buf,nChar);
+      delete[] buf;
+    }
+    else /*packing*/ { //Do packing in-place from data
+      //Have to cast away constness here
+      p((char *)v.data(),nChar);
+    }
+    p.syncComment(sync_end_object);
   }
-  p.syncComment(PUP::sync_end_object);
-}
 
-/**************** Containers *****************/
+  /**************** Containers *****************/
 
-//Impl. util: pup the length of a container
-template <class container>
-inline int PUP_stl_container_size(PUP::er &p,container &c) {
-  int nElem=c.size();
-  p|nElem;
-  return nElem; 
-}
+  //Impl. util: pup the length of a container
+  template <class container>
+  inline int PUP_stl_container_size(er &p,container &c) {
+    int nElem=c.size();
+    p|nElem;
+    return nElem; 
+  }
 
-//Impl. util: pup each current item of a container (no allocation)
-template <class container, class dtype>
-inline void PUP_stl_container_items(PUP::er &p,container &c) {
-  for (typename container::iterator it=c.begin();
-       it!=c.end();
-       ++it) {
-    p.syncComment(PUP::sync_item);
-    // Cast away the constness (needed for std::set)
-    p|*(dtype *)&(*it);
+  //Impl. util: pup each current item of a container (no allocation)
+  template <class container, class dtype>
+  inline void PUP_stl_container_items(er &p,container &c) {
+    for (typename container::iterator it=c.begin();
+        it!=c.end();
+        ++it) {
+      p.syncComment(sync_item);
+      // Cast away the constness (needed for std::set)
+      p|*(dtype *)&(*it);
+    }
   }
-}
 
-template <class container,class dtype>
-inline void PUP_stl_container(PUP::er &p,container &c) {
-  p.syncComment(PUP::sync_begin_array);
-  int nElem=PUP_stl_container_size(p,c);
-  if (p.isUnpacking()) 
-  { //Unpacking: Extract each element and push_back:
-    c.resize(0);
-    for (int i=0;i<nElem;i++) {
-      p.syncComment(PUP::sync_item);
-      dtype n;
-      p|n;
-      c.push_back(n);
-    } 
+  template <class container,class dtype>
+  inline void PUP_stl_container(er &p,container &c) {
+    p.syncComment(sync_begin_array);
+    int nElem=PUP_stl_container_size(p,c);
+    if (p.isUnpacking()) 
+      { //Unpacking: Extract each element and push_back:
+       c.resize(0);
+       for (int i=0;i<nElem;i++) {
+         p.syncComment(sync_item);
+         dtype n;
+         p|n;
+         c.push_back(n);
+       } 
+      }
+    else PUP_stl_container_items<container, dtype>(p,c);
+    p.syncComment(sync_end_array);
   }
-  else PUP_stl_container_items<container, dtype>(p,c);
-  p.syncComment(PUP::sync_end_array);
-}
-//Map objects don't have a "push_back", while vector and list
-//  don't have an "insert", so PUP_stl_map isn't PUP_stl_container
-template <class container,class dtype>
-inline void PUP_stl_map(PUP::er &p,container &c) {
-  p.syncComment(PUP::sync_begin_list);
-  int nElem=PUP_stl_container_size(p,c);
-  if (p.isUnpacking()) 
-  { //Unpacking: Extract each element and insert:
-    for (int i=0;i<nElem;i++) {
-      dtype n;
-      p|n;
-      c.insert(n);
-    } 
+  //Map objects don't have a "push_back", while vector and list
+  //  don't have an "insert", so PUP_stl_map isn't PUP_stl_container
+  template <class container,class dtype>
+  inline void PUP_stl_map(er &p,container &c) {
+    p.syncComment(sync_begin_list);
+    int nElem=PUP_stl_container_size(p,c);
+    if (p.isUnpacking()) 
+      { //Unpacking: Extract each element and insert:
+       for (int i=0;i<nElem;i++) {
+         dtype n;
+         p|n;
+         c.insert(n);
+       } 
+      }
+    else PUP_stl_container_items<container, dtype>(p,c);
+    p.syncComment(sync_end_list);
   }
-  else PUP_stl_container_items<container, dtype>(p,c);
-  p.syncComment(PUP::sync_end_list);
-}
 
-template <class T> 
-inline void operator|(PUP::er &p,typename std::vector<T> &v)
+  template <class T> 
+  inline void operator|(er &p,typename std::vector<T> &v)
   { PUP_stl_container<std::vector<T>,T>(p,v); }
-template <class T> 
-inline void operator|(PUP::er &p,typename std::list<T> &v)
+  template <class T> 
+  inline void operator|(er &p,typename std::list<T> &v)
   { PUP_stl_container<std::list<T>,T>(p,v); }
 
-template <class V,class T,class Cmp> 
-inline void operator|(PUP::er &p,typename std::map<V,T,Cmp> &m)
+  template <class V,class T,class Cmp> 
+  inline void operator|(er &p,typename std::map<V,T,Cmp> &m)
   //{ PUP_stl_map<std::map<V,T,Cmp>,std::pair<const V,T> >(p,m); }    // 'const' confuses old version of a SUN CC compiler
   { PUP_stl_map<std::map<V,T,Cmp>,std::pair<V,T> >(p,m); }
-template <class V,class T,class Cmp> 
-inline void operator|(PUP::er &p,typename std::multimap<V,T,Cmp> &m)
+  template <class V,class T,class Cmp> 
+  inline void operator|(er &p,typename std::multimap<V,T,Cmp> &m)
   { PUP_stl_map<std::multimap<V,T,Cmp>,std::pair<const V,T> >(p,m); }
-template <class T>
-inline void operator|(PUP::er &p,typename std::set<T> &m)
+  template <class T>
+  inline void operator|(er &p,typename std::set<T> &m)
   { PUP_stl_map<std::set<T>,T >(p,m); }
 
+}
+
 #endif
index ec82c74dce02bab3b90ce6d4222b048dc7cb891f..7b1af8a37b84b86baabf5898ed8fda3677b24709 100644 (file)
 using std::list;
 
 namespace xi {
+  void CEntry::generateDeps(XStr& op) {
+    for (list<WhenConstruct*>::iterator cn = whenList.begin(); cn != whenList.end(); ++cn)
+      op << "  __dep->addDepends(" << (*cn)->nodeNum << "," << entryNum << ");\n";
+  }
+
+  void generateLocalWrapper(XStr& decls, XStr& defs, int isVoid, XStr& signature, Entry* entry,
+                            std::list<CStateVar*>* params, XStr* next) {
+    // generate wrapper for local calls to the function
+    templateGuardBegin(false, defs);
+    defs << entry->getContainer()->tspec() << "void " << entry->getContainer()->baseName() << "::" << signature << "{\n";
+    defs << "  " << *entry->genClosureTypeNameProxyTemp << "*" <<
+      " genClosure = new " << *entry->genClosureTypeNameProxyTemp << "()" << ";\n";
+    if (params) {
+      int i = 0;
+      for (std::list<CStateVar*>::iterator it = params->begin(); it != params->end(); ++it, ++i) {
+        CStateVar& var = **it;
+        if (var.name)
+          defs << "  genClosure->getP" << i << "() = " << var.name << ";\n";
+      }
+    }
 
-void CEntry::generateDeps(XStr& op)
-{
-  for(list<WhenConstruct*>::iterator cn = whenList.begin(); cn != whenList.end(); ++cn) {
-    op << "    __cDep->addDepends(" << (*cn)->nodeNum << "," << entryNum << ");\n";
+    defs << "  " << *next << "(genClosure);\n";
+    defs << "  genClosure->deref();\n";
+    defs << "}\n\n";
+    templateGuardEnd(defs);
   }
-}
 
-void CEntry::generateCode(XStr& decls, XStr& defs)
-{
-  CStateVar *sv;
-  int i;
-  int isVoid = 1;
-  int lastWasVoid;
-  i = 0;
-  decls << "  void ";
-
-  templateGuardBegin(false, defs);
-  defs << "void " << decl_entry->getContainer()->baseName() << "::";
-
-  XStr signature;
-  signature <<  *entry << "(";
-  for(list<CStateVar*>::iterator it = myParameters.begin();
-      it != myParameters.end(); ++it, ++i) {
-    sv = *it;
-    isVoid = sv->isVoid;
-    if ((sv->isMsg != 1) && (sv->isVoid != 1)) {
-       if (i >0)
-         signature <<", ";
-       if (sv->byConst)
-         signature << "const ";
-       signature << sv->type << " ";
-       if (sv->arrayLength != 0)
-         signature << "*";
-       else if (sv->declaredRef) {
-         signature <<"&";
-       }
-       if (sv->numPtrs != 0) {
-         for(int k = 0; k< sv->numPtrs; k++)
+  void CEntry::generateCode(XStr& decls, XStr& defs) {
+    CStateVar *sv;
+    int i = 0;
+    int isVoid = 1;
+    int lastWasVoid;
+
+    XStr signature;
+    signature <<  *entry << "(";
+    for(list<CStateVar*>::iterator it = myParameters.begin();
+        it != myParameters.end(); ++it, ++i) {
+      sv = *it;
+      isVoid = sv->isVoid;
+      if ((sv->isMsg != 1) && (sv->isVoid != 1)) {
+        if (i >0)
+          signature <<", ";
+        if (sv->byConst)
+          signature << "const ";
+        signature << sv->type << " ";
+        if (sv->arrayLength != 0)
+          signature << "*";
+        else if (sv->declaredRef) {
+          signature <<"&";
+        }
+        if (sv->numPtrs != 0) {
+          for(int k = 0; k< sv->numPtrs; k++)
            signature << "*";
-       }
-       if (sv->name != 0)
-         signature << sv->name;
-    }
-    else if (sv->isVoid != 1){
-      if (i < 1) 
-         signature << sv->type << " " << sv->name << "_msg";
+        }
+        if (sv->name != 0)
+          signature << sv->name;
+      }
+      else if (sv->isVoid != 1){
+        if (i < 1) 
+          signature << sv->type << "* " << sv->name << "_msg";
+        else
+          printf("ERROR: A message must be the only parameter in an entry function\n");
+      }
       else
-         printf("ERROR: A message must be the only parameter in an entry function\n");
+        signature <<"void";
     }
-    else
-      signature <<"void";
-  }
-  signature << ")";
 
-  decls << signature << ";\n";
+    signature << ")";
+
+    XStr newSig;
+
+    if (needsParamMarshalling || isVoid) {
+      newSig << *entry << "(" << *decl_entry->genClosureTypeNameProxyTemp << "* genClosure)";
+      decls << "  void " <<  newSig << ";\n";
+      // generate local wrapper decls
+      decls << "  void " <<  signature << ";\n";
+      generateLocalWrapper(decls, defs, isVoid, signature, decl_entry, &myParameters, entry);
+    } else { // a message
+      newSig << signature << "";
+      decls << "  void " <<  newSig << ";\n";
+    }
+
+    templateGuardBegin(false, defs);
+    defs << decl_entry->getContainer()->tspec() << "void " << decl_entry->getContainer()->baseName() << "::" << newSig << "{\n";
+    defs << "  if (!__dep.get()) _sdag_init();\n";
+
 
-  defs << signature << "{\n";
-  defs << "    CWhenTrigger *tr;\n";
-  defs << "    void* _bgParentLog = NULL;\n";
 #if CMK_BIGSIM_CHARM
-  defs <<  "    CkElapse(0.01e-6);\n";
-  SdagConstruct::generateTlineEndCall(defs);
-  defs << "    CMsgBuffer* cmsgbuf;\n";
+      defs << "  void* _bgParentLog = NULL;\n";
+      defs << "  CkElapse(0.01e-6);\n";
+      SdagConstruct::generateTlineEndCall(defs);
 #endif
 
-  defs << "    if (!__cDep.get()) _sdag_init();\n";
+    if (needsParamMarshalling || isVoid) {
+      // add the incoming message to a buffer
 
-  int hasArrays = 0;
-  int paramMarshalling = 0;
-  int count = 0;
-  i = 0;
-  if (isVoid == 1) {
-    generateBufferMessage(defs, "CkAllocSysMsg()", "0");
-  }
-  else {
-     for(list<CStateVar*>::iterator it = myParameters.begin();
-         it != myParameters.end(); ++it, ++i) {
-       sv = *it;
-        if ((i==0) && (sv->isMsg !=1)) {
-           defs <<"    int impl_off=0; int impl_arrstart=0;\n";
-          paramMarshalling = 1;
-        }
-        if(sv->arrayLength != 0) {
-           hasArrays++ ;
-          if (sv->numPtrs > 0)
-              printf("ERROR: can't pass pointers across processors \n -- Indicate the array length with []'s, or pass a reference\n");
-           defs << "    int impl_off_" << sv->name << ", impl_cnt_" << sv->name << ";\n";
-           defs << "    impl_off_" << sv->name << "=impl_off=CK_ALIGN(impl_off,sizeof(" << sv->type << "));\n";
-           defs << "    impl_off+=(impl_cnt_" << sv->name << "=sizeof(" << sv->type << ")*(" << sv->arrayLength << "));\n";
-        }
-        if (paramMarshalling ==0) {
-          defs << "    CmiReference(UsrToEnv(" << sv->name << "_msg));\n";
-           XStr messageName;
-           messageName << sv->name << "_msg";
-           if (refNumNeeded)
-             defs << "    int refnum = CkGetRefNum(" << sv->name << "_msg);\n";
-           generateBufferMessage(defs, messageName, refNumNeeded ? "refnum" : "0");
-        }
-        count++;
-     }
-   }
-   if (paramMarshalling == 1) {
-     defs <<"    {\n";
-     defs <<"      PUP::sizer implP1;\n";
-     i = 0;
-     for(list<CStateVar*>::iterator it = myParameters.begin();
-         it != myParameters.end(); ++it, ++i) {
-       sv = *it;
-        if(sv->arrayLength != 0)
-           defs << "      implP1|impl_off_" << sv->name << ";\n";
-        else if(sv->byRef != 0)
-          defs << "      implP1|(" <<sv->type << " &)" <<sv->name << ";\n";
-       else   
-          defs << "      implP1|" << sv->name << ";\n";
-     }
-     if (hasArrays > 0)
-     { //round up pup'd data length--that's the first array
-        defs <<"      impl_arrstart=CK_ALIGN(implP1.size(),16);\n";
-        defs <<"      impl_off+=impl_arrstart;\n";
-     }
-     else  //No arrays--no padding
-        defs <<"      impl_off+=implP1.size();\n";
-  
-     defs <<"    }\n";
-
-     //Now that we know the size, allocate the packing buffer
-     defs <<"    CkMarshallMsg *impl_msg1=CkAllocateMarshallMsg(impl_off,NULL);\n";
-     //Second pass: write the data
-     defs <<"    {\n";
-     defs <<"      PUP::toMem implP1((void *)impl_msg1->msgBuf);\n";
-     i = 0;
-     for(list<CStateVar*>::iterator it = myParameters.begin();
-         it != myParameters.end(); ++it, ++i) {
-       sv = *it;
-        if(sv->arrayLength != 0)
-           defs << "      implP1|impl_off_" << sv->name << ";\n";
-        else if(sv->byRef != 0)
-           defs << "      implP1|(" << sv->type << " &)" << sv->name << ";\n";
-        else   
-          defs << "      implP1|" << sv->name << ";\n";
-     }
-     defs <<"    }\n";
-     if (hasArrays > 0)
-     { //Marshall each array
-       defs <<"    char *impl_buf1=impl_msg1->msgBuf+impl_arrstart;\n";
-       i = 0;
-     for(list<CStateVar*>::iterator it = myParameters.begin();
-         it != myParameters.end(); ++it, ++i) {
-       sv = *it;
-         if(sv->arrayLength != 0) {
-           defs << "    memcpy(impl_buf1+impl_off_" << sv->name << "," << sv->name << ",impl_cnt_" << sv->name << ");\n";
-        }
-       }
-     }
-     
-     // When a reference number is needed and there are parameters
-     // that need marshalling (in other words the parameters of the
-     // entry method are not messages) then the first parameter of the
-     // entry method is an integer that specifies the reference number
-     const char* refNumArg = refNumNeeded ? (*myParameters.begin())->name->charstar() : "0";
-     generateBufferMessage(defs, "impl_msg1", refNumArg);
-   }
-
-  defs << "    if (tr == 0)\n";
-  defs << "      return;\n";
-
-  SdagConstruct::generateTraceEndCall(defs);
 #if CMK_BIGSIM_CHARM
-  SdagConstruct::generateEndExec(defs);
+      defs << "  SDAG::Buffer* cmsgbuf = ";
 #endif
 
-  if(whenList.size() == 1) {
-    defs << "    {\n";
-    (*whenList.begin())->generateWhenCode(defs);
-    defs << "    }\n";
-  }
-  else {   
-    defs << "    switch(tr->whenID) {\n";
-    for(list<WhenConstruct*>::iterator cn = whenList.begin(); cn != whenList.end(); ++cn)
-    {
-      defs << "      case " << (*cn)->nodeNum << ":\n";
-      defs << "      {\n";
-      // This emits a `return;', so no `break' is needed
-      (*cn)->generateWhenCode(defs);
-      defs << "      }\n";
+      // note that there will always be a closure even when the method has no
+      // parameters for consistency
+      defs << "  __dep->pushBuffer(" << entryNum << ", genClosure, " <<
+        (refNumNeeded ? "genClosure->getP0()" : "0") <<");\n";
+    } else {
+      defs << "  CMK_REFNUM_TYPE refnum = ";
+      if (refNumNeeded)
+        defs << "CkGetRefNum(" << sv->name << "_msg);\n";
+      else
+        defs << "0;\n";
+
+      // possible memory pressure problem: this message will be kept as long as
+      // it is a state parameter! there are ways to remediate this, but it
+      // involves either live variable analysis (which is not feasible) or
+      // keeping a meta-structure for every message passed in
+
+      //increase reference count by one for the state parameter
+      defs << "  CmiReference(UsrToEnv(" << sv->name << "_msg));\n";
+
+#if CMK_BIGSIM_CHARM
+      defs << "  SDAG::Buffer* cmsgbuf = ";
+#endif
+
+      defs << "  __dep->pushBuffer(" << entryNum << ", new SDAG::MsgClosure(" << sv->name << "_msg" << "), refnum);\n";
     }
-    defs << "    }\n";
-  } 
+    // @todo write the code to fetch the message with the ref num
 
-  // actual code ends
-  defs << "}\n\n";
-  templateGuardEnd(defs);
-}
+    // search for a continuation to restart execution
+    defs << "  SDAG::Continuation* c = __dep->tryFindContinuation(" << entryNum << ");\n";
+
+    // found a continuation
+    defs << "  if (c) {\n";
 
-void CEntry::generateBufferMessage(XStr& defs, const char* messageName, const char* refnumArg)
-{
-  defs << "    "
+    SdagConstruct::generateTraceEndCall(defs, 2);
 #if CMK_BIGSIM_CHARM
-       << "cmsgbuf = "
+    SdagConstruct::generateEndExec(defs);
 #endif
-       << "__cDep->bufferMessage(" << entryNum
-       << ", (void*)" << messageName << ", (void*) _bgParentLog, "
-       << refnumArg << ");\n"
-       << "    tr = __cDep->getTrigger(" << entryNum << ", " << refnumArg << ");\n";
-}
 
+    if (whenList.size() == 1) {
+      (*whenList.begin())->generateWhenCode(defs, 2);
+    } else {
+      // switch on the possible entry points for the continuation
+      // each continuation entry knows how to generate its own code
+      defs << "    switch(c->whenID) {\n";
+      for(list<WhenConstruct*>::iterator cn = whenList.begin(); cn != whenList.end(); ++cn) {
+        defs << "    case " << (*cn)->nodeNum << ":\n";
+        (*cn)->generateWhenCode(defs, 3);
+        defs << "    break;\n";
+      }
+      defs << "    }\n";
+    }
+
+    SdagConstruct::generateDummyBeginExecute(defs, 2);
+
+    // delete the continuation now that we are finished with it
+    defs << "    delete c;\n";
+    defs << "  }\n";
+
+    defs << "}\n\n";
+    templateGuardEnd(defs);
+  }
 }
index c580dbd90877bf2662fb6e2ac0cdfe72bdc9f476..a3c4b684c60cf9c4a27c98c6bda9bac596799a5c 100644 (file)
@@ -8,16 +8,16 @@
 
 namespace xi {
 
-class Entry;
-class SdagConstruct;
-class WhenConstruct;
-class ParamList;
-class CStateVar;
+  class Entry;
+  class SdagConstruct;
+  class WhenConstruct;
+  class ParamList;
+  class CStateVar;
 
-class CEntry{
-  std::list<CStateVar*> myParameters;
+  class CEntry{
+    std::list<CStateVar*> myParameters;
 
-public:
+  public:
     XStr *entry;
     Entry *decl_entry;                 // point to the real Entry of the Chare
     //CParseNode *paramlist;
@@ -27,22 +27,21 @@ public:
     int refNumNeeded;
     std::list<WhenConstruct*> whenList;
     CEntry(XStr *e, ParamList *p, const std::list<CStateVar*>& list, int pm) : entry(e), paramlist(p), needsParamMarshalling(pm) {
-       CStateVar *sv;
-       myParameters = list;
-       entryNum = numEntries++;
-       refNumNeeded =0;
-       decl_entry = NULL;
+      CStateVar *sv;
+      myParameters = list;
+      entryNum = numEntries++;
+      refNumNeeded =0;
+      decl_entry = NULL;
     }
 
     void print(int indent) {
       Indent(indent);
-//      printf("entry %s (%s *)", entry->charstar(), msgType->charstar());
+      //      printf("entry %s (%s *)", entry->charstar(), msgType->charstar());
     } 
 
     void generateCode(XStr& decls, XStr& defs);
     void generateDeps(XStr& op);
-    void generateBufferMessage(XStr& defs, const char* messageName, const char* refnumArg);
-};
+  };
 
 }
 
index 5edd491deb57e625bb22cc5c00cdf99322570b44..c0670dd93bf18039fad067bb740f3172a8a0cc12 100644 (file)
@@ -53,7 +53,6 @@ void CParsedFile::doProcess(XStr& classname, XStr& decls, XStr& defs) {
   for_each(nodeList.begin(), nodeList.end(), SdagConCall<void>(&SdagConstruct::numberNodes));
   for_each(nodeList.begin(), nodeList.end(), SdagConCall<void>(&SdagConstruct::labelNodes));
   for_each(nodeList.begin(), nodeList.end(), SdagConCall<int>(&SdagConstruct::propagateState, 0));
-  generateConnectEntryList();
   for_each(nodeList.begin(), nodeList.end(), SdagConCall<void>(&SdagConstruct::generateTrace));
   generateEntryList();
   mapCEntry();
@@ -87,13 +86,6 @@ void CParsedFile::generateEntryList(void)
   }
 }
 
-void CParsedFile::generateConnectEntryList(void)
-{
-  for(std::list<Entry*>::iterator cn = nodeList.begin(); cn != nodeList.end(); ++cn) {
-    (*cn)->sdagCon->generateConnectEntryList(connectEntryList);
-  }
-}
-
 void CParsedFile::generateCode(XStr& decls, XStr& defs)
 {
   for(std::list<Entry*>::iterator cn = nodeList.begin(); cn != nodeList.end(); ++cn) {
@@ -105,8 +97,6 @@ void CParsedFile::generateCode(XStr& decls, XStr& defs)
 void CParsedFile::generateEntries(XStr& decls, XStr& defs)
 {
   decls << "public:\n";
-  for(list<SdagConstruct *>::iterator sc=connectEntryList.begin(); sc != connectEntryList.end(); ++sc)
-    (*sc)->generateConnectEntries(decls);
   for(list<CEntry*>::iterator en = entryList.begin(); en != entryList.end(); ++en) {
     (*en)->generateCode(decls, defs);
   }
@@ -115,20 +105,19 @@ void CParsedFile::generateEntries(XStr& decls, XStr& defs)
 void CParsedFile::generateInitFunction(XStr& decls, XStr& defs)
 {
   decls << "public:\n";
-  decls << "  std::auto_ptr<CDep> __cDep;\n";
+  decls << "  std::auto_ptr<SDAG::Dependency> __dep;\n";
 
   XStr name = "_sdag_init";
-  generateSignature(decls, defs, container, false, "void", &name, false, NULL);
-  defs << "    __cDep.reset(new CDep(" << numEntries << "," << numWhens << "));\n";
-  CEntry *en;
-  for(list<CEntry*>::iterator en=entryList.begin(); en != entryList.end(); ++en) {
+  generateVarSignature(decls, defs, container, false, "void", &name, false, NULL);
+  defs << "  __dep.reset(new SDAG::Dependency(" << numEntries << "," << numWhens << "));\n";
+
+  for(list<CEntry*>::iterator en=entryList.begin(); en != entryList.end(); ++en)
     (*en)->generateDeps(defs);
-  }
   endMethod(defs);
 
   // Backwards compatibility
   XStr oldname = "__sdag_init";
-  generateSignature(decls, defs, container, false, "void", &oldname, false, NULL);
+  generateVarSignature(decls, defs, container, false, "void", &oldname, false, NULL);
   endMethod(defs);
 }
 
@@ -165,10 +154,10 @@ void CParsedFile::generatePupFunction(XStr& decls, XStr& defs)
   templateGuardBegin(false, defs);
   defs << container->tspec()
        << "void " << container->baseName() << "::" << signature << " {\n"
-       << "    bool hasSDAG = __cDep.get();\n"
+       << "    bool hasSDAG = __dep.get();\n"
        << "    p|hasSDAG;\n"
        << "    if (p.isUnpacking() && hasSDAG) _sdag_init();\n"
-       << "    if (hasSDAG) { __cDep->pup(p); }\n"
+       << "    if (hasSDAG) { __dep->pup(p); }\n"
        << "}\n";
   templateGuardEnd(defs);
 }
@@ -176,13 +165,18 @@ void CParsedFile::generatePupFunction(XStr& decls, XStr& defs)
 void CParsedFile::generateRegisterEp(XStr& decls, XStr& defs)
 {
   XStr name = "__sdag_register";
-  generateSignature(decls, defs, container, true, "void", &name, false, NULL);
+  generateVarSignature(decls, defs, container, true, "void", &name, false, NULL);
+
+  defs << "  SDAG::registerPUPables();\n";
 
   for(std::list<Entry*>::iterator cn = nodeList.begin(); cn != nodeList.end(); ++cn) {
     if ((*cn)->sdagCon != 0) {
       (*cn)->sdagCon->generateRegisterEp(defs);
     }
   }
+
+  defs << container->sdagPUPReg;
+
   endMethod(defs);
 }
 
index 50a5439d0c478ca85a32cd93d52c53dd9fe8c528..8d78d6dcf52fd84df90f35cb8b6bd71b7710c37c 100644 (file)
@@ -13,58 +13,42 @@ using std::for_each;
 using std::mem_fun;
 
 namespace xi {
+  SdagConstruct::SdagConstruct(EToken t, SdagConstruct *construct1) {
+    init(t);
+    constructs->push_back(construct1);
+  }
 
-SdagConstruct::SdagConstruct(EToken t, SdagConstruct *construct1)
-{
-  con1 = 0;  con2 = 0; con3 = 0; con4 = 0;
-  type = t;
-  traceName=NULL;
-  publishesList = new list<SdagConstruct*>();
-  constructs = new list<SdagConstruct*>();
-  constructs->push_back(construct1);
-}
+  SdagConstruct::SdagConstruct(EToken t, SdagConstruct *construct1, SdagConstruct *aList) {
+    init(t);
+    constructs->push_back(construct1);
+    constructs->insert(constructs->end(), aList->constructs->begin(), aList->constructs->end());
+  }
 
-SdagConstruct::SdagConstruct(EToken t, SdagConstruct *construct1, SdagConstruct *aList)
-{
-  con1=0; con2=0; con3=0; con4=0;
-  type = t;
-  traceName=NULL;
-  publishesList = new list<SdagConstruct*>();
-  constructs = new list<SdagConstruct*>();
-  constructs->push_back(construct1);
-  constructs->insert(constructs->end(), aList->constructs->begin(), aList->constructs->end());
-}
+  SdagConstruct::SdagConstruct(EToken t, XStr *txt, SdagConstruct *c1, SdagConstruct *c2, SdagConstruct *c3,
+                               SdagConstruct *c4, SdagConstruct *constructAppend, EntryList *el) {
+    init(t);
+    text = txt;
+    con1 = c1; con2 = c2; con3 = c3; con4 = c4;
+    if (constructAppend != 0) constructs->push_back(constructAppend);
+    elist = el;
+  }
 
-SdagConstruct::SdagConstruct(EToken t, XStr *txt, SdagConstruct *c1, SdagConstruct *c2, SdagConstruct *c3,
-                            SdagConstruct *c4, SdagConstruct *constructAppend, EntryList *el)
-{
-  text = txt;
-  type = t;
-  traceName=NULL;
-  con1 = c1; con2 = c2; con3 = c3; con4 = c4;
-  publishesList = new list<SdagConstruct*>();
-  constructs = new list<SdagConstruct*>();
-  if (constructAppend != 0) {
-    constructs->push_back(constructAppend);
+  SdagConstruct::SdagConstruct(EToken t, const char *entryStr, const char *codeStr, ParamList *pl) {
+    init(t);
+    text = new XStr(codeStr);
+    param = pl;
   }
-  elist = el;
-}
 
-SdagConstruct::SdagConstruct(EToken t, const char *entryStr, const char *codeStr, ParamList *pl)
-{
-  type = t;
-  traceName=NULL;
-  text = new XStr(codeStr);
-  connectEntry = new XStr(entryStr);
-  con1 = 0; con2 = 0; con3 = 0; con4 =0;
-  publishesList = new list<SdagConstruct*>();
-  constructs = new list<SdagConstruct*>();
-  param = pl;
-}
+  void SdagConstruct::init(EToken& t) {
+    con1 = 0; con2 = 0; con3 = 0; con4 = 0;
+    traceName = 0;
+    elist = 0;
+    constructs = new list<SdagConstruct*>();
+    type = t;
+  }
 
-void SdagConstruct::numberNodes(void)
-{
-  switch(type) {
+  void SdagConstruct::numberNodes(void) {
+    switch(type) {
     case SSDAGENTRY: nodeNum = numSdagEntries++; break;
     case SOVERLAP: nodeNum = numOverlaps++; break;
     case SWHEN: nodeNum = numWhens++; break;
@@ -76,294 +60,243 @@ void SdagConstruct::numberNodes(void)
     case SSLIST: nodeNum = numSlists++; break;
     case SOLIST: nodeNum = numOlists++; break;
     case SATOMIC: nodeNum = numAtomics++; break;
-    case SFORWARD: nodeNum = numForwards++; break;
-    case SCONNECT: nodeNum = numConnects++; break;
     case SCASE: nodeNum = numCases++; break;
     case SCASELIST: nodeNum = numCaseLists++; break;
     case SINT_EXPR:
     case SIDENT: 
     default:
       break;
+    }
+    SdagConstruct *cn;
+    if (constructs != 0)
+      for_each(constructs->begin(), constructs->end(), mem_fun(&SdagConstruct::numberNodes));
   }
-  SdagConstruct *cn;
-  if (constructs != 0) {
-    for_each(constructs->begin(), constructs->end(), mem_fun(&SdagConstruct::numberNodes));
+
+  XStr* SdagConstruct::createLabel(const char* str, int nodeNum) {
+    char text[128];
+    if (nodeNum != -1)
+      sprintf(text, "_%s_%d", str, nodeNum);
+    else
+      sprintf(text, "%s", str);
+
+    return new XStr(text);
   }
-}
 
-void SdagConstruct::labelNodes(void)
-{
-  char text[128];
-  switch(type) {
-    case SSDAGENTRY:
-      sprintf(text, "%s", con1->text->charstar());
-      label = new XStr(text);
-      break;
-    case SOVERLAP: 
-      sprintf(text, "_overlap_%d", nodeNum); 
-      label = new XStr(text);
-      break;
-    case SWHEN: 
-      sprintf(text, "_when_%d", nodeNum); 
-      label = new XStr(text);
-      EntryList *el;
-      el = elist;
-      while (el !=NULL) {
+  void SdagConstruct::labelNodes() {
+    switch(type) {
+    case SSDAGENTRY: label = createLabel(con1->text->charstar(), -1); break;
+    case SOVERLAP: label = createLabel("overlap", nodeNum); break;
+    case SWHEN: label = createLabel("when", nodeNum);
+      for (EntryList *el = elist; el != NULL; el = el->next)
         el->entry->label = new XStr(el->entry->name);
-        el=el->next; 
-      }
-      break;
-    case SFOR: 
-      sprintf(text, "_for_%d", nodeNum); 
-      label = new XStr(text);
-      break;
-    case SWHILE: 
-      sprintf(text, "_while_%d", nodeNum); 
-      label = new XStr(text);
-      break;
-    case SIF: 
-      sprintf(text, "_if_%d", nodeNum); 
-      label = new XStr(text);
-      if(con2!=0) con2->labelNodes();
-      break;
-    case SELSE: 
-      sprintf(text, "_else_%d", nodeNum); 
-      label = new XStr(text);
       break;
-    case SFORALL: 
-      sprintf(text, "_forall_%d", nodeNum); 
-      label = new XStr(text);
+    case SFOR: label = createLabel("for", nodeNum); break;
+    case SWHILE: label = createLabel("while", nodeNum); break;
+    case SIF: label = createLabel("if", nodeNum);
+      if (con2 != 0) con2->labelNodes();
       break;
-    case SSLIST: 
-      sprintf(text, "_slist_%d", nodeNum); 
-      label = new XStr(text);
-      break;
-    case SOLIST: 
-      sprintf(text, "_olist_%d", nodeNum); 
-      label = new XStr(text);
-      break;
-    case SATOMIC: 
-      sprintf(text, "_atomic_%d", nodeNum); 
-      label = new XStr(text);
-      break;
-    case SFORWARD: 
-      sprintf(text, "_forward_%d", nodeNum); 
-      label = new XStr(text);
-      break;
-    case SCONNECT:
-      sprintf(text, "_connect_%s",connectEntry->charstar()); 
-      label = new XStr(text);
-      break;
-    case SCASE:
-      sprintf(text, "_case_%d", nodeNum);
-      label = new XStr(text);
-      break;
-    case SCASELIST:
-      sprintf(text, "_caselist_%d", nodeNum);
-      label = new XStr(text);
-      break;
-    case SINT_EXPR:
-    case SIDENT:
-    default:
-      break;
-  }
-  SdagConstruct *cn;
-  if (constructs != 0) {
-    for_each(constructs->begin(), constructs->end(), mem_fun(&SdagConstruct::labelNodes));
+    case SELSE: label = createLabel("else", nodeNum); break;
+    case SFORALL: label = createLabel("forall", nodeNum); break;
+    case SSLIST: label = createLabel("slist", nodeNum); break;
+    case SOLIST: label = createLabel("olist", nodeNum); break;
+    case SATOMIC: label = createLabel("atomic", nodeNum); break;
+    case SCASE: label = createLabel("case", nodeNum); break;
+    case SCASELIST: label = createLabel("caselist", nodeNum); break;
+    case SINT_EXPR: case SIDENT: default: break;
+    }
+    SdagConstruct *cn;
+    if (constructs != 0)
+      for_each(constructs->begin(), constructs->end(), mem_fun(&SdagConstruct::labelNodes));
   }
-}
 
-void EntryList::generateEntryList(list<CEntry*>& CEntrylist, WhenConstruct *thisWhen)
-{
-   EntryList *el;
-   el = this;
-   while (el != NULL)
-   {
-     el->entry->generateEntryList(CEntrylist, thisWhen);
-     el = el->next;
-   }
-}
+  void EntryList::generateEntryList(list<CEntry*>& CEntrylist, WhenConstruct *thisWhen) {
+    EntryList *el = this;
+    while (el != NULL) {
+      el->entry->generateEntryList(CEntrylist, thisWhen);
+      el = el->next;
+    }
+  }
 
-void Entry::generateEntryList(list<CEntry*>& CEntrylist, WhenConstruct *thisWhen)
-{
-   // case SENTRY:
-   bool found = false;
+  void Entry::generateEntryList(list<CEntry*>& CEntrylist, WhenConstruct *thisWhen) {
+    // case SENTRY:
+    bool found = false;
    
-   for(list<CEntry *>::iterator entry=CEntrylist.begin(); 
-       entry != CEntrylist.end(); ++entry) {
-     if(*((*entry)->entry) == (const char *)name) 
-     {
-        ParamList *epl;
-       epl = (*entry)->paramlist;
-        ParamList *pl;
-        pl = param;
-        found = false;
-       if (((*entry)->paramlist->isVoid() == 1) && (pl->isVoid() == 1)) {
-          found = true;
-       }
-       while ((pl != NULL) && (epl != NULL))
-       {
-          bool kindMatches =
-            (pl->isArray() && epl->isArray()) ||
-            (pl->isBuiltin() && epl->isBuiltin()) ||
-            (pl->isReference() && epl->isReference()) ||
-            (pl->isMessage() && epl->isMessage()) ||
-            (pl->isNamed() && epl->isNamed());
-          bool baseNameMatches = (strcmp(pl->getBaseName(), epl->getBaseName()) == 0);
-          if (kindMatches && baseNameMatches)
-            found = true;
-
-          pl = pl->next;
-          epl = epl->next;
-        }
-        if (((pl == NULL) && (epl != NULL)) ||
-           ((pl != NULL) && (epl == NULL)))
+    for(list<CEntry *>::iterator entry=CEntrylist.begin(); 
+        entry != CEntrylist.end(); ++entry) {
+      if(*((*entry)->entry) == (const char *)name) 
+        {
+          ParamList *epl;
+          epl = (*entry)->paramlist;
+          ParamList *pl;
+          pl = param;
           found = false;
-       if (found) {
-          // check to see if thisWhen is already in entry's whenList
-          bool whenFound = false;
-          for(list<WhenConstruct*>::iterator it = (*entry)->whenList.begin();
-              it != (*entry)->whenList.end(); ++it) {
-            if ((*it)->nodeNum == thisWhen->nodeNum)
-              whenFound = true;
+          if (((*entry)->paramlist->isVoid() == 1) && (pl->isVoid() == 1)) {
+            found = true;
           }
-          if(!whenFound)
-            (*entry)->whenList.push_back(thisWhen);
-          entryPtr = *entry;
-          if(intExpr != 0)
-            (*entry)->refNumNeeded = 1; 
-        } 
-     }
-   }
-   if(!found) {
-     CEntry *newEntry;
-     newEntry = new CEntry(new XStr(name), param, estateVars, paramIsMarshalled() );
-     CEntrylist.push_back(newEntry);
-     entryPtr = newEntry;
-     newEntry->whenList.push_back(thisWhen);
-     if(intExpr != 0)
-       newEntry->refNumNeeded = 1; 
-   }
-      //break;
-}
-
-void SdagConstruct::generateEntryList(list<CEntry*>& CEntrylist, WhenConstruct *thisWhen)
-{
-  if (SIF == type && con2 != 0)
-    con2->generateEntryList(CEntrylist, thisWhen);
-  generateChildrenEntryList(CEntrylist, thisWhen);
-}
-
-void WhenConstruct::generateEntryList(list<CEntry*>& CEntrylist, WhenConstruct *thisWhen)
-{
-  elist->generateEntryList(CEntrylist, this);  /* con1 is the WHEN's ELIST */
-  generateChildrenEntryList(CEntrylist, thisWhen);
-}
-
-void SdagConstruct::generateChildrenEntryList(list<CEntry*>& CEntrylist,
-                                              WhenConstruct *thisWhen) {
-  if (constructs != 0) {
-    for (list<SdagConstruct*>::iterator it = constructs->begin(); it != constructs->end();
-         ++it)
-      (*it)->generateEntryList(CEntrylist, thisWhen);
+          while ((pl != NULL) && (epl != NULL))
+            {
+              bool kindMatches =
+                (pl->isArray() && epl->isArray()) ||
+                (pl->isBuiltin() && epl->isBuiltin()) ||
+                (pl->isReference() && epl->isReference()) ||
+                (pl->isMessage() && epl->isMessage()) ||
+                (pl->isNamed() && epl->isNamed());
+              bool baseNameMatches = (strcmp(pl->getBaseName(), epl->getBaseName()) == 0);
+              if (kindMatches && baseNameMatches)
+                found = true;
+
+              pl = pl->next;
+              epl = epl->next;
+            }
+          if (((pl == NULL) && (epl != NULL)) ||
+              ((pl != NULL) && (epl == NULL)))
+            found = false;
+          if (found) {
+            // check to see if thisWhen is already in entry's whenList
+            bool whenFound = false;
+            for(list<WhenConstruct*>::iterator it = (*entry)->whenList.begin();
+                it != (*entry)->whenList.end(); ++it) {
+              if ((*it)->nodeNum == thisWhen->nodeNum)
+                whenFound = true;
+            }
+            if(!whenFound)
+              (*entry)->whenList.push_back(thisWhen);
+            entryPtr = *entry;
+            if(intExpr != 0)
+              (*entry)->refNumNeeded = 1; 
+          } 
+        }
+    }
+    if(!found) {
+      CEntry *newEntry;
+      newEntry = new CEntry(new XStr(name), param, estateVars, paramIsMarshalled() );
+      CEntrylist.push_back(newEntry);
+      entryPtr = newEntry;
+      newEntry->whenList.push_back(thisWhen);
+      if(intExpr != 0)
+        newEntry->refNumNeeded = 1; 
+    }
+    //break;
   }
-}
 
-void SdagConstruct::generateConnectEntries(XStr& decls) {
-   decls << "  void " <<connectEntry << "(";
-   ParamList *pl = param;
-   XStr msgParams;
-   if (pl->isVoid() == 1) {
-     decls << "void";
-   }
-   else if (pl->isMessage() == 1){
-     decls << pl->getBaseName() <<" *" <<pl->getGivenName();
-   }
-   else {
-    decls << "CkMarshallMsg *" /*<< connectEntry*/ <<"_msg";
-   }
-   decls << ") {\n";
-
-   if (!pl->isVoid() && !pl->isMessage()) {
-    msgParams <<"   char *impl_buf= _msg->msgBuf;\n";
-    param->beginUnmarshall(msgParams);
-   }
-
-   decls << msgParams <<"\n";
-   decls << "  " <<text <<"\n";
-
-   decls << "  }\n";
-}
+  void SdagConstruct::generateEntryList(list<CEntry*>& CEntrylist, WhenConstruct *thisWhen) {
+    if (SIF == type && con2 != 0)
+      con2->generateEntryList(CEntrylist, thisWhen);
+    generateChildrenEntryList(CEntrylist, thisWhen);
+  }
 
-void SdagConstruct::generateConnectEntryList(list<SdagConstruct*>& ConnectEList) {
-  if (type == SCONNECT)
-     ConnectEList.push_back(this);
-  if (constructs != 0) {
-    for (list<SdagConstruct*>::iterator iter = constructs->begin(); iter != constructs->end(); ++iter)
-      (*iter)->generateConnectEntryList(ConnectEList);
+  void WhenConstruct::generateEntryList(list<CEntry*>& CEntrylist, WhenConstruct *thisWhen) {
+    elist->generateEntryList(CEntrylist, this);  /* con1 is the WHEN's ELIST */
+    generateChildrenEntryList(CEntrylist, thisWhen);
   }
-}
 
-void SdagConstruct::propagateState(int uniqueVarNum)
-{ 
-  CStateVar *sv; 
-  /*if(type != SSDAGENTRY) {
-    fprintf(stderr, "use of non-entry as the outermost construct..\n");
-    exit(1);
-  }*/
-  stateVars = new list<CStateVar*>();
-  ParamList *pl = param;
-  if (pl->isVoid() == 1) {
-     sv = new CStateVar(1, NULL, 0, NULL, 0, NULL, 0);
-     stateVars->push_back(sv);
+  void SdagConstruct::generateChildrenEntryList(list<CEntry*>& CEntrylist, WhenConstruct *thisWhen) {
+    if (constructs != 0)
+      for (list<SdagConstruct*>::iterator it = constructs->begin(); it != constructs->end(); ++it)
+        (*it)->generateEntryList(CEntrylist, thisWhen);
   }
-  else {
-    while (pl != NULL) {
-      stateVars->push_back(new CStateVar(pl));
-      pl = pl->next;
+
+  void SdagConstruct::propagateState(int uniqueVarNum) {
+    CStateVar *sv; 
+    list<EncapState*> encap;
+
+    stateVars = new list<CStateVar*>();
+    ParamList *pl = param;
+    if (pl->isVoid() == 1) {
+      sv = new CStateVar(1, NULL, 0, NULL, 0, NULL, 0);
+      stateVars->push_back(sv);
+      std::list<CStateVar*> lst;
+      encap.push_back(new EncapState(this->entry, lst));
     }
-  }
+    else {
+      while (pl != NULL) {
+        stateVars->push_back(new CStateVar(pl));
+        pl = pl->next;
+      }
+    
+      EncapState* state = new EncapState(this->entry, *stateVars);
+      if (!this->entry->paramIsMarshalled() && !this->entry->param->isVoid())
+        state->isMessage = true;
+      encap.push_back(state);
+    }
+
+    encapState = encap;
 
 #if CMK_BIGSIM_CHARM
-  // adding _bgParentLog as the last extra parameter for tracing
-  stateVarsChildren = new list<CStateVar*>(*stateVars);
-  sv = new CStateVar(0, "void *", 0,"_bgParentLog", 0, NULL, 1);
-  sv->isBgParentLog = true;
-  stateVarsChildren->push_back(sv);
+    // adding _bgParentLog as the last extra parameter for tracing
+    stateVarsChildren = new list<CStateVar*>(*stateVars);
+    sv = new CStateVar(0, "void *", 0,"_bgParentLog", 0, NULL, 1);
+    sv->isBgParentLog = true;
+    stateVarsChildren->push_back(sv);
+
+    {
+      list<CStateVar*> lst;
+      lst.push_back(sv);
+      EncapState *state = new EncapState(NULL, lst);
+      state->type = new XStr("void");
+      state->name = new XStr("_bgParentLog");
+      state->isBgParentLog = true;
+      encapStateChild.push_back(state);
+      encap.push_back(state);
+    }
 #else
-  stateVarsChildren = stateVars; 
+    stateVarsChildren = stateVars; 
 #endif
 
-  list<CStateVar*> whensEntryMethodStateVars;
-  for (list<SdagConstruct*>::iterator it = constructs->begin(); it != constructs->end();
-       ++it)
-    (*it)->propagateState(*stateVarsChildren, whensEntryMethodStateVars, *publishesList, uniqueVarNum);
-}
+    encapStateChild = encap;
+
+    list<CStateVar*> whensEntryMethodStateVars;
+    for (list<SdagConstruct*>::iterator it = constructs->begin(); it != constructs->end();
+         ++it)
+      (*it)->propagateState(encap, *stateVarsChildren, whensEntryMethodStateVars, uniqueVarNum);
+  }
+
+  void SdagConstruct::propagateState(list<EncapState*> encap, list<CStateVar*>& plist, list<CStateVar*>& wlist, int uniqueVarNum) {
+    CStateVar *sv;
+    list<CStateVar*> *whensEntryMethodStateVars = NULL;
+
+    encapState = encap;
 
-void SdagConstruct::propagateState(list<CStateVar*>& plist, list<CStateVar*>& wlist, list<SdagConstruct*>& publist, int uniqueVarNum)
-{
-  CStateVar *sv;
-  list<CStateVar*> *whensEntryMethodStateVars = NULL;
-  stateVars = new list<CStateVar*>();
-  switch(type) {
+    stateVars = new list<CStateVar*>();
+    switch(type) {
     case SFORALL:
       stateVars->insert(stateVars->end(), plist.begin(), plist.end());
       stateVarsChildren = new list<CStateVar*>(plist);
       sv = new CStateVar(0,"int", 0, con1->text->charstar(), 0,NULL, 0);
       stateVarsChildren->push_back(sv);
+
+      {
+        list<CStateVar*> lst;
+        lst.push_back(sv);
+        EncapState *state = new EncapState(NULL, lst);
+        state->isForall = true;
+        state->type = new XStr("SDAG::ForallClosure");
+        XStr* name = new XStr();
+        *name << con1->text << "_cl";
+        state->name = name;
+        encap.push_back(state);
+      }
+
       {
         char txt[128];
         sprintf(txt, "_cf%d", nodeNum);
         counter = new XStr(txt);
-        sv = new CStateVar(0, "CCounter *", 0, txt, 0, NULL, 1);
+        sv = new CStateVar(0, "SDAG::CCounter *", 0, txt, 0, NULL, 1);
         sv->isCounter = true;
         stateVarsChildren->push_back(sv);
+
+        list<CStateVar*> lst;
+        lst.push_back(sv);
+        EncapState *state = new EncapState(NULL, lst);
+        state->type = new XStr("SDAG::CCounter");
+        state->name = new XStr(txt);
+        encap.push_back(state);
       }
       break;
     case SIF:
       stateVars->insert(stateVars->end(), plist.begin(), plist.end());
       stateVarsChildren = stateVars;
-      if(con2 != 0) con2->propagateState(plist, wlist, publist, uniqueVarNum);
+      if(con2 != 0) con2->propagateState(encap, plist, wlist, uniqueVarNum);
       break;
     case SCASELIST:
       stateVarsChildren = new list<CStateVar*>(plist);
@@ -372,7 +305,7 @@ void SdagConstruct::propagateState(list<CStateVar*>& plist, list<CStateVar*>& wl
         char txt[128];
         sprintf(txt, "_cs%d", nodeNum);
         counter = new XStr(txt);
-        sv = new CStateVar(0, "CSpeculator *", 0, txt, 0, NULL, 1);
+        sv = new CStateVar(0, "SDAG::CSpeculator *", 0, txt, 0, NULL, 1);
         sv->isSpeculator = true;
         stateVarsChildren->push_back(sv);
 
@@ -381,7 +314,14 @@ void SdagConstruct::propagateState(list<CStateVar*>& plist, list<CStateVar*>& wl
              ++iter) {
           dynamic_cast<WhenConstruct*>(*iter)->speculativeState = sv;
         }
+        list<CStateVar*> lst;
+        lst.push_back(sv);
+        EncapState *state = new EncapState(NULL, lst);
+        state->name = new XStr(txt);
+        state->type = new XStr("SDAG::CSpeculator");
+        encap.push_back(state);
       }
+      
       break;
     case SOLIST:
       stateVarsChildren = new list<CStateVar*>(plist);
@@ -390,9 +330,16 @@ void SdagConstruct::propagateState(list<CStateVar*>& plist, list<CStateVar*>& wl
         char txt[128];
         sprintf(txt, "_co%d", nodeNum);
         counter = new XStr(txt);
-        sv = new CStateVar(0, "CCounter *", 0, txt, 0, NULL, 1);
+        sv = new CStateVar(0, "SDAG::CCounter *", 0, txt, 0, NULL, 1);
         sv->isCounter = true;
         stateVarsChildren->push_back(sv);
+
+        list<CStateVar*> lst;
+        lst.push_back(sv);
+        EncapState *state = new EncapState(NULL, lst);
+        state->type = new XStr("SDAG::CCounter");
+        state->name = new XStr(txt);
+        encap.push_back(state);
       }
       break;
     case SFOR:
@@ -404,11 +351,6 @@ void SdagConstruct::propagateState(list<CStateVar*>& plist, list<CStateVar*>& wl
       stateVars->insert(stateVars->end(), plist.begin(), plist.end());
       stateVarsChildren = stateVars;
       break;
-    case SFORWARD:
-      stateVarsChildren = new list<CStateVar*>(wlist);
-      stateVars->insert(stateVars->end(), plist.begin(), plist.end());
-      break;
-    case SCONNECT: 
     case SINT_EXPR:
     case SIDENT:
     case SENTRY:
@@ -418,1107 +360,995 @@ void SdagConstruct::propagateState(list<CStateVar*>& plist, list<CStateVar*>& wl
       fprintf(stderr, "internal error in sdag translator..\n");
       exit(1);
       break;
-  }
-
-  propagateStateToChildren(*stateVarsChildren, wlist, publist, uniqueVarNum);
-  delete whensEntryMethodStateVars;
-}
+    }
 
-void WhenConstruct::propagateState(list<CStateVar*>& plist, list<CStateVar*>& wlist, list<SdagConstruct*>& publist, int uniqueVarNum) {
-  CStateVar *sv;
-  list<CStateVar*> whensEntryMethodStateVars;
-  stateVars = new list<CStateVar*>();
-  stateVarsChildren = new list<CStateVar*>();
+    encapStateChild = encap;
 
-  for (list<CStateVar*>::iterator iter = plist.begin(); iter != plist.end(); ++iter) {
-    sv = *iter;
-    stateVars->push_back(sv);
-    stateVarsChildren->push_back(sv);
+    propagateStateToChildren(encap, *stateVarsChildren, wlist, uniqueVarNum);
+    delete whensEntryMethodStateVars;
   }
 
-  EntryList *el;
-  el = elist;
-  ParamList *pl;
-  while (el != NULL) {
-    pl = el->entry->param;
-    if (pl->isVoid()) {
-      sv = new CStateVar(1, NULL, 0, NULL, 0, NULL, 0);
-      //stateVars->push_back(sv);
+  void WhenConstruct::propagateState(list<EncapState*> encap, list<CStateVar*>& plist, list<CStateVar*>& wlist,  int uniqueVarNum) {
+    CStateVar *sv;
+    list<CStateVar*> whensEntryMethodStateVars;
+    list<CStateVar*> whenCurEntry;
+    stateVars = new list<CStateVar*>();
+    stateVarsChildren = new list<CStateVar*>();
+
+    for (list<CStateVar*>::iterator iter = plist.begin(); iter != plist.end(); ++iter) {
+      sv = *iter;
+      stateVars->push_back(sv);
       stateVarsChildren->push_back(sv);
-      whensEntryMethodStateVars.push_back(sv);
-      el->entry->addEStateVar(sv);
     }
-    else {
-      while(pl != NULL) {
-        sv = new CStateVar(pl);
-        stateVarsChildren->push_back(sv);
-        whensEntryMethodStateVars.push_back(sv);
-        el->entry->addEStateVar(sv);
 
-        pl = pl->next;
+    encapState = encap;
+
+    EntryList *el;
+    el = elist;
+    ParamList *pl;
+    while (el != NULL) {
+      pl = el->entry->param;
+      if (!pl->isVoid()) {
+        while(pl != NULL) {
+          sv = new CStateVar(pl);
+          stateVarsChildren->push_back(sv);
+          whensEntryMethodStateVars.push_back(sv);
+          whenCurEntry.push_back(sv);
+          el->entry->addEStateVar(sv);
+
+          pl = pl->next;
+        }
       }
+
+      EncapState* state = new EncapState(el->entry, whenCurEntry);
+      if (!el->entry->paramIsMarshalled() && !el->entry->param->isVoid())
+        state->isMessage = true;
+      encap.push_back(state);
+      whenCurEntry.clear();
+      el = el->next;
     }
-    el = el->next;
+
+    encapStateChild = encap;
+
+    propagateStateToChildren(encap, *stateVarsChildren, whensEntryMethodStateVars, uniqueVarNum);
   }
 
-  propagateStateToChildren(*stateVarsChildren, whensEntryMethodStateVars, publist, uniqueVarNum);
-}
 
+  void AtomicConstruct::propagateState(list<EncapState*> encap, list<CStateVar*>& plist, list<CStateVar*>& wlist, int uniqueVarNum) {
+    stateVars = new list<CStateVar*>();
+    stateVars->insert(stateVars->end(), plist.begin(), plist.end());
+    stateVarsChildren = stateVars;
 
-void AtomicConstruct::propagateState(list<CStateVar*>& plist, list<CStateVar*>& wlist, list<SdagConstruct*>& publist, int uniqueVarNum) {
-  stateVars = new list<CStateVar*>();
-  stateVars->insert(stateVars->end(), plist.begin(), plist.end());
-  stateVarsChildren = stateVars;
-  if (con1 != 0) {
-    publist.push_back(con1);
-    /*SdagConstruct *sc;
-    SdagConstruct *sc1;
-    for(sc =publist.begin(); !publist.end(); sc=publist.next()) {
-       for(sc1=sc->constructs->begin(); !sc->constructs->end(); sc1 = sc->constructs->next())
-       printf("Publist = %s\n", sc1->text->charstar());
-    }*/
+    encapState = encap;
+    encapStateChild = encap;
   }
-}
 
-void SdagConstruct::propagateStateToChildren(list<CStateVar*>& stateVarsChildren, list<CStateVar*>& wlist, list<SdagConstruct*>& publist, int uniqueVarNum) {
-  if (constructs != 0) {
-    for (list<SdagConstruct*>::iterator it = constructs->begin(); it != constructs->end();
-         ++it)
-      (*it)->propagateState(stateVarsChildren, wlist, publist, uniqueVarNum);
+  void SdagConstruct::propagateStateToChildren(list<EncapState*> encap, list<CStateVar*>& stateVarsChildren, list<CStateVar*>& wlist, int uniqueVarNum) {
+    if (constructs != 0)
+      for (list<SdagConstruct*>::iterator it = constructs->begin(); it != constructs->end(); ++it)
+        (*it)->propagateState(encap, stateVarsChildren, wlist, uniqueVarNum);
   }
-}
 
-void SdagConstruct::generateCode(XStr& decls, XStr& defs, Entry *entry)
-{
-  switch(type) {
-    case SSDAGENTRY:
-      generateSdagEntry(decls, defs, entry);
-      break;
-    case SSLIST:
-      generateSlist(decls, defs, entry);
-      break;
-    case SOLIST:
-      generateOlist(decls, defs, entry);
-      break;
-    case SFORALL:
-      generateForall(decls, defs, entry);
-      break;
-    case SIF:
-      generateIf(decls, defs, entry);
-      if(con2 != 0)
-        con2->generateCode(decls, defs, entry);
-      break;
-    case SELSE:
-      generateElse(decls, defs, entry);
-      break;
-    case SWHILE:
-      generateWhile(decls, defs, entry);
-      break;
-    case SFOR:
-      generateFor(decls, defs, entry);
-      break;
-    case SCASE:
-    case SOVERLAP:
-      generateOverlap(decls, defs, entry);
-      break;
-    case SFORWARD:
-      generateForward(decls, defs, entry);
-      break;
-    case SCONNECT:
-      generateConnect(decls, defs, entry);
-      break;
-    case SCASELIST:
-      generateCaseList(decls, defs, entry);
-      break;
-    default:
+  void SdagConstruct::generateCode(XStr& decls, XStr& defs, Entry *entry) {
+    switch(type) {
+    case SSDAGENTRY: generateSdagEntry(decls, defs, entry); break;
+    case SSLIST: generateSlist(decls, defs, entry); break;
+    case SOLIST: generateOlist(decls, defs, entry); break;
+    case SFORALL: generateForall(decls, defs, entry); break;
+    case SIF: generateIf(decls, defs, entry);
+      if(con2 != 0) con2->generateCode(decls, defs, entry);
       break;
+    case SELSE: generateElse(decls, defs, entry); break;
+    case SWHILE: generateWhile(decls, defs, entry); break;
+    case SFOR: generateFor(decls, defs, entry); break;
+    case SCASE: case SOVERLAP: generateOverlap(decls, defs, entry); break;
+    case SCASELIST: generateCaseList(decls, defs, entry); break;
+    default: break;
+    }
+    generateChildrenCode(decls, defs, entry);
   }
-  generateChildrenCode(decls, defs, entry);
-}
 
-void SdagConstruct::generateChildrenCode(XStr& decls, XStr& defs, Entry* entry) {
-  if (constructs != 0) {
-    for (list<SdagConstruct*>::iterator it = constructs->begin(); it != constructs->end();
-         ++it)
-      (*it)->generateCode(decls, defs, entry);
+  void SdagConstruct::generateChildrenCode(XStr& decls, XStr& defs, Entry* entry) {
+    if (constructs != 0)
+      for (list<SdagConstruct*>::iterator it = constructs->begin(); it != constructs->end(); ++it)
+        (*it)->generateCode(decls, defs, entry);
   }
-}
 
-void SdagConstruct::generateWhenCode(XStr& op)
-{
-  SdagConstruct *cn = this;
-  XStr whenParams = "";
-  int i = 0;
-  int iArgs = 0;
-  int generatedWhenParams = 0;
-  bool lastWasVoid = false;
-  bool paramMarshalling = false;
+  void SdagConstruct::buildTypes(list<EncapState*>& state) {
+    for (list<EncapState*>::iterator iter = state.begin(); iter != state.end(); ++iter) {
+      EncapState& encap = **iter;
+      if (!encap.type) {
+        if (encap.entry->entryPtr && encap.entry->entryPtr->decl_entry)
+          encap.type = encap.entry->entryPtr->decl_entry->genClosureTypeNameProxyTemp;
+        else
+          encap.type = encap.entry->genClosureTypeNameProxyTemp;
+      }
+    }
+  }
+
+  void SdagConstruct::generateWhenCode(XStr& op, int indent) {
+    buildTypes(encapState);
+    buildTypes(encapStateChild);
+
+    // generate the call for this when
 
 #if CMK_BIGSIM_CHARM
-  // bgLog2 stores the parent dependence of when, e.g. for, olist
-  op << "        cmsgbuf->bgLog2 = (void*)dynamic_cast<TransportableBigSimLog*>(tr->args[1])->log;\n";
+    // bgLog2 stores the parent dependence of when, e.g. for, olist
+    indentBy(op, indent);
+    op << "cmsgbuf->bgLog2 = (void*)static_cast<SDAG::TransportableBigSimLog*>(c->closure[1])->log;\n";
 #endif
 
-  for (list<CStateVar*>::iterator iter = stateVars->begin();
-       iter != stateVars->end();
-       ++iter, ++i) {
-    CStateVar *sv = *iter;
-    if ((sv->isMsg == 0) && (paramMarshalling == 0) && (sv->isVoid ==0)){
-      paramMarshalling =1;
-      op << "        CkMarshallMsg *impl_msg" << cn->nodeNum << " = (CkMarshallMsg*)dynamic_cast<TransportableMsg*>(tr->args[" << iArgs++ << "])->msg;\n";
-      op << "        char *impl_buf" <<cn->nodeNum <<"=((CkMarshallMsg *)impl_msg" <<cn->nodeNum <<")->msgBuf;\n";
-      op << "        PUP::fromMem implP" <<cn->nodeNum <<"(impl_buf" <<cn->nodeNum <<");\n";
+    // output the when function's name
+    indentBy(op, indent);
+    op << this->label << "(";
+
+    // output all the arguments to the function that are stored in a continuation
+    int cur = 0;
+    for (list<EncapState*>::iterator iter = encapState.begin();
+         iter != encapState.end(); ++iter, ++cur) {
+      EncapState& state = **iter;
+      op << "\n";
+      indentBy(op, indent + 1);
+      if (state.isMessage)
+        op << "static_cast<" << *state.type << "*>(static_cast<SDAG::MsgClosure*>(c->closure[" << cur << "])->msg)";
+      else if (state.isBgParentLog)
+        op << "NULL";
+      else
+        op << "static_cast<" << *state.type << "*>(c->closure[" << cur << "])";
+      if (cur != encapState.size() - 1) op << ", ";
     }
-    if (sv->isMsg == 1) {
-      if (generatedWhenParams != 0)
-        whenParams.append(", ");
+    op << "\n";
+    indentBy(op, indent);
+    op << ");\n";
 #if CMK_BIGSIM_CHARM
-      if(i==1) {
-        whenParams.append(" NULL ");
-        generatedWhenParams++;
-
-        lastWasVoid=0;
-        // skip this arg which is supposed to be _bgParentLog
-        iArgs++;
-        continue;
+    generateTlineEndCall(op);
+    generateBeginExec(op, "sdagholder");
+#endif
+  }
+
+  void WhenConstruct::generateEntryName(XStr& defs, Entry* e, int curEntry) {
+    if ((e->paramIsMarshalled() == 1) || (e->param->isVoid() == 1))
+      defs << e->getEntryName() << "_" << curEntry;
+    else {
+      for (list<CStateVar*>::iterator it = e->stateVars.begin(); it != e->stateVars.end(); ++it) {
+        CStateVar* sv = *it;
+        defs << sv->name;
       }
+    }
+    defs << "_buf";
+  }
+
+  void WhenConstruct::generateCode(XStr& decls, XStr& defs, Entry* entry) {
+    buildTypes(encapState);
+    buildTypes(encapStateChild);
+
+    sprintf(nameStr,"%s%s", CParsedFile::className->charstar(),label->charstar());
+    generateClosureSignature(decls, defs, entry, false, "SDAG::Continuation*", label, false, encapState);
+
+#if CMK_BIGSIM_CHARM
+    generateBeginTime(defs);
 #endif
 
-      if (sv->isMsg && !sv->isCounter && !sv->isSpeculator && !sv->isBgParentLog)
-        whenParams << "(" << sv->type->charstar() << ")" << "dynamic_cast<TransportableMsg*>(";
-      else if (sv->isCounter)
-        whenParams << "dynamic_cast<CCounter*>(";
-      else if (sv->isSpeculator)
-        whenParams << "dynamic_cast<CSpeculator*>(";
-      else if (sv->isBgParentLog)
-        whenParams << "dynamic_cast<TransportableBigSimLog*>(";
+    int entryLen = 0;
 
-      whenParams << "tr->args[" << iArgs << "])";
+    // count the number of entries this when contains (for logical ands)
+    {
+      int cur = 0;
+      for (EntryList *el = elist; el != NULL; el = el->next, cur++) entryLen++;
+    }
 
-      if (sv->isMsg && !sv->isCounter && !sv->isSpeculator && !sv->isBgParentLog)
-        whenParams << "->msg";
-      else if (sv->isMsg && sv->isBgParentLog)
-        whenParams << "->log";
+    // if we have a reference number in the closures, we need to unravel the state
+    int cur = 0;
+    bool hasRef = false;;
+    for (EntryList *el = elist; el != NULL; el = el->next, cur++)
+      if (el->entry->intExpr) {
+        defs << "  CMK_REFNUM_TYPE refnum_" << cur << ";\n";
+        hasRef = true;
+      }
+    int indent = 2;
+
+    // unravel the closures so the potential refnum expressions can be resolved
+    if (hasRef) {
+      indent = unravelClosuresBegin(defs);
+      indentBy(defs, indent);
+      // create a new scope for unraveling the closures
+      defs << "{\n";
+    }
+    cur = 0;
+    // generate each refnum variable we need that can access the internal closure state
+    for (EntryList *el = elist; el != NULL; el = el->next, cur++)
+      if (el->entry->intExpr) {
+        indentBy(defs, indent + 1);
+        defs << "refnum_" << cur << " = " << (el->entry->intExpr ? el->entry->intExpr : "0") << ";\n";
+      }
 
-      generatedWhenParams++;
-      iArgs++;
+    if (hasRef) {
+      indentBy(defs, indent);
+      defs << "}\n";
+      unravelClosuresEnd(defs);
     }
-    else if (sv->isVoid == 1) {
-      op << "        if (tr->args[" << iArgs << "]) delete tr->args[" << iArgs << "];\n";
-      op << "        tr->args[" <<iArgs++ <<"] = NULL;\n";
-    } else if ((sv->isMsg == 0) && (sv->isVoid == 0)) {
-      if (generatedWhenParams != 0)
-        whenParams.append(", ");
-
-      whenParams.append(*(sv->name));
-      generatedWhenParams++;
-
-      if (sv->arrayLength != 0)
-        op << "        int impl_off" << cn->nodeNum << "_" << sv->name << "; implP"
-          <<cn->nodeNum << "|impl_off" <<cn->nodeNum  << "_" << sv->name << ";\n";
-      else
-        op << "        " << sv->type << " " << sv->name << "; implP"
-          <<cn->nodeNum << "|" << sv->name << ";\n";
+
+    if (entryLen > 1) defs << "  std::set<SDAG::Buffer*> ignore;\n";
+
+    XStr haveAllBuffersCond;
+    XStr removeMessagesIfFound, deleteMessagesIfFound;
+    XStr continutationSpec;
+
+    {
+      int cur = 0;
+      for (EntryList *el = elist; el != NULL; el = el->next, cur++) {
+        Entry* e = el->entry;
+        XStr bufName("buf");
+        bufName << cur;
+        XStr refName;
+        refName << "refnum_" << cur;
+        defs << "  SDAG::Buffer* " << bufName << " = __dep->tryFindMessage("
+             << e->entryPtr->entryNum // entry number
+             << ", " << (e->intExpr ? "true" : "false") // has a ref number?
+             << ", " << (e->intExpr ? refName.get_string_const() : "0")  // the ref number
+             << ", " << (entryLen > 1 ? "&ignore" : "0") // the ignore set
+             << ");\n";
+        haveAllBuffersCond << bufName;
+        removeMessagesIfFound << "    __dep->removeMessage(" << bufName << ");\n";
+        deleteMessagesIfFound << "    delete " << bufName << ";\n";
+
+        // build the continutation specification for starting
+        // has a refnum, needs to be saved in the trigger
+        if (e->intExpr) {
+          continutationSpec << "    c->entries.push_back(" << e->entryPtr->entryNum << ");\n";
+          continutationSpec << "    c->refnums.push_back(refnum_" << cur << ");\n";
+        } else {
+          continutationSpec << "    c->anyEntries.push_back(" << e->entryPtr->entryNum << ");\n";
+        }
+
+        // buffers attached that we should ignore when trying to match a logical
+        // AND condition
+        if (entryLen > cur + 1) {
+          haveAllBuffersCond << " && ";
+          defs << "  if (" << bufName << ") ignore.insert(" << bufName << ");\n";
+        }
+      }
     }
-    lastWasVoid = sv->isVoid;
-  }
-  if (paramMarshalling == 1)
-    op << "        impl_buf"<<cn->nodeNum << "+=CK_ALIGN(implP" <<cn->nodeNum <<".size(),16);\n";
-  for (list<CStateVar*>::iterator iter = stateVars->begin();
-       iter != stateVars->end();
-       ++iter) {
-    CStateVar *sv = *iter;
-    if (sv->arrayLength != 0)
-      op << "        " << sv->type << " *" << sv->name << "=(" << sv->type << " *)(impl_buf" <<cn->nodeNum
-        << "+impl_off" <<cn->nodeNum << "_" << sv->name << ");\n";
-  }
-  if (paramMarshalling == 1)
-    op << "        delete (CkMarshallMsg *)impl_msg" <<cn->nodeNum <<";\n";
-  op << "        " << cn->label << "(" << whenParams;
-  op << ");\n";
-  op << "        delete tr;\n";
+
+    // decide based on whether buffers are found for each entry on the when
+    defs << "  if (" << haveAllBuffersCond << ") {\n";
 
 #if CMK_BIGSIM_CHARM
-  cn->generateTlineEndCall(op);
-  cn->generateBeginExec(op, "sdagholder");
+    // TODO: instead of this, add a length field to EntryList
+    defs << "    void* logs1["<< entryLen << "]; \n";
+    defs << "    void* logs2["<< entryLen + 1 << "]; \n";
+    int localnum = 0;
+    cur = 0;
+    for (EntryList *el = elist; el != NULL; el = el->next, cur++) {
+      XStr bufName("buf");
+      bufName << cur;
+      defs << "    logs1[" << localnum << "] = " << bufName << "->bgLog1; \n";
+      defs << "    logs2[" << localnum << "] = " << bufName << "->bgLog2; \n";
+      localnum++;
+    }
+    defs << "    logs2[" << localnum << "] = " << "_bgParentLog; \n";
+    generateEventBracket(defs, SWHEN);
+    defs << "    _TRACE_BG_FORWARD_DEPS(logs1,logs2,"<< localnum << ",_bgParentLog);\n";
 #endif
-  op << "    ";
-  cn->generateDummyBeginExecute(op);
 
-  op << "        return;\n";
-}
+    // remove all messages fetched from SDAG buffers
+    defs << removeMessagesIfFound;
 
-void SdagConstruct::generateConnect(XStr& decls, XStr& defs, Entry* entry) {
-  generateSignature(decls, defs, entry, false, "void", label, false, NULL);
-  defs << "    int index;\n";
-  if ((param->isVoid() == 0) && (param->isMessage() == 0)) {
-     defs << "    CkMarshallMsg *x;\n";
-     defs << "    index = CkIndex_Ar1::" <<connectEntry <<"(x);\n";  //replace
-     defs << "    CkCallback cb(index, CkArrayIndex1D(thisIndex), a1);\n";  // replace
-  }
-  else if (param->isVoid() == 1) {
-     defs << "    index = CkIndex_Ar1::" <<connectEntry <<"(void);\n";  //replace
-     defs << "    CkCallback cb(index, CkArrayIndex1D(thisIndex), a1);\n";  // replace
-  }
-  else {
-     defs << "    " << param->getBaseName() <<" *x;\n";  // replace
-     defs << "    index = CkIndex_Ar1::" <<connectEntry <<"(x);\n";  //replace
-     defs << "    CkCallback cb(index, CkArrayIndex1D(thisIndex), a1);\n";  // replace
-  }
-  defs << "    myPublish->get_" <<connectEntry <<"(cb);\n";  //replace - myPublish
+    // make call to next method
+    defs << "    ";
 
-  endMethod(defs);
-}
+    if (constructs && !constructs->empty())
+      generateCall(defs, encapState, encapStateChild, constructs->front()->label);
+    else
+      generateCall(defs, encapState, encapStateChild, label, "_end");
 
-void SdagConstruct::generateForward(XStr& decls, XStr& defs, Entry* entry) {
-  generateSignature(decls, defs, entry, false, "void", label, false, stateVars);
-  for (list<SdagConstruct*>::iterator it = constructs->begin(); it != constructs->end();
-       ++it) {
-    defs << "    { ";
-    generateCall(defs, *stateVarsChildren, (*it)->text);
-    defs<<" }\n";
-  }
-  generateCall(defs, *stateVarsChildren, next->label, nextBeginOrEnd ? 0 : "_end");
-  endMethod(defs);
-}
+    // delete all buffered messages now that they are not needed
+    defs << deleteMessagesIfFound;
 
-void WhenConstruct::generateEntryName(XStr& defs, Entry* e, int curEntry) {
-  if ((e->paramIsMarshalled() == 1) || (e->param->isVoid() == 1))
-    defs << e->getEntryName() << "_" << curEntry;
-  else {
-    for (list<CStateVar*>::iterator it = e->stateVars.begin(); it != e->stateVars.end(); ++it) {
-      CStateVar* sv = *it;
-      defs << sv->name;
+    // remove the current speculative state for case statements
+    if (speculativeState)
+      defs << "    __dep->removeAllSpeculationIndex(" << speculativeState->name << "->speculationIndex);\n";
+  
+    defs << "    return 0;\n";
+    defs << "  } else {\n";
+    // did not find matching buffers, create a continuation
+
+    defs << "    SDAG::Continuation* c = new SDAG::Continuation(" << nodeNum << ");\n";
+
+    // iterate through current closures and save in a continuation
+    {
+      int cur = 0;
+      for (list<EncapState*>::iterator iter = encapState.begin(); iter != encapState.end(); ++iter, ++cur) {
+        EncapState& state = **iter;
+        defs << "    c->addClosure(";
+
+        // if the current state param is a message, create a thin wrapper for it
+        // (MsgClosure) for migration purposes
+        if (state.isMessage) defs << "new SDAG::MsgClosure(";
+        if (state.isBgParentLog) defs << "new SDAG::TransportableBigSimLog(";
+        state.name ? (defs << *state.name) : (defs << "gen" << cur);
+        if (state.isMessage || state.isBgParentLog) defs << ")";
+        defs << ");\n";
+      }
     }
-  }
-  defs << "_buf";
-}
 
-void WhenConstruct::generateCode(XStr& decls, XStr& defs, Entry* entry)
-{
-  sprintf(nameStr,"%s%s", CParsedFile::className->charstar(),label->charstar());
-  generateSignature(decls, defs, entry, false, "CWhenTrigger*", label, false, stateVars);
+    // save the continutation spec for restarting this context
+    defs << continutationSpec;
+
+    // register the newly formed continutation with the runtime
+    defs << "    __dep->reg(c);\n";
+
+    // return the continuation that was just created
+    defs << "    return c;\n";
+    defs << "  }\n";
+
+    endMethod(defs);
+
+    /**
+     *   Generate the ending of this 'when' clause, which calls the next in the
+     *   sequence and handling deallocation of messages
+     */
+
+    // generate the _end variant of this method
+    generateClosureSignature(decls, defs, entry, false, "void", label, true, encapStateChild);
+
 #if CMK_BIGSIM_CHARM
-  generateBeginTime(defs);
+    generateBeginTime(defs);
+    generateEventBracket(defs, SWHEN_END);
 #endif
 
-  CStateVar *sv;
-
-  Entry *e;
-  EntryList *el;
-  int curEntry = 0;
-  el = elist;
-  while (el != NULL){
-    e = el->entry;
-    if (e->param->isVoid() == 1)
-      defs << "    CMsgBuffer *" << e->getEntryName() << "_" << curEntry << "_buf;\n";
-    else if (e->paramIsMarshalled() == 1) {
-      defs << "    CMsgBuffer *" << e->getEntryName() << "_" << curEntry << "_buf;\n";
-      defs << "    CkMarshallMsg *" << e->getEntryName() << "_" << curEntry << "_msg;\n";
-    }
-    else {
-      for (list<CStateVar*>::iterator it = e->stateVars.begin(); it != e->stateVars.end();
-           ++it) {
-        sv = *it;
-        defs << "    CMsgBuffer *" << sv->name << "_buf;\n"
-             << "    " << sv->type << " " << sv->name << ";\n";
+    // decrease the reference count of any message state parameters
+    // that are going out of scope
+
+    // first check if we have any messages going out of scope
+    bool messageOutOfScope = false;
+    for (EntryList *el = elist; el != NULL; el = el->next, cur++)
+      if (el->entry->param->isMessage() == 1)
+        messageOutOfScope = true;
+
+    // first unravel the closures so the message names are correspond to the
+    // state variable names
+    if (messageOutOfScope) {
+      int indent = unravelClosuresBegin(defs, true);
+
+      // call CmiFree on each state variable going out of scope that is a message
+      // (i.e. the ones that are currently brought in scope by the current
+      // EntryList
+      for (EntryList *el = elist; el != NULL; el = el->next, cur++) {
+        if (el->entry->param->isMessage() == 1) {
+          CStateVar*& sv = *el->entry->stateVars.begin();
+          indentBy(defs, indent);
+          defs << "CmiFree(UsrToEnv(" << sv->name << "));\n";
+        }
       }
+
+      unravelClosuresEnd(defs, true);
     }
-    curEntry++;
-    el = el->next;
-  }
 
-  bool singleEntry = curEntry == 1;
+    // generate call to the next in the sequence
+    defs << "  ";
+    generateCall(defs, encapState, encapState, next->label, nextBeginOrEnd ? 0 : "_end");
 
-  defs << "\n";
-  if (!singleEntry) defs << "    std::set<CMsgBuffer*> found;\n";
-  el = elist;
-  curEntry = 0;
+    endMethod(defs);
 
-  while (el != NULL) {
-     e = el->entry;
+    generateChildrenCode(decls, defs, entry);
+  }
 
-     defs << "    ";
-     generateEntryName(defs, e, curEntry);
-     if (!singleEntry)
-       defs << " = __cDep->getMessage(" << e->entryPtr->entryNum;
-     else
-       defs << " = __cDep->getMessageSingle(" << e->entryPtr->entryNum;
+  void SdagConstruct::generateWhile(XStr& decls, XStr& defs, Entry* entry) {
+    generateClosureSignature(decls, defs, entry, false, "void", label, false, encapState);
+    defs << "  if (" << con1->text << ") {\n";
+    defs << "    ";
+    generateCall(defs, encapStateChild, encapStateChild, constructs->front()->label);
+    defs << "  } else {\n";
+    defs << "      ";
+    generateCall(defs, encapState, encapState, next->label, nextBeginOrEnd ? 0 : "_end");
+    defs << "  }\n";
+    endMethod(defs);
 
-     if (e->intExpr)
-       defs << ", " << e->intExpr;
-     defs << ((!singleEntry) ? ", found" : "") << ");\n";
+    generateClosureSignature(decls, defs, entry, false, "void", label, true, encapStateChild);
+    defs << "  if (" << con1->text << ") {\n";
+    defs << "    ";
+    generateCall(defs, encapStateChild, encapStateChild, constructs->front()->label);
+    defs << "  } else {\n";
+    defs << "      ";
+    generateCall(defs, encapState, encapState, next->label, nextBeginOrEnd ? 0 : "_end");
+    defs << "  }\n";
+    endMethod(defs);
+  }
 
-     if (!singleEntry) {
-       defs << "    found.insert(";
-       generateEntryName(defs, e, curEntry);
-       defs << ");\n\n";
-     }
+  void SdagConstruct::generateFor(XStr& decls, XStr& defs, Entry* entry) {
+    sprintf(nameStr,"%s%s", CParsedFile::className->charstar(),label->charstar());
 
-    el = el->next;
-    curEntry++;
-  }
+    generateClosureSignature(decls, defs, entry, false, "void", label, false, encapState);
+#if CMK_BIGSIM_CHARM
+    generateBeginTime(defs);
+#endif
 
-  defs << "\n";
-  defs << "    if (";
-  el = elist;
-  curEntry = 0;
-
-  while (el != NULL)  {
-     e = el->entry;
-     if ((e->paramIsMarshalled() == 1) || (e->param->isVoid() ==1)) {
-       defs << "(" << e->getEntryName() << "_" << curEntry << "_buf != 0)";
-     }
-     else {
-       sv = *(e->stateVars.begin());
-       defs << "(" << sv->name << "_buf != 0)";
-     }
-     el = el->next;
-     curEntry++;
-     if (el != NULL)
-        defs << "&&";
-  }
-  defs << ") {\n";
+    int indent = unravelClosuresBegin(defs);
 
+    indentBy(defs, indent);
+    defs << con1->text << ";\n";
+    //Record only the beginning for FOR
 #if CMK_BIGSIM_CHARM
-  // for tracing
-  //TODO: instead of this, add a length field to EntryList
-  int elen = 0;
-  for(el=elist; el!=NULL; el=elist->next) elen++;
-  defs << "         void * logs1["<< elen << "]; \n";
-  defs << "         void * logs2["<< elen + 1<< "]; \n";
-  int localnum = 0;
-
-  curEntry = 0;
-  for(el=elist; el!=NULL; el=elist->next) {
-    e = el->entry;
-       if ((e->paramIsMarshalled() == 1) || (e->param->isVoid() ==1)) {
-         defs << "       logs1[" << localnum << "] = " << e->getEntryName() << "_" << curEntry << "_buf->bgLog1; \n";
-         defs << "       logs2[" << localnum << "] = " << e->getEntryName() << "_" << curEntry << "_buf->bgLog2; \n";
-       localnum++;
-      }
-      else{
-       defs << "       logs1[" << localnum << "] = " << sv->name<< "_buf->bgLog1; \n";
-       defs << "       logs2[" << localnum << "] = " << sv->name << "_buf->bgLog2; \n";
-       localnum++;
-      }
-    curEntry++;
-  }
-      
-  defs << "       logs2[" << localnum << "] = " << "_bgParentLog; \n";
-  generateEventBracket(defs,SWHEN);
-  defs << "       _TRACE_BG_FORWARD_DEPS(logs1,logs2,"<< localnum << ",_bgParentLog);\n";
+    generateEventBracket(defs, SFOR);
 #endif
+    indentBy(defs, indent);
+    defs << "if (" << con2->text << ") {\n";
+    indentBy(defs, indent + 1);
+    generateCall(defs, encapStateChild, encapStateChild, constructs->front()->label);
+    indentBy(defs, indent);
+    defs << "} else {\n";
+    indentBy(defs, indent + 1);
+    generateCall(defs, encapState, encapState, next->label, nextBeginOrEnd ? 0 : "_end");
+    indentBy(defs, indent);
+    defs << "}\n";
+
+    unravelClosuresEnd(defs);
 
-  el = elist;
-  curEntry = 0;
-
-  while (el != NULL) {
-     e = el->entry;
-     if (e->param->isVoid() == 1) {
-       defs <<"       CkFreeSysMsg((void *) "<< e->getEntryName() << "_" << curEntry <<"_buf->msg);\n";
-       defs << "       __cDep->removeMessage(" << e->getEntryName() << "_" << curEntry <<
-              "_buf);\n";
-       defs << "      delete " << e->getEntryName() << "_" << curEntry << "_buf;\n";
-     }
-     else if (e->paramIsMarshalled() == 1) {
-       defs << "       " << e->getEntryName() << "_" << curEntry << "_msg = (CkMarshallMsg *)"
-            << e->getEntryName() << "_" << curEntry << "_buf->msg;\n";
-       defs << "       char *"<<e->getEntryName() << "_" << curEntry <<"_impl_buf=((CkMarshallMsg *)"
-            << e->getEntryName() << "_" << curEntry << "_msg)->msgBuf;\n";
-       defs <<"       PUP::fromMem " << e->getEntryName() << "_" << curEntry <<"_implP("
-            << e->getEntryName() << "_" << curEntry <<"_impl_buf);\n";
-
-        for (list<CStateVar*>::iterator it = e->stateVars.begin(); it != e->stateVars.end();
-             ++it) {
-        CStateVar *sv = *it;
-           if (sv->arrayLength != NULL)
-             defs << "       int impl_off_"<<sv->name
-                  << "; "<<e->getEntryName() << "_" << curEntry <<"_implP|impl_off_"
-                  << sv->name<<";\n";
-           else
-             defs << "       "<<sv->type<<" "<<sv->name
-                  << "; " <<e->getEntryName() << "_" << curEntry <<"_implP|"
-                  << sv->name<<";\n";
-       }
-        defs << "       " <<e->getEntryName() << "_" << curEntry << "_impl_buf+=CK_ALIGN("
-             << e->getEntryName() << "_" << curEntry << "_implP.size(),16);\n";
-        for (list<CStateVar*>::iterator it = e->stateVars.begin(); it != e->stateVars.end();
-             ++it) {
-          CStateVar *sv = *it;
-           if (sv->arrayLength != NULL)
-              defs << "       "<<sv->type<< " *" <<sv->name <<"=(" <<sv->type
-                   <<" *)(" << e->getEntryName() << "_" << curEntry << "_impl_buf+" <<"impl_off_"
-                   << sv->name <<");\n";
-        }
-        defs << "       __cDep->removeMessage(" << e->getEntryName() << "_" << curEntry << "_buf);\n";
-        defs << "       delete " << e->getEntryName() << "_" << curEntry << "_buf;\n";
-     }
-     else {  // There was a message as the only parameter
-        sv = *e->stateVars.begin();
-        defs << "       " << sv->name << " = (" <<
-              sv->type << ") " <<
-              sv->name << "_buf->msg;\n";
-        defs << "       __cDep->removeMessage(" << sv->name <<
-              "_buf);\n";
-        defs << "       delete " << sv->name << "_buf;\n";
-     }
-     el = el->next;
-     curEntry++;
-  }
+    endMethod(defs);
 
-  // max(current,merge) --> current, then reset the mergepath
-#ifdef USE_CRITICAL_PATH_HEADER_ARRAY
-  defs << "       " << label  << "_PathMergePoint.updateMax(currentlyExecutingPath); /* Critical Path Detection */ \n";
-  defs << "       currentlyExecutingPath = " << label  << "_PathMergePoint; /* Critical Path Detection */ \n";
-  defs << "       " << label  << "_PathMergePoint.reset(); /* Critical Path Detection */ \n";
+    // trace
+    sprintf(nameStr,"%s%s", CParsedFile::className->charstar(),label->charstar());
+    strcat(nameStr,"_end");
+
+    generateClosureSignature(decls, defs, entry, false, "void", label, true, encapStateChild);
+#if CMK_BIGSIM_CHARM
+    generateBeginTime(defs);
 #endif
+    indent = unravelClosuresBegin(defs);
+
+    indentBy(defs, indent);
+    defs << con3->text << ";\n";
+    indentBy(defs, indent);
+    defs << "if (" << con2->text << ") {\n";
+    indentBy(defs, indent + 1);
+    generateCall(defs, encapStateChild, encapStateChild, constructs->front()->label);
+    indentBy(defs, indent);
+    defs << "} else {\n";
+#if CMK_BIGSIM_CHARM
+    generateEventBracket(defs, SFOR_END);
+#endif
+    indentBy(defs, indent + 1);
+    generateCall(defs, encapState, encapState, next->label, nextBeginOrEnd ? 0 : "_end");
+    indentBy(defs, indent);
+    defs << "}\n";
+
+    unravelClosuresEnd(defs);
 
-  if (speculativeState) {
-    defs << "       __cDep->removeAllSpeculationIndex(" << speculativeState->name << "->speculationIndex);\n";
+    endMethod(defs);
   }
 
-  defs << "       ";
+  int SdagConstruct::unravelClosuresBegin(XStr& defs, bool child) {
+    int cur = 0;
 
-  if (constructs && !constructs->empty()) {
-    generateCall(defs, *stateVarsChildren, constructs->front()->label);
-  } else {
-    generateCall(defs, *stateVarsChildren, label, "_end");
-  }
+    list<EncapState*>& encaps = child ? encapStateChild : encapState;
 
-  el = elist;
-  curEntry = 0;
-  while (el != NULL){
-    e = el->entry;
-    if (e->paramIsMarshalled() == 1) {
-      defs << "       delete " << e->getEntryName() << "_" << curEntry << "_msg;\n";
-    }
-    el = el->next;
-    curEntry++;
-  }
-  defs << "       return 0;\n";
-  defs << "    } else {\n";
-
-  int nRefs=0, nAny=0;
-  el = elist;
-  while (el != NULL) {
-    e = el->entry;
-    if(e->intExpr == 0)
-      nAny++;
-    else
-      nRefs++;
-    el = el->next;
-  }
-// keep these consts consistent with sdag.h in runtime
+    // traverse all the state variables bring them into scope
+    for (list<EncapState*>::iterator iter = encaps.begin(); iter != encaps.end(); ++iter, ++cur) {
+      EncapState& state = **iter;
 
-#define MAXARG 8
-#define MAXANY 8
-#define MAXREF 8
+      indentBy(defs, cur + 1);
 
-  if(stateVars->size() > MAXARG) {
-    fprintf(stderr, "numStateVars more that %d, contact developers.\n",
-                    MAXARG);
-    exit(1);
-  }
-  if(nRefs > MAXREF) {
-    fprintf(stderr, "numDepends more that %d, contact developers.\n",
-                    MAXREF);
-    exit(1);
-  }
-  if(nAny > MAXANY) {
-    fprintf(stderr, "numDepends more that %d, contact developers.\n",
-                    MAXANY);
-    exit(1);
-  }
-  defs << "       CWhenTrigger *tr;\n";
-  defs << "       tr = new CWhenTrigger(" << nodeNum << ", " <<
-    (int)(stateVars->size()) << ", " << nRefs << ", " << nAny << ");\n";
-  int iArgs=0;
-//  defs << "       int impl_off=0;\n";
-  int hasArray = 0;
-  int numParamsNeedingMarshalling = 0;
-  int paramIndex =0;
-  for (list<CStateVar*>::iterator iter = stateVars->begin();
-       iter != stateVars->end();
-       ++iter) {
-    CStateVar *sv = *iter;
-    if (sv->isVoid == 1) {
-       defs << "       if (tr->args[" << iArgs << "]) delete tr->args[" << iArgs << "];\n";
-       defs << "       tr->args[" << iArgs++ << "] = NULL;\n";
-    }
-    else {
-      if (sv->isMsg == 1 && !sv->isCounter && !sv->isSpeculator && !sv->isBgParentLog) {
-         defs << "       if (tr->args[" << iArgs << "]) delete tr->args[" << iArgs << "];\n";
-         defs << "       tr->args[" << iArgs++ << "] = new TransportableMsg(" << sv->name << ");\n";
-      } else if (sv->isMsg == 1 && sv->isBgParentLog) {
-         defs << "       if (tr->args[" << iArgs << "]) delete tr->args[" << iArgs << "];\n";
-         defs << "       tr->args[" << iArgs++ << "] = new TransportableBigSimLog(" << sv->name << ");\n";
-      } else if (sv->isMsg == 1 && (sv->isCounter || sv->isSpeculator)) {
-         defs << "       if (tr->args[" << iArgs << "]) delete tr->args[" << iArgs << "];\n";
-         defs << "       tr->args[" << iArgs++ << "] = " << sv->name << ";\n";
-      } else {
-         numParamsNeedingMarshalling++;
-         if (numParamsNeedingMarshalling == 1) {
-           defs << "       int impl_off=0;\n";
-           paramIndex = iArgs;
-           iArgs++;
-         }
-      }
-      if (sv->arrayLength !=NULL) {
-         hasArray++;
-         if (hasArray == 1)
-           defs<< "       int impl_arrstart=0;\n";
-         defs <<"       int impl_off_"<<sv->name<<", impl_cnt_"<<sv->name<<";\n";
-         defs <<"       impl_off_"<<sv->name<<"=impl_off=CK_ALIGN(impl_off,sizeof("<<sv->type<<"));\n";
-         defs <<"       impl_off+=(impl_cnt_"<<sv->name<<"=sizeof("<<sv->type<<")*("<<sv->arrayLength<<"));\n";
+      defs << "{\n";
+
+      int i = 0;
+      for (list<CStateVar*>::iterator iter2 = state.vars.begin(); iter2 != state.vars.end(); ++iter2, ++i) {
+        CStateVar& var = **iter2;
+
+        // if the var is one of the following it a system state var that should
+        // not be brought into scope
+        if (!var.isCounter && !var.isSpeculator && !var.isBgParentLog) {
+          indentBy(defs, cur + 2);
+
+          defs << var.type << (var.arrayLength || var.isMsg ? "*" : "") << "& " << var.name << " = ";
+          state.name ? (defs << *state.name) : (defs << "gen" << cur);
+          if (!var.isMsg)
+            defs << "->" << "getP" << i << "();\n";
+          else
+            defs << ";\n";
+        }
       }
     }
-  }
-  if (numParamsNeedingMarshalling > 0) {
-     defs << "       { \n";
-     defs << "         PUP::sizer implP;\n";
-     for (list<CStateVar*>::iterator iter = stateVars->begin();
-          iter != stateVars->end();
-          ++iter) {
-       CStateVar *sv = *iter;
-       if (sv->arrayLength !=NULL)
-         defs << "         implP|impl_off_" <<sv->name <<";\n";
-       else if ((sv->isMsg != 1) && (sv->isVoid !=1)) 
-         defs << "         implP|" <<sv->name <<";\n";
-     }
-     if (hasArray > 0) {
-        defs <<"         impl_arrstart=CK_ALIGN(implP.size(),16);\n";
-        defs <<"         impl_off+=impl_arrstart;\n";
-     }
-     else {
-        defs << "         impl_off+=implP.size();\n";
-     }
-     defs << "       }\n";
-     defs << "       CkMarshallMsg *impl_msg;\n";
-     defs << "       impl_msg = CkAllocateMarshallMsg(impl_off,NULL);\n";
-     defs << "       {\n";
-     defs << "         PUP::toMem implP((void *)impl_msg->msgBuf);\n";
-     for (list<CStateVar*>::iterator iter = stateVars->begin();
-          iter != stateVars->end();
-          ++iter) {
-       CStateVar *sv = *iter;
-       if (sv->arrayLength !=NULL)
-          defs << "         implP|impl_off_" <<sv->name <<";\n";
-       else if ((sv->isMsg != 1) && (sv->isVoid != 1))  
-          defs << "         implP|" <<sv->name <<";\n";
-     }
-     defs << "       }\n";
-     if (hasArray > 0) {
-        defs <<"       char *impl_buf=impl_msg->msgBuf+impl_arrstart;\n";
-        for (list<CStateVar*>::iterator iter = stateVars->begin();
-             iter != stateVars->end();
-             ++iter) {
-          CStateVar *sv = *iter;
-          if (sv->arrayLength !=NULL)
-            defs << "       memcpy(impl_buf+impl_off_" << sv->name <<
-              "," << sv->name << ",impl_cnt_" << sv->name << ");\n";
-        }  
-     }
-  defs << "       if (tr->args[" << iArgs << "]) delete tr->args[" << iArgs << "];\n";
-  defs << "       tr->args[" <<paramIndex <<"] = new TransportableMsg(impl_msg);\n";
-  }
-  int iRef=0, iAny=0;
-
-  el = elist;
-  while (el != NULL) {
-    e = el->entry;
-    if(e->intExpr == 0) {
-      defs << "       tr->anyEntries[" << iAny++ << "] = " <<
-            e->entryPtr->entryNum << ";\n";
-    } else {
-      defs << "       tr->entries[" << iRef << "] = " <<
-            e->entryPtr->entryNum << ";\n";
-      defs << "       tr->refnums[" << iRef++ << "] = " <<
-            e->intExpr << ";\n";
-    }
-    el = el->next;
+
+    return cur + 1;
   }
 
-#ifdef USE_CRITICAL_PATH_HEADER_ARRAY
-  // max(current,merge) --> current
-  defs << "       " << label  << "_PathMergePoint.updateMax(currentlyExecutingPath); /* Critical Path Detection */ \n";
-  defs << "       currentlyExecutingPath = " << label  << "_PathMergePoint; /* Critical Path Detection */ \n";
-#endif
+  void SdagConstruct::unravelClosuresEnd(XStr& defs, bool child) {
+    list<EncapState*>& encaps = child ? encapStateChild : encapState;
 
-  defs << "       __cDep->Register(tr);\n";
-  defs << "       return tr;\n";
-  defs << "    }\n";
+    int cur = encaps.size();
 
-  endMethod(defs);
+    // traverse all the state variables bring them into scope
+    for (list<EncapState*>::iterator iter = encaps.begin(); iter != encaps.end(); ++iter, --cur) {
+      EncapState& state = **iter;
 
-  // trace
-  sprintf(nameStr,"%s%s", CParsedFile::className->charstar(),label->charstar());
-  strcat(nameStr,"_end");
+      indentBy(defs, cur);
 
-  generateSignature(decls, defs, entry, false, "void", label, true, stateVarsChildren);
-#if CMK_BIGSIM_CHARM
-  generateBeginTime(defs);
-  generateEventBracket(defs, SWHEN_END);
-#endif
-  defs << "    ";
-  generateCall(defs, *stateVars, next->label, nextBeginOrEnd ? 0 : "_end");
-  
-  el = elist;
-  while (el) {
-    e = el->entry;
-    if (e->param->isMessage() == 1) {
-      sv = *e->stateVars.begin();
-      defs << "    CmiFree(UsrToEnv(" << sv->name << "));\n";
+      defs << "}\n";
     }
-
-    el = el->next;
   }
 
-  endMethod(defs);
+  void SdagConstruct::generateIf(XStr& decls, XStr& defs, Entry* entry) {
+    strcpy(nameStr,label->charstar());
+    generateClosureSignature(decls, defs, entry, false, "void", label, false, encapState);
 
-  generateChildrenCode(decls, defs, entry);
-}
+#if CMK_BIGSIM_CHARM
+    generateBeginTime(defs);
+    generateEventBracket(defs, SIF);
+#endif
 
-void SdagConstruct::generateWhile(XStr& decls, XStr& defs, Entry* entry)
-{
-  generateSignature(decls, defs, entry, false, "void", label, false, stateVars);
-  defs << "    if (" << con1->text << ") {\n";
-  defs << "      ";
-  generateCall(defs, *stateVarsChildren, constructs->front()->label);
-  defs << "    } else {\n";
-  defs << "      ";
-  generateCall(defs, *stateVars, next->label, nextBeginOrEnd ? 0 : "_end");
-  defs << "    }\n";
-  endMethod(defs);
-
-  generateSignature(decls, defs, entry, false, "void", label, true, stateVarsChildren);
-  defs << "    if (" << con1->text << ") {\n";
-  defs << "      ";
-  generateCall(defs, *stateVarsChildren, constructs->front()->label);
-  defs << "    } else {\n";
-  defs << "      ";
-  generateCall(defs, *stateVars, next->label, nextBeginOrEnd ? 0 : "_end");
-  defs << "    }\n";
-  endMethod(defs);
-}
+    int indent = unravelClosuresBegin(defs);
+
+    indentBy(defs, indent);
+    defs << "if (" << con1->text << ") {\n";
+    indentBy(defs, indent + 1);
+    generateCall(defs,&n