Fixed CpdNotify which now returns the virtual PE in bigsim
authorFilippo Gioachin <gioachin@uiuc.edu>
Wed, 21 Apr 2010 23:51:58 +0000 (18:51 -0500)
committerFilippo Gioachin <gioachin@uiuc.edu>
Wed, 21 Apr 2010 23:51:58 +0000 (18:51 -0500)
src/conv-ccs/middle-ccs.C
src/conv-core/debug-conv.c

index f13a248cb89ad4ab9927372bed246458295ea5dc..68c74a5deb139d6bd6cac6fb79c05f4511c11e05 100644 (file)
@@ -150,3 +150,51 @@ void BgProcessMessageFreezeMode(threadInfo *t, char *msg) {
 #endif
 }
 #endif
+
+void PrintDebugStackTrace(void *);
+extern "C" void * MemoryToSlot(void *ptr);
+extern "C" int Slot_StackTrace(void *s, void ***stack);
+extern "C" int Slot_ChareOwner(void *s);
+
+#include <stdarg.h>
+void CpdNotify(int type, ...) {
+  void *ptr; int integer, i;
+  int levels=64;
+  void *stackPtrs[64];
+  void *sl;
+  va_list list;
+  va_start(list, type);
+  switch (type) {
+  case CPD_ABORT:
+    CmiPrintf("CPD: %d Abort %s\n",CmiMyPe(), va_arg(list, char*));
+    break;
+  case CPD_SIGNAL:
+    CmiPrintf("CPD: %d Signal %d\n",CmiMyPe(), va_arg(list, int));
+    break;
+  case CPD_FREEZE:
+    CmiPrintf("CPD: %d Freeze %d\n",CmiMyPe(),getpid());
+    break;
+  case CPD_BREAKPOINT:
+    CmiPrintf("CPD: %d BP %s\n",CmiMyPe(), va_arg(list, char*));
+    break;
+  case CPD_CROSSCORRUPTION:
+    ptr = va_arg(list, void*);
+    integer = va_arg(list, int);
+    CmiPrintf("CPD: %d Cross %p %d ",CmiMyPe(), ptr, integer);
+    sl = MemoryToSlot(ptr);
+    if (sl != NULL) {
+      int stackLen; void **stackTrace;
+      stackLen = Slot_StackTrace(sl, &stackTrace);
+      CmiPrintf("%d %d ",Slot_ChareOwner(sl),stackLen);
+      for (i=0; i<stackLen; ++i) CmiPrintf("%p ",stackTrace[i]);
+    } else {
+      CmiPrintf("0 ");
+    }
+    CmiBacktraceRecord(stackPtrs,1,&levels);
+    CmiPrintf("%d ",levels);
+    for (i=0; i<levels; ++i) CmiPrintf("%p ",stackPtrs[i]);
+    CmiPrintf("\n");
+    break;
+  }
+  va_end(list);
+}
index dbe5a5efbb59f6612a27f9e15daa3ab04965cd1f..3e3f2776622a5ccd28e98c8e0eafbb3a7f2ccc9b 100644 (file)
@@ -340,47 +340,3 @@ void CpdInit(void)
 
 }
 
-void PrintDebugStackTrace(void *);
-
-#include <stdarg.h>
-void CpdNotify(int type, ...) {
-  void *ptr; int integer, i;
-  int levels=64;
-  void *stackPtrs[64];
-  void *sl;
-  va_list list;
-  va_start(list, type);
-  switch (type) {
-  case CPD_ABORT:
-    CmiPrintf("CPD: %d Abort %s\n",CmiMyPe(), va_arg(list, char*));
-    break;
-  case CPD_SIGNAL:
-    CmiPrintf("CPD: %d Signal %d\n",CmiMyPe(), va_arg(list, int));
-    break;
-  case CPD_FREEZE:
-    CmiPrintf("CPD: %d Freeze %d\n",CmiMyPe(),getpid());
-    break;
-  case CPD_BREAKPOINT:
-    CmiPrintf("CPD: %d BP %s\n",CmiMyPe(), va_arg(list, char*));
-    break;
-  case CPD_CROSSCORRUPTION:
-    ptr = va_arg(list, void*);
-    integer = va_arg(list, int);
-    CmiPrintf("CPD: %d Cross %p %d ",CmiMyPe(), ptr, integer);
-    sl = MemoryToSlot(ptr);
-    if (sl != NULL) {
-      int stackLen; void **stackTrace;
-      stackLen = Slot_StackTrace(sl, &stackTrace);
-      CmiPrintf("%d %d ",Slot_ChareOwner(sl),stackLen);
-      for (i=0; i<stackLen; ++i) CmiPrintf("%p ",stackTrace[i]);
-    } else {
-      CmiPrintf("0 ");
-    }
-    CmiBacktraceRecord(stackPtrs,1,&levels);
-    CmiPrintf("%d ",levels);
-    for (i=0; i<levels; ++i) CmiPrintf("%p ",stackPtrs[i]);
-    CmiPrintf("\n");
-    break;
-  }
-  va_end(list);
-}